diff options
Diffstat (limited to 'src')
163 files changed, 22218 insertions, 18408 deletions
diff --git a/src/clint.py b/src/clint.py index 5174521fb8..69a061d2ab 100755 --- a/src/clint.py +++ b/src/clint.py @@ -182,6 +182,7 @@ _ERROR_CATEGORIES = [ 'build/include_order', 'build/printf_format', 'build/storage_class', + 'build/useless_fattr', 'readability/alt_tokens', 'readability/bool', 'readability/braces', @@ -1225,6 +1226,10 @@ def CheckForHeaderGuard(filename, lines, error): lines: An array of strings, each representing a line of the file. error: The function to call with any errors found. """ + if filename.endswith('.c.h') or FileInfo(filename).RelativePath() in set(( + 'func_attr.h', + )): + return cppvar = GetHeaderGuardCPPVariable(filename) @@ -2524,6 +2529,8 @@ def CheckSpacing(filename, clean_lines, linenum, nesting_state, error): r'(?<!\bklist_t)' r'(?<!\bkliter_t)' r'(?<!\bkhash_t)' + r'(?<!\bkbtree_t)' + r'(?<!\bkbitr_t)' r'\((?:const )?(?:struct )?[a-zA-Z_]\w*(?: *\*(?:const)?)*\)' r' +' r'-?(?:\*+|&)?(?:\w+|\+\+|--|\()', cast_line) @@ -2595,16 +2602,23 @@ def CheckBraces(filename, clean_lines, linenum, error): else: func_start_linenum = end_linenum + 1 while not clean_lines.lines[func_start_linenum] == '{': - if not Match(r'^(?:\s*\b(?:FUNC_ATTR|REAL_FATTR)_\w+\b(?:\(\d+(, \d+)*\))?)+$', - clean_lines.lines[func_start_linenum]): + attrline = Match(r'^((?!# *define).*?)(?:FUNC_ATTR|FUNC_API|REAL_FATTR)_\w+(?:\(\d+(, \d+)*\))?', + clean_lines.lines[func_start_linenum]) + if attrline: + if len(attrline.group(1)) != 2: + error(filename, func_start_linenum, + 'whitespace/indent', 5, + 'Function attribute line should have 2-space ' + 'indent') + + func_start_linenum += 1 + else: if clean_lines.lines[func_start_linenum].endswith('{'): error(filename, func_start_linenum, 'readability/braces', 5, 'Brace starting function body must be placed ' 'after the function signature') break - else: - func_start_linenum += 1 # An else clause should be on the same line as the preceding closing brace. # If there is no preceding closing brace, there should be one. diff --git a/src/nvim/CMakeLists.txt b/src/nvim/CMakeLists.txt index db5e62fd67..c46c0bed6d 100644 --- a/src/nvim/CMakeLists.txt +++ b/src/nvim/CMakeLists.txt @@ -11,30 +11,38 @@ endif() endif() set(TOUCHES_DIR ${PROJECT_BINARY_DIR}/touches) +set(GENERATOR_DIR ${CMAKE_CURRENT_LIST_DIR}/generators) set(GENERATED_DIR ${PROJECT_BINARY_DIR}/src/nvim/auto) -set(DISPATCH_GENERATOR ${PROJECT_SOURCE_DIR}/scripts/gendispatch.lua) -file(GLOB API_HEADERS api/*.h) -file(GLOB MSGPACK_RPC_HEADERS msgpack_rpc/*.h) +set(API_DISPATCH_GENERATOR ${GENERATOR_DIR}/gen_api_dispatch.lua) +set(API_UI_EVENTS_GENERATOR ${GENERATOR_DIR}/gen_api_ui_events.lua) set(API_METADATA ${PROJECT_BINARY_DIR}/api_metadata.mpack) set(FUNCS_DATA ${PROJECT_BINARY_DIR}/funcs_data.mpack) -set(HEADER_GENERATOR ${PROJECT_SOURCE_DIR}/scripts/gendeclarations.lua) +set(MSGPACK_LUA_C_BINDINGS ${GENERATED_DIR}/msgpack_lua_c_bindings.generated.c) +set(HEADER_GENERATOR ${GENERATOR_DIR}/gen_declarations.lua) set(GENERATED_INCLUDES_DIR ${PROJECT_BINARY_DIR}/include) set(GENERATED_API_DISPATCH ${GENERATED_DIR}/api/private/dispatch_wrappers.generated.h) set(GENERATED_FUNCS_METADATA ${GENERATED_DIR}/api/private/funcs_metadata.generated.h) +set(GENERATED_UI_EVENTS ${GENERATED_DIR}/ui_events.generated.h) +set(GENERATED_UI_EVENTS_CALL ${GENERATED_DIR}/ui_events_call.generated.h) +set(GENERATED_UI_EVENTS_REMOTE ${GENERATED_DIR}/ui_events_remote.generated.h) +set(GENERATED_UI_EVENTS_BRIDGE ${GENERATED_DIR}/ui_events_bridge.generated.h) +set(GENERATED_UI_EVENTS_METADATA ${GENERATED_DIR}/api/private/ui_events_metadata.generated.h) set(GENERATED_EX_CMDS_ENUM ${GENERATED_INCLUDES_DIR}/ex_cmds_enum.generated.h) set(GENERATED_EX_CMDS_DEFS ${GENERATED_DIR}/ex_cmds_defs.generated.h) set(GENERATED_FUNCS ${GENERATED_DIR}/funcs.generated.h) set(GENERATED_EVENTS_ENUM ${GENERATED_INCLUDES_DIR}/auevents_enum.generated.h) set(GENERATED_EVENTS_NAMES_MAP ${GENERATED_DIR}/auevents_name_map.generated.h) set(GENERATED_OPTIONS ${GENERATED_DIR}/options.generated.h) -set(EX_CMDS_GENERATOR ${PROJECT_SOURCE_DIR}/scripts/genex_cmds.lua) -set(FUNCS_GENERATOR ${PROJECT_SOURCE_DIR}/scripts/geneval.lua) -set(EVENTS_GENERATOR ${PROJECT_SOURCE_DIR}/scripts/gen_events.lua) -set(OPTIONS_GENERATOR ${PROJECT_SOURCE_DIR}/scripts/genoptions.lua) -set(UNICODE_TABLES_GENERATOR ${PROJECT_SOURCE_DIR}/scripts/genunicodetables.lua) +set(EX_CMDS_GENERATOR ${GENERATOR_DIR}/gen_ex_cmds.lua) +set(FUNCS_GENERATOR ${GENERATOR_DIR}/gen_eval.lua) +set(EVENTS_GENERATOR ${GENERATOR_DIR}/gen_events.lua) +set(OPTIONS_GENERATOR ${GENERATOR_DIR}/gen_options.lua) +set(UNICODE_TABLES_GENERATOR ${GENERATOR_DIR}/gen_unicode_tables.lua) set(UNICODE_DIR ${PROJECT_SOURCE_DIR}/unicode) -file(GLOB UNICODE_FILES ${UNICODE_DIR}/*.txt) set(GENERATED_UNICODE_TABLES ${GENERATED_DIR}/unicode_tables.generated.h) +set(VIM_MODULE_FILE ${GENERATED_DIR}/lua/vim_module.generated.h) +set(VIM_MODULE_SOURCE ${PROJECT_SOURCE_DIR}/src/nvim/lua/vim.lua) +set(CHAR_BLOB_GENERATOR ${GENERATOR_DIR}/gen_char_blob.lua) set(LINT_SUPPRESS_FILE ${PROJECT_BINARY_DIR}/errors.json) set(LINT_SUPPRESS_URL_BASE "https://raw.githubusercontent.com/neovim/doc/gh-pages/reports/clint") set(LINT_SUPPRESS_URL "${LINT_SUPPRESS_URL_BASE}/errors.json") @@ -46,6 +54,11 @@ set(LINT_SUPPRESSES_ARCHIVE ${LINT_SUPPRESSES_ROOT}/errors.tar.gz) set(LINT_SUPPRESSES_TOUCH_FILE "${TOUCHES_DIR}/unpacked-clint-errors-archive") set(LINT_SUPPRESSES_INSTALL_SCRIPT "${PROJECT_SOURCE_DIR}/cmake/InstallClintErrors.cmake") +file(GLOB UNICODE_FILES ${UNICODE_DIR}/*.txt) +file(GLOB API_HEADERS api/*.h) +list(REMOVE_ITEM API_HEADERS ${CMAKE_CURRENT_LIST_DIR}/api/ui_events.in.h) +file(GLOB MSGPACK_RPC_HEADERS msgpack_rpc/*.h) + include_directories(${GENERATED_DIR}) include_directories(${CACHED_GENERATED_DIR}) include_directories(${GENERATED_INCLUDES_DIR}) @@ -67,6 +80,7 @@ foreach(subdir tui event eval + lua ) if(${subdir} MATCHES "tui" AND NOT FEAT_TUI) continue() @@ -157,7 +171,7 @@ if(CLANG_ASAN_UBSAN OR CLANG_MSAN OR CLANG_TSAN) endif() get_directory_property(gen_includes INCLUDE_DIRECTORIES) -foreach(gen_include ${gen_includes}) +foreach(gen_include ${gen_includes} ${LUA_PREFERRED_INCLUDE_DIRS}) list(APPEND gen_cflags "-I${gen_include}") endforeach() string(TOUPPER "${CMAKE_BUILD_TYPE}" build_type) @@ -179,7 +193,11 @@ endfunction() # These lists must be mutually exclusive. foreach(sfile ${NVIM_SOURCES} "${CMAKE_CURRENT_LIST_DIR}/regexp_nfa.c" - ${GENERATED_API_DISPATCH}) + ${GENERATED_API_DISPATCH} + "${GENERATED_UI_EVENTS_CALL}" + "${GENERATED_UI_EVENTS_REMOTE}" + "${GENERATED_UI_EVENTS_BRIDGE}" + ) get_filename_component(full_d ${sfile} PATH) file(RELATIVE_PATH d "${CMAKE_CURRENT_LIST_DIR}" "${full_d}") if(${d} MATCHES "^[.][.]|auto/") @@ -219,18 +237,52 @@ add_custom_command(OUTPUT ${GENERATED_UNICODE_TABLES} ${UNICODE_FILES} ) -add_custom_command(OUTPUT ${GENERATED_API_DISPATCH} ${GENERATED_FUNCS_METADATA} - ${API_METADATA} - COMMAND ${LUA_PRG} ${DISPATCH_GENERATOR} ${CMAKE_CURRENT_LIST_DIR} - ${API_HEADERS} ${GENERATED_API_DISPATCH} +add_custom_command( + OUTPUT ${GENERATED_API_DISPATCH} ${GENERATED_FUNCS_METADATA} + ${API_METADATA} ${MSGPACK_LUA_C_BINDINGS} + COMMAND ${LUA_PRG} ${API_DISPATCH_GENERATOR} ${CMAKE_CURRENT_LIST_DIR} + ${GENERATED_API_DISPATCH} ${GENERATED_FUNCS_METADATA} ${API_METADATA} + ${MSGPACK_LUA_C_BINDINGS} + ${API_HEADERS} DEPENDS ${API_HEADERS} ${MSGPACK_RPC_HEADERS} - ${DISPATCH_GENERATOR} + ${API_DISPATCH_GENERATOR} ${CMAKE_CURRENT_LIST_DIR}/api/dispatch_deprecated.lua ) +add_custom_command( + OUTPUT ${VIM_MODULE_FILE} + COMMAND ${LUA_PRG} ${CHAR_BLOB_GENERATOR} ${VIM_MODULE_SOURCE} + ${VIM_MODULE_FILE} vim_module + DEPENDS + ${CHAR_BLOB_GENERATOR} + ${VIM_MODULE_SOURCE} +) + +list(APPEND NVIM_GENERATED_SOURCES + "${MSGPACK_LUA_C_BINDINGS}" +) + +add_custom_command( + OUTPUT ${GENERATED_UI_EVENTS} + ${GENERATED_UI_EVENTS_CALL} + ${GENERATED_UI_EVENTS_REMOTE} + ${GENERATED_UI_EVENTS_BRIDGE} + ${GENERATED_UI_EVENTS_METADATA} + COMMAND ${LUA_PRG} ${API_UI_EVENTS_GENERATOR} ${CMAKE_CURRENT_LIST_DIR} + ${CMAKE_CURRENT_LIST_DIR}/api/ui_events.in.h + ${GENERATED_UI_EVENTS} + ${GENERATED_UI_EVENTS_CALL} + ${GENERATED_UI_EVENTS_REMOTE} + ${GENERATED_UI_EVENTS_BRIDGE} + ${GENERATED_UI_EVENTS_METADATA} + DEPENDS + ${API_UI_EVENTS_GENERATOR} + ${CMAKE_CURRENT_LIST_DIR}/api/ui_events.in.h +) + list(APPEND NVIM_GENERATED_FOR_HEADERS "${GENERATED_EX_CMDS_ENUM}" "${GENERATED_EVENTS_ENUM}" @@ -242,6 +294,7 @@ list(APPEND NVIM_GENERATED_FOR_SOURCES "${GENERATED_EVENTS_NAMES_MAP}" "${GENERATED_OPTIONS}" "${GENERATED_UNICODE_TABLES}" + "${VIM_MODULE_FILE}" ) list(APPEND NVIM_GENERATED_SOURCES @@ -314,7 +367,13 @@ if(UNIX) ) endif() -set(NVIM_EXEC_LINK_LIBRARIES ${NVIM_LINK_LIBRARIES}) +set(NVIM_EXEC_LINK_LIBRARIES ${NVIM_LINK_LIBRARIES} ${LUA_PREFERRED_LIBRARIES}) + +if(CMAKE_VERSION VERSION_LESS "2.8.8") + # Use include_directories() because INCLUDE_DIRECTORIES target property + # is not supported + include_directories(${LUA_PREFERRED_INCLUDE_DIRS}) +endif() # Don't use jemalloc in the unit test library. if(JEMALLOC_FOUND) @@ -326,6 +385,9 @@ add_executable(nvim ${NVIM_GENERATED_FOR_SOURCES} ${NVIM_GENERATED_FOR_HEADERS} target_link_libraries(nvim ${NVIM_EXEC_LINK_LIBRARIES}) install_helper(TARGETS nvim) +set_property(TARGET nvim APPEND PROPERTY + INCLUDE_DIRECTORIES ${LUA_PREFERRED_INCLUDE_DIRS}) + if(WIN32) # Copy DLLs and third-party tools to bin/ and install them along with nvim add_custom_target(nvim_runtime_deps ALL @@ -372,6 +434,53 @@ if(WIN32) add_dependencies(nvim_runtime_deps external_blobs) endif() +add_library( + libnvim + STATIC + EXCLUDE_FROM_ALL + ${NVIM_SOURCES} ${NVIM_GENERATED_SOURCES} + ${NVIM_HEADERS} ${NVIM_GENERATED_FOR_SOURCES} ${NVIM_GENERATED_FOR_HEADERS} +) +set_property(TARGET libnvim APPEND PROPERTY + INCLUDE_DIRECTORIES ${LUA_PREFERRED_INCLUDE_DIRS}) +set_target_properties( + libnvim + PROPERTIES + POSITION_INDEPENDENT_CODE ON + OUTPUT_NAME nvim +) +set_property( + TARGET libnvim + APPEND_STRING PROPERTY COMPILE_FLAGS " -DMAKE_LIB " +) + +if(LUAJIT_FOUND) + set(NVIM_TEST_LINK_LIBRARIES ${NVIM_LINK_LIBRARIES} ${LUAJIT_LIBRARIES}) + add_library( + nvim-test + MODULE + EXCLUDE_FROM_ALL + ${NVIM_SOURCES} ${NVIM_GENERATED_SOURCES} + ${NVIM_HEADERS} ${NVIM_GENERATED_FOR_SOURCES} ${NVIM_GENERATED_FOR_HEADERS} + ${UNIT_TEST_FIXTURES} + ) + target_link_libraries(nvim-test ${NVIM_TEST_LINK_LIBRARIES}) + target_link_libraries(libnvim ${NVIM_TEST_LINK_LIBRARIES}) + set_property( + TARGET nvim-test + APPEND PROPERTY INCLUDE_DIRECTORIES ${LUAJIT_INCLUDE_DIRS} + ) + set_target_properties( + nvim-test + PROPERTIES + POSITION_INDEPENDENT_CODE ON + ) + set_property( + TARGET nvim-test + APPEND_STRING PROPERTY COMPILE_FLAGS " -DUNIT_TESTING " + ) +endif() + if(CLANG_ASAN_UBSAN) message(STATUS "Enabling Clang address sanitizer and undefined behavior sanitizer for nvim.") check_c_compiler_flag(-fno-sanitize-recover=all SANITIZE_RECOVER_ALL) @@ -396,19 +505,6 @@ elseif(CLANG_TSAN) set_property(TARGET nvim APPEND_STRING PROPERTY LINK_FLAGS "-fsanitize=thread ") endif() -add_library(libnvim STATIC EXCLUDE_FROM_ALL ${NVIM_GENERATED_FOR_SOURCES} ${NVIM_GENERATED_FOR_HEADERS} - ${NVIM_GENERATED_SOURCES} ${NVIM_SOURCES} ${NVIM_HEADERS}) -target_link_libraries(libnvim ${NVIM_LINK_LIBRARIES}) -set_target_properties(libnvim PROPERTIES - POSITION_INDEPENDENT_CODE ON - OUTPUT_NAME nvim) -set_property(TARGET libnvim APPEND_STRING PROPERTY COMPILE_FLAGS " -DMAKE_LIB ") - -add_library(nvim-test MODULE EXCLUDE_FROM_ALL ${NVIM_GENERATED_FOR_SOURCES} ${NVIM_GENERATED_FOR_HEADERS} - ${NVIM_GENERATED_SOURCES} ${NVIM_SOURCES} ${UNIT_TEST_FIXTURES} ${NVIM_HEADERS}) -target_link_libraries(nvim-test ${NVIM_LINK_LIBRARIES}) -set_property(TARGET nvim-test APPEND_STRING PROPERTY COMPILE_FLAGS -DUNIT_TESTING) - function(get_test_target prefix sfile relative_path_var target_var) get_filename_component(full_d "${sfile}" PATH) file(RELATIVE_PATH d "${PROJECT_SOURCE_DIR}/src/nvim" "${full_d}") @@ -429,38 +525,27 @@ function(get_test_target prefix sfile relative_path_var target_var) endfunction() set(NO_SINGLE_CHECK_HEADERS - if_cscope_defs.h - misc2.h - msgpack_rpc/server.h - option.h - os/shell.h - os_unix.h os/win_defs.h - popupmnu.h - quickfix.h - regexp.h regexp_defs.h - sha256.h - sign_defs.h - spell.h - spellfile.h syntax_defs.h - tag.h terminal.h - tui/tui.h undo.h undo_defs.h ) foreach(hfile ${NVIM_HEADERS}) get_test_target(test-includes "${hfile}" relative_path texe) - if(NOT ${hfile} MATCHES "[.]c[.]h$") + if(NOT ${hfile} MATCHES "[.](c|in)[.]h$") set(tsource "${GENERATED_DIR}/${relative_path}.test-include.c") write_file("${tsource}" "#include \"${hfile}\"\nint main(int argc, char **argv) { return 0; }") add_executable( ${texe} EXCLUDE_FROM_ALL ${tsource} ${NVIM_HEADERS} ${NVIM_GENERATED_FOR_HEADERS}) + set_property( + TARGET ${texe} + APPEND PROPERTY INCLUDE_DIRECTORIES ${LUA_PREFERRED_INCLUDE_DIRS} + ) list(FIND NO_SINGLE_CHECK_HEADERS "${relative_path}" hfile_exclude_idx) if(${hfile_exclude_idx} EQUAL -1) diff --git a/src/nvim/README.md b/src/nvim/README.md index f16c6de12f..3032913500 100644 --- a/src/nvim/README.md +++ b/src/nvim/README.md @@ -1,22 +1,27 @@ ## Source code overview -Since Neovim has inherited most code from Vim, some information in [its -README](https://raw.githubusercontent.com/vim/vim/master/src/README.txt) still -applies. +This document is an overview of how Nvim works internally, focusing on parts +that are different from Vim. Since Nvim inherited from Vim, some information in +[its README](https://raw.githubusercontent.com/vim/vim/master/src/README.txt) +still applies. -This document aims to give a high level overview of how Neovim works internally, -focusing on parts that are different from Vim. Currently this is still a work in -progress, especially because I have avoided adding too many details about parts -that are constantly changing. As the code becomes more organized and stable, -this document will be updated to reflect the changes. +For module-specific details, read the source code. Some files are extensively +commented at the top (e.g. terminal.c, screen.c). -If you are looking for module-specific details, it is best to read the source -code. Some files are extensively commented at the top (e.g. terminal.c, -screen.c). +### Source file name conventions + +The source files use extensions to hint about their purpose. + +- `*.c`, `*.generated.c` - full C files, with all includes, etc. +- `*.c.h` - parametrized C files, contain all necessary includes, but require + defining macros before actually using. Example: `typval_encode.c.h` +- `*.h` - full headers, with all includes. Does *not* apply to `*.generated.h`. +- `*.h.generated.h` - exported functions’ declarations. +- `*.c.generated.h` - static functions’ declarations. ### Top-level program loops -First let's understand what a Vim-like program does by analyzing the workflow of +Let's understand what a Vim-like program does by analyzing the workflow of a typical editing session: 01. Vim dispays the welcome screen @@ -41,16 +46,14 @@ a typical editing session: 21. User types: `word<ESC>` 22. Vim inserts "word" at the beginning and returns to normal mode -Note that we have split user actions into sequences of inputs that change the -state of the editor. While there's no documentation about a "g command -mode" (step 16), internally it is implemented similarly to "operator-pending -mode". +Note that we split user actions into sequences of inputs that change the state +of the editor. While there's no documentation about a "g command mode" (step +16), internally it is implemented similarly to "operator-pending mode". -From this we can see that Vim has the behavior of a input-driven state -machine (more specifically, a pushdown automaton since it requires a stack for +From this we can see that Vim has the behavior of an input-driven state machine +(more specifically, a pushdown automaton since it requires a stack for transitioning back from states). Assuming each state has a callback responsible -for handling keys, this pseudocode (a python-like language) shows a good -representation of the main program loop: +for handling keys, this pseudocode represents the main program loop: ```py def state_enter(state_callback, data): @@ -126,12 +129,11 @@ def insert_state(data, key): return true ``` -While the actual code is much more complicated, the above gives an idea of how -Neovim is organized internally. Some states like the `g_command_state` or -`get_operator_count_state` do not have a dedicated `state_enter` callback, but -are implicitly embedded into other states (this will change later as we continue -the refactoring effort). To start reading the actual code, here's the -recommended order: +The above gives an idea of how Nvim is organized internally. Some states like +the `g_command_state` or `get_operator_count_state` do not have a dedicated +`state_enter` callback, but are implicitly embedded into other states (this +will change later as we continue the refactoring effort). To start reading the +actual code, here's the recommended order: 1. `state_enter()` function (state.c). This is the actual program loop, note that a `VimState` structure is used, which contains function pointers @@ -154,14 +156,14 @@ modes managed by the `state_enter` loop: ### Async event support -One of the features Neovim added is the support for handling arbitrary +One of the features Nvim added is the support for handling arbitrary asynchronous events, which can include: -- msgpack-rpc requests +- RPC requests - job control callbacks -- timers (not implemented yet but the support code is already there) +- timers -Neovim implements this functionality by entering another event loop while +Nvim implements this functionality by entering another event loop while waiting for characters, so instead of: ```py @@ -171,7 +173,7 @@ def state_enter(state_callback, data): while state_callback(data, key) # invoke the callback for the current state ``` -Neovim program loop is more like: +Nvim program loop is more like: ```py def state_enter(state_callback, data): @@ -182,9 +184,9 @@ def state_enter(state_callback, data): where `event` is something the operating system delivers to us, including (but not limited to) user input. The `read_next_event()` part is internally -implemented by libuv, the platform layer used by Neovim. +implemented by libuv, the platform layer used by Nvim. -Since Neovim inherited its code from Vim, the states are not prepared to receive +Since Nvim inherited its code from Vim, the states are not prepared to receive "arbitrary events", so we use a special key to represent those (When a state receives an "arbitrary event", it normally doesn't do anything other update the screen). diff --git a/src/nvim/api/buffer.c b/src/nvim/api/buffer.c index ae5728ee21..82de8fd4a2 100644 --- a/src/nvim/api/buffer.c +++ b/src/nvim/api/buffer.c @@ -35,7 +35,7 @@ /// @param[out] err Error details, if any /// @return Line count Integer nvim_buf_line_count(Buffer buffer, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { buf_T *buf = find_buffer_by_handle(buffer, err); @@ -157,7 +157,7 @@ ArrayOf(String) nvim_buf_get_lines(uint64_t channel_id, Integer end, Boolean strict_indexing, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { Array rv = ARRAY_DICT_INIT; buf_T *buf = find_buffer_by_handle(buffer, err); @@ -195,7 +195,7 @@ ArrayOf(String) nvim_buf_get_lines(uint64_t channel_id, Object str = STRING_OBJ(cstr_to_string(bufstr)); // Vim represents NULs as NLs, but this may confuse clients. - if (channel_id != INTERNAL_CALL) { + if (channel_id != VIML_INTERNAL_CALL) { strchrsub(str.data.string.data, '\n', '\0'); } @@ -270,7 +270,7 @@ void nvim_buf_set_lines(uint64_t channel_id, Boolean strict_indexing, ArrayOf(String) replacement, // NOLINT Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { buf_T *buf = find_buffer_by_handle(buffer, err); @@ -295,6 +295,24 @@ void nvim_buf_set_lines(uint64_t channel_id, return; } + for (size_t i = 0; i < replacement.size; i++) { + if (replacement.items[i].type != kObjectTypeString) { + api_set_error(err, + kErrorTypeValidation, + "All items in the replacement array must be strings"); + return; + } + // Disallow newlines in the middle of the line. + if (channel_id != VIML_INTERNAL_CALL) { + const String l = replacement.items[i].data.string; + if (memchr(l.data, NL, l.size)) { + api_set_error(err, kErrorTypeValidation, + "String cannot contain newlines"); + return; + } + } + } + win_T *save_curwin = NULL; tabpage_T *save_curtab = NULL; size_t new_len = replacement.size; @@ -303,31 +321,16 @@ void nvim_buf_set_lines(uint64_t channel_id, char **lines = (new_len != 0) ? xcalloc(new_len, sizeof(char *)) : NULL; for (size_t i = 0; i < new_len; i++) { - if (replacement.items[i].type != kObjectTypeString) { - api_set_error(err, - kErrorTypeValidation, - "All items in the replacement array must be strings"); - goto end; - } - - String l = replacement.items[i].data.string; + const String l = replacement.items[i].data.string; - // Fill lines[i] with l's contents. Disallow newlines in the middle of a - // line and convert NULs to newlines to avoid truncation. - lines[i] = xmallocz(l.size); - for (size_t j = 0; j < l.size; j++) { - if (l.data[j] == '\n' && channel_id != INTERNAL_CALL) { - api_set_error(err, kErrorTypeException, - "String cannot contain newlines"); - new_len = i + 1; - goto end; - } - lines[i][j] = (char) (l.data[j] == '\0' ? '\n' : l.data[j]); - } + // Fill lines[i] with l's contents. Convert NULs to newlines as required by + // NL-used-for-NUL. + lines[i] = xmemdupz(l.data, l.size); + memchrsub(lines[i], NUL, NL, l.size); } try_start(); - bufref_T save_curbuf = { NULL, 0 }; + bufref_T save_curbuf = { NULL, 0, 0 }; switch_to_win_for_buf(buf, &save_curwin, &save_curtab, &save_curbuf); if (u_save((linenr_T)(start - 1), (linenr_T)end) == FAIL) { @@ -396,7 +399,7 @@ void nvim_buf_set_lines(uint64_t channel_id, // Only adjust marks if we managed to switch to a window that holds // the buffer, otherwise line numbers will be invalid. if (save_curbuf.br_buf == NULL) { - mark_adjust((linenr_T)start, (linenr_T)(end - 1), MAXLNUM, extra); + mark_adjust((linenr_T)start, (linenr_T)(end - 1), MAXLNUM, extra, false); } changed_lines((linenr_T)start, 0, (linenr_T)end, (long)extra); @@ -422,7 +425,7 @@ end: /// @param[out] err Error details, if any /// @return Variable value Object nvim_buf_get_var(Buffer buffer, String name, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { buf_T *buf = find_buffer_by_handle(buffer, err); @@ -439,7 +442,7 @@ Object nvim_buf_get_var(Buffer buffer, String name, Error *err) /// /// @return `b:changedtick` value. Integer nvim_buf_get_changedtick(Buffer buffer, Error *err) - FUNC_API_SINCE(2) + FUNC_API_SINCE(2) { const buf_T *const buf = find_buffer_by_handle(buffer, err); @@ -450,6 +453,26 @@ Integer nvim_buf_get_changedtick(Buffer buffer, Error *err) return buf->b_changedtick; } +/// Get a list of dictionaries describing buffer-local mappings +/// Note that the buffer key in the dictionary will represent the buffer +/// handle where the mapping is present +/// +/// @param mode The abbreviation for the mode +/// @param buffer_id Buffer handle +/// @param[out] err Error details, if any +/// @returns An array of maparg() like dictionaries describing mappings +ArrayOf(Dictionary) nvim_buf_get_keymap(Buffer buffer, String mode, Error *err) + FUNC_API_SINCE(3) +{ + buf_T *buf = find_buffer_by_handle(buffer, err); + + if (!buf) { + return (Array)ARRAY_DICT_INIT; + } + + return keymap_array(mode, buf); +} + /// Sets a buffer-scoped (b:) variable /// /// @param buffer Buffer handle @@ -457,7 +480,7 @@ Integer nvim_buf_get_changedtick(Buffer buffer, Error *err) /// @param value Variable value /// @param[out] err Error details, if any void nvim_buf_set_var(Buffer buffer, String name, Object value, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { buf_T *buf = find_buffer_by_handle(buffer, err); @@ -474,7 +497,7 @@ void nvim_buf_set_var(Buffer buffer, String name, Object value, Error *err) /// @param name Variable name /// @param[out] err Error details, if any void nvim_buf_del_var(Buffer buffer, String name, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { buf_T *buf = find_buffer_by_handle(buffer, err); @@ -535,7 +558,7 @@ Object buffer_del_var(Buffer buffer, String name, Error *err) /// @param[out] err Error details, if any /// @return Option value Object nvim_buf_get_option(Buffer buffer, String name, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { buf_T *buf = find_buffer_by_handle(buffer, err); @@ -554,7 +577,7 @@ Object nvim_buf_get_option(Buffer buffer, String name, Error *err) /// @param value Option value /// @param[out] err Error details, if any void nvim_buf_set_option(Buffer buffer, String name, Object value, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { buf_T *buf = find_buffer_by_handle(buffer, err); @@ -567,11 +590,15 @@ void nvim_buf_set_option(Buffer buffer, String name, Object value, Error *err) /// Gets the buffer number /// +/// @deprecated The buffer number now is equal to the object id, +/// so there is no need to use this function. +/// /// @param buffer Buffer handle /// @param[out] err Error details, if any /// @return Buffer number Integer nvim_buf_get_number(Buffer buffer, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) + FUNC_API_DEPRECATED_SINCE(2) { Integer rv = 0; buf_T *buf = find_buffer_by_handle(buffer, err); @@ -589,7 +616,7 @@ Integer nvim_buf_get_number(Buffer buffer, Error *err) /// @param[out] err Error details, if any /// @return Buffer name String nvim_buf_get_name(Buffer buffer, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { String rv = STRING_INIT; buf_T *buf = find_buffer_by_handle(buffer, err); @@ -607,7 +634,7 @@ String nvim_buf_get_name(Buffer buffer, Error *err) /// @param name Buffer name /// @param[out] err Error details, if any void nvim_buf_set_name(Buffer buffer, String name, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { buf_T *buf = find_buffer_by_handle(buffer, err); @@ -637,7 +664,7 @@ void nvim_buf_set_name(Buffer buffer, String name, Error *err) /// @param buffer Buffer handle /// @return true if the buffer is valid, false otherwise Boolean nvim_buf_is_valid(Buffer buffer) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { Error stub = ERROR_INIT; Boolean ret = find_buffer_by_handle(buffer, &stub) != NULL; @@ -671,7 +698,7 @@ void buffer_insert(Buffer buffer, /// @param[out] err Error details, if any /// @return (row, col) tuple ArrayOf(Integer, 2) nvim_buf_get_mark(Buffer buffer, String name, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { Array rv = ARRAY_DICT_INIT; buf_T *buf = find_buffer_by_handle(buffer, err); @@ -747,7 +774,7 @@ Integer nvim_buf_add_highlight(Buffer buffer, Integer col_start, Integer col_end, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { buf_T *buf = find_buffer_by_handle(buffer, err); if (!buf) { @@ -788,7 +815,7 @@ void nvim_buf_clear_highlight(Buffer buffer, Integer line_start, Integer line_end, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { buf_T *buf = find_buffer_by_handle(buffer, err); if (!buf) { diff --git a/src/nvim/api/private/defs.h b/src/nvim/api/private/defs.h index 60bf38265f..2144c80d6a 100644 --- a/src/nvim/api/private/defs.h +++ b/src/nvim/api/private/defs.h @@ -5,6 +5,8 @@ #include <stdbool.h> #include <string.h> +#include "nvim/func_attr.h" + #define ARRAY_DICT_INIT {.size = 0, .capacity = 0, .items = NULL} #define STRING_INIT {.data = NULL, .size = 0} #define OBJECT_INIT { .type = kObjectTypeNil } @@ -36,8 +38,27 @@ typedef enum { /// Used as the message ID of notifications. #define NO_RESPONSE UINT64_MAX -/// Used as channel_id when the call is local. -#define INTERNAL_CALL UINT64_MAX +/// Mask for all internal calls +#define INTERNAL_CALL_MASK (((uint64_t)1) << (sizeof(uint64_t) * 8 - 1)) + +/// Internal call from VimL code +#define VIML_INTERNAL_CALL INTERNAL_CALL_MASK + +/// Internal call from lua code +#define LUA_INTERNAL_CALL (VIML_INTERNAL_CALL + 1) + +static inline bool is_internal_call(uint64_t channel_id) + REAL_FATTR_ALWAYS_INLINE REAL_FATTR_CONST; + +/// Check whether call is internal +/// +/// @param[in] channel_id Channel id. +/// +/// @return true if channel_id refers to internal channel. +static inline bool is_internal_call(const uint64_t channel_id) +{ + return !!(channel_id & INTERNAL_CALL_MASK); +} typedef struct { ErrorType type; @@ -78,16 +99,17 @@ typedef struct { } Dictionary; typedef enum { - kObjectTypeBuffer, - kObjectTypeWindow, - kObjectTypeTabpage, - kObjectTypeNil, + kObjectTypeNil = 0, kObjectTypeBoolean, kObjectTypeInteger, kObjectTypeFloat, kObjectTypeString, kObjectTypeArray, kObjectTypeDictionary, + // EXT types, cannot be split or reordered, see #EXT_OBJECT_TYPE_SHIFT + kObjectTypeBuffer, + kObjectTypeWindow, + kObjectTypeTabpage, } ObjectType; struct object { diff --git a/src/nvim/api/private/helpers.c b/src/nvim/api/private/helpers.c index 69cb19c14f..d401ae52a0 100644 --- a/src/nvim/api/private/helpers.c +++ b/src/nvim/api/private/helpers.c @@ -24,6 +24,7 @@ #include "nvim/option_defs.h" #include "nvim/version.h" #include "nvim/lib/kvec.h" +#include "nvim/getchar.h" /// Helper structure for vim_to_object typedef struct { @@ -33,6 +34,7 @@ typedef struct { #ifdef INCLUDE_GENERATED_DECLARATIONS # include "api/private/helpers.c.generated.h" # include "api/private/funcs_metadata.generated.h" +# include "api/private/ui_events_metadata.generated.h" #endif /// Start block that may cause vimscript exceptions @@ -353,7 +355,7 @@ void set_option_to(void *to, int type, String name, Object value, Error *err) #define TYPVAL_ENCODE_CONV_UNSIGNED_NUMBER TYPVAL_ENCODE_CONV_NUMBER #define TYPVAL_ENCODE_CONV_FLOAT(tv, flt) \ - kv_push(edata->stack, FLOATING_OBJ((Float)(flt))) + kv_push(edata->stack, FLOAT_OBJ((Float)(flt))) #define TYPVAL_ENCODE_CONV_STRING(tv, str, len) \ do { \ @@ -820,6 +822,7 @@ Dictionary api_metadata(void) if (!metadata.size) { PUT(metadata, "version", DICTIONARY_OBJ(version_dict())); init_function_metadata(&metadata); + init_ui_event_metadata(&metadata); init_error_type_metadata(&metadata); init_type_metadata(&metadata); } @@ -843,6 +846,22 @@ static void init_function_metadata(Dictionary *metadata) PUT(*metadata, "functions", functions); } +static void init_ui_event_metadata(Dictionary *metadata) +{ + msgpack_unpacked unpacked; + msgpack_unpacked_init(&unpacked); + if (msgpack_unpack_next(&unpacked, + (const char *)ui_events_metadata, + sizeof(ui_events_metadata), + NULL) != MSGPACK_UNPACK_SUCCESS) { + abort(); + } + Object ui_events; + msgpack_rpc_to_object(&unpacked.data, &ui_events); + msgpack_unpacked_destroy(&unpacked); + PUT(*metadata, "ui_events", ui_events); +} + static void init_error_type_metadata(Dictionary *metadata) { Dictionary types = ARRAY_DICT_INIT; @@ -864,15 +883,18 @@ static void init_type_metadata(Dictionary *metadata) Dictionary types = ARRAY_DICT_INIT; Dictionary buffer_metadata = ARRAY_DICT_INIT; - PUT(buffer_metadata, "id", INTEGER_OBJ(kObjectTypeBuffer)); + PUT(buffer_metadata, "id", + INTEGER_OBJ(kObjectTypeBuffer - EXT_OBJECT_TYPE_SHIFT)); PUT(buffer_metadata, "prefix", STRING_OBJ(cstr_to_string("nvim_buf_"))); Dictionary window_metadata = ARRAY_DICT_INIT; - PUT(window_metadata, "id", INTEGER_OBJ(kObjectTypeWindow)); + PUT(window_metadata, "id", + INTEGER_OBJ(kObjectTypeWindow - EXT_OBJECT_TYPE_SHIFT)); PUT(window_metadata, "prefix", STRING_OBJ(cstr_to_string("nvim_win_"))); Dictionary tabpage_metadata = ARRAY_DICT_INIT; - PUT(tabpage_metadata, "id", INTEGER_OBJ(kObjectTypeTabpage)); + PUT(tabpage_metadata, "id", + INTEGER_OBJ(kObjectTypeTabpage - EXT_OBJECT_TYPE_SHIFT)); PUT(tabpage_metadata, "prefix", STRING_OBJ(cstr_to_string("nvim_tabpage_"))); PUT(types, "Buffer", DICTIONARY_OBJ(buffer_metadata)); @@ -882,6 +904,24 @@ static void init_type_metadata(Dictionary *metadata) PUT(*metadata, "types", DICTIONARY_OBJ(types)); } +String copy_string(String str) +{ + if (str.data != NULL) { + return (String){ .data = xmemdupz(str.data, str.size), .size = str.size }; + } else { + return (String)STRING_INIT; + } +} + +Array copy_array(Array array) +{ + Array rv = ARRAY_DICT_INIT; + for (size_t i = 0; i < array.size; i++) { + ADD(rv, copy_object(array.items[i])); + } + return rv; +} + /// Creates a deep clone of an object Object copy_object(Object obj) { @@ -893,15 +933,10 @@ Object copy_object(Object obj) return obj; case kObjectTypeString: - return STRING_OBJ(cstr_to_string(obj.data.string.data)); + return STRING_OBJ(copy_string(obj.data.string)); - case kObjectTypeArray: { - Array rv = ARRAY_DICT_INIT; - for (size_t i = 0; i < obj.data.array.size; i++) { - ADD(rv, copy_object(obj.data.array.items[i])); - } - return ARRAY_OBJ(rv); - } + case kObjectTypeArray: + return ARRAY_OBJ(copy_array(obj.data.array)); case kObjectTypeDictionary: { Dictionary rv = ARRAY_DICT_INIT; @@ -926,7 +961,7 @@ static void set_option_value_for(char *key, { win_T *save_curwin = NULL; tabpage_T *save_curtab = NULL; - bufref_T save_curbuf = { NULL, 0 }; + bufref_T save_curbuf = { NULL, 0, 0 }; try_start(); switch (opt_type) @@ -1000,3 +1035,41 @@ void api_set_error(Error *err, ErrorType errType, const char *format, ...) err->type = errType; } + +/// Get an array containing dictionaries describing mappings +/// based on mode and buffer id +/// +/// @param mode The abbreviation for the mode +/// @param buf The buffer to get the mapping array. NULL for global +/// @returns An array of maparg() like dictionaries describing mappings +ArrayOf(Dictionary) keymap_array(String mode, buf_T *buf) +{ + Array mappings = ARRAY_DICT_INIT; + dict_T *const dict = tv_dict_alloc(); + + // Convert the string mode to the integer mode + // that is stored within each mapblock + char_u *p = (char_u *)mode.data; + int int_mode = get_map_mode(&p, 0); + + // Determine the desired buffer value + long buffer_value = (buf == NULL) ? 0 : buf->handle; + + for (int i = 0; i < MAX_MAPHASH; i++) { + for (const mapblock_T *current_maphash = get_maphash(i, buf); + current_maphash; + current_maphash = current_maphash->m_next) { + // Check for correct mode + if (int_mode & current_maphash->m_mode) { + mapblock_fill_dict(dict, current_maphash, buffer_value, false); + ADD(mappings, vim_to_object( + (typval_T[]) { { .v_type = VAR_DICT, .vval.v_dict = dict } })); + + tv_dict_clear(dict); + } + } + } + tv_dict_free(dict); + + return mappings; +} diff --git a/src/nvim/api/private/helpers.h b/src/nvim/api/private/helpers.h index 681945ac9c..159b9d5c2a 100644 --- a/src/nvim/api/private/helpers.h +++ b/src/nvim/api/private/helpers.h @@ -18,7 +18,7 @@ .type = kObjectTypeInteger, \ .data.integer = i }) -#define FLOATING_OBJ(f) ((Object) { \ +#define FLOAT_OBJ(f) ((Object) { \ .type = kObjectTypeFloat, \ .data.floating = f }) diff --git a/src/nvim/api/tabpage.c b/src/nvim/api/tabpage.c index 6f2f9e1d2a..b6830d9fcf 100644 --- a/src/nvim/api/tabpage.c +++ b/src/nvim/api/tabpage.c @@ -18,7 +18,7 @@ /// @param[out] err Error details, if any /// @return List of windows in `tabpage` ArrayOf(Window) nvim_tabpage_list_wins(Tabpage tabpage, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { Array rv = ARRAY_DICT_INIT; tabpage_T *tab = find_tab_by_handle(tabpage, err); @@ -48,7 +48,7 @@ ArrayOf(Window) nvim_tabpage_list_wins(Tabpage tabpage, Error *err) /// @param[out] err Error details, if any /// @return Variable value Object nvim_tabpage_get_var(Tabpage tabpage, String name, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { tabpage_T *tab = find_tab_by_handle(tabpage, err); @@ -69,7 +69,7 @@ void nvim_tabpage_set_var(Tabpage tabpage, String name, Object value, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { tabpage_T *tab = find_tab_by_handle(tabpage, err); @@ -86,7 +86,7 @@ void nvim_tabpage_set_var(Tabpage tabpage, /// @param name Variable name /// @param[out] err Error details, if any void nvim_tabpage_del_var(Tabpage tabpage, String name, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { tabpage_T *tab = find_tab_by_handle(tabpage, err); @@ -145,7 +145,7 @@ Object tabpage_del_var(Tabpage tabpage, String name, Error *err) /// @param[out] err Error details, if any /// @return Window handle Window nvim_tabpage_get_win(Tabpage tabpage, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { Window rv = 0; tabpage_T *tab = find_tab_by_handle(tabpage, err); @@ -173,7 +173,7 @@ Window nvim_tabpage_get_win(Tabpage tabpage, Error *err) /// @param[out] err Error details, if any /// @return Tabpage number Integer nvim_tabpage_get_number(Tabpage tabpage, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { Integer rv = 0; tabpage_T *tab = find_tab_by_handle(tabpage, err); @@ -190,7 +190,7 @@ Integer nvim_tabpage_get_number(Tabpage tabpage, Error *err) /// @param tabpage Tabpage handle /// @return true if the tabpage is valid, false otherwise Boolean nvim_tabpage_is_valid(Tabpage tabpage) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { Error stub = ERROR_INIT; Boolean ret = find_tab_by_handle(tabpage, &stub) != NULL; diff --git a/src/nvim/api/ui.c b/src/nvim/api/ui.c index f0da0d1812..573be23d8e 100644 --- a/src/nvim/api/ui.c +++ b/src/nvim/api/ui.c @@ -19,6 +19,7 @@ #ifdef INCLUDE_GENERATED_DECLARATIONS # include "api/ui.c.generated.h" +# include "ui_events_remote.generated.h" #endif typedef struct { @@ -29,13 +30,13 @@ typedef struct { static PMap(uint64_t) *connected_uis = NULL; void remote_ui_init(void) - FUNC_API_NOEXPORT + FUNC_API_NOEXPORT { connected_uis = pmap_new(uint64_t)(); } void remote_ui_disconnect(uint64_t channel_id) - FUNC_API_NOEXPORT + FUNC_API_NOEXPORT { UI *ui = pmap_get(uint64_t)(connected_uis, channel_id); if (!ui) { @@ -52,7 +53,7 @@ void remote_ui_disconnect(uint64_t channel_id) void nvim_ui_attach(uint64_t channel_id, Integer width, Integer height, Dictionary options, Error *err) - FUNC_API_SINCE(1) FUNC_API_NOEVAL + FUNC_API_SINCE(1) FUNC_API_REMOTE_ONLY { if (pmap_has(uint64_t)(connected_uis, channel_id)) { api_set_error(err, kErrorTypeException, "UI already attached for channel"); @@ -68,7 +69,6 @@ void nvim_ui_attach(uint64_t channel_id, Integer width, Integer height, ui->width = (int)width; ui->height = (int)height; ui->rgb = true; - ui->pum_external = false; ui->resize = remote_ui_resize; ui->clear = remote_ui_clear; ui->eol_clear = remote_ui_eol_clear; @@ -95,6 +95,8 @@ void nvim_ui_attach(uint64_t channel_id, Integer width, Integer height, ui->set_icon = remote_ui_set_icon; ui->event = remote_ui_event; + memset(ui->ui_ext, 0, sizeof(ui->ui_ext)); + for (size_t i = 0; i < options.size; i++) { ui_set_option(ui, options.items[i].key, options.items[i].value, err); if (ERROR_SET(err)) { @@ -123,7 +125,7 @@ void ui_attach(uint64_t channel_id, Integer width, Integer height, } void nvim_ui_detach(uint64_t channel_id, Error *err) - FUNC_API_SINCE(1) FUNC_API_NOEVAL + FUNC_API_SINCE(1) FUNC_API_REMOTE_ONLY { if (!pmap_has(uint64_t)(connected_uis, channel_id)) { api_set_error(err, kErrorTypeException, "UI is not attached for channel"); @@ -135,7 +137,7 @@ void nvim_ui_detach(uint64_t channel_id, Error *err) void nvim_ui_try_resize(uint64_t channel_id, Integer width, Integer height, Error *err) - FUNC_API_SINCE(1) FUNC_API_NOEVAL + FUNC_API_SINCE(1) FUNC_API_REMOTE_ONLY { if (!pmap_has(uint64_t)(connected_uis, channel_id)) { api_set_error(err, kErrorTypeException, "UI is not attached for channel"); @@ -156,7 +158,7 @@ void nvim_ui_try_resize(uint64_t channel_id, Integer width, void nvim_ui_set_option(uint64_t channel_id, String name, Object value, Error *error) - FUNC_API_SINCE(1) FUNC_API_NOEVAL + FUNC_API_SINCE(1) FUNC_API_REMOTE_ONLY { if (!pmap_has(uint64_t)(connected_uis, channel_id)) { api_set_error(error, kErrorTypeException, "UI is not attached for channel"); @@ -170,23 +172,47 @@ void nvim_ui_set_option(uint64_t channel_id, String name, } } -static void ui_set_option(UI *ui, String name, Object value, Error *error) { - if (strcmp(name.data, "rgb") == 0) { +static void ui_set_option(UI *ui, String name, Object value, Error *error) +{ +#define UI_EXT_OPTION(o, e) \ + do { \ + if (strequal(name.data, #o)) { \ + if (value.type != kObjectTypeBoolean) { \ + api_set_error(error, kErrorTypeValidation, #o " must be a Boolean"); \ + return; \ + } \ + ui->ui_ext[(e)] = value.data.boolean; \ + return; \ + } \ + } while (0) + + if (strequal(name.data, "rgb")) { if (value.type != kObjectTypeBoolean) { api_set_error(error, kErrorTypeValidation, "rgb must be a Boolean"); return; } ui->rgb = value.data.boolean; - } else if (strcmp(name.data, "popupmenu_external") == 0) { + return; + } + + UI_EXT_OPTION(ext_cmdline, kUICmdline); + UI_EXT_OPTION(ext_popupmenu, kUIPopupmenu); + UI_EXT_OPTION(ext_tabline, kUITabline); + UI_EXT_OPTION(ext_wildmenu, kUIWildmenu); + + if (strequal(name.data, "popupmenu_external")) { + // LEGACY: Deprecated option, use `ui_ext` instead. if (value.type != kObjectTypeBoolean) { api_set_error(error, kErrorTypeValidation, "popupmenu_external must be a Boolean"); return; } - ui->pum_external = value.data.boolean; - } else { - api_set_error(error, kErrorTypeValidation, "No such ui option"); + ui->ui_ext[kUIPopupmenu] = value.data.boolean; + return; } + + api_set_error(error, kErrorTypeValidation, "No such ui option"); +#undef UI_EXT_OPTION } static void push_call(UI *ui, char *name, Array args) @@ -211,100 +237,6 @@ static void push_call(UI *ui, char *name, Array args) kv_A(data->buffer, kv_size(data->buffer) - 1).data.array = call; } -static void remote_ui_resize(UI *ui, int width, int height) -{ - Array args = ARRAY_DICT_INIT; - ADD(args, INTEGER_OBJ(width)); - ADD(args, INTEGER_OBJ(height)); - push_call(ui, "resize", args); -} - -static void remote_ui_clear(UI *ui) -{ - Array args = ARRAY_DICT_INIT; - push_call(ui, "clear", args); -} - -static void remote_ui_eol_clear(UI *ui) -{ - Array args = ARRAY_DICT_INIT; - push_call(ui, "eol_clear", args); -} - -static void remote_ui_cursor_goto(UI *ui, int row, int col) -{ - Array args = ARRAY_DICT_INIT; - ADD(args, INTEGER_OBJ(row)); - ADD(args, INTEGER_OBJ(col)); - push_call(ui, "cursor_goto", args); -} - -static void remote_ui_update_menu(UI *ui) -{ - Array args = ARRAY_DICT_INIT; - push_call(ui, "update_menu", args); -} - -static void remote_ui_busy_start(UI *ui) -{ - Array args = ARRAY_DICT_INIT; - push_call(ui, "busy_start", args); -} - -static void remote_ui_busy_stop(UI *ui) -{ - Array args = ARRAY_DICT_INIT; - push_call(ui, "busy_stop", args); -} - -static void remote_ui_mouse_on(UI *ui) -{ - Array args = ARRAY_DICT_INIT; - push_call(ui, "mouse_on", args); -} - -static void remote_ui_mouse_off(UI *ui) -{ - Array args = ARRAY_DICT_INIT; - push_call(ui, "mouse_off", args); -} - -static void remote_ui_mode_change(UI *ui, int mode_idx) -{ - Array args = ARRAY_DICT_INIT; - - char *full_name = shape_table[mode_idx].full_name; - ADD(args, STRING_OBJ(cstr_to_string(full_name))); - - ADD(args, INTEGER_OBJ(mode_idx)); - push_call(ui, "mode_change", args); -} - -static void remote_ui_set_scroll_region(UI *ui, int top, int bot, int left, - int right) -{ - Array args = ARRAY_DICT_INIT; - ADD(args, INTEGER_OBJ(top)); - ADD(args, INTEGER_OBJ(bot)); - ADD(args, INTEGER_OBJ(left)); - ADD(args, INTEGER_OBJ(right)); - push_call(ui, "set_scroll_region", args); -} - -static void remote_ui_scroll(UI *ui, int count) -{ - Array args = ARRAY_DICT_INIT; - ADD(args, INTEGER_OBJ(count)); - push_call(ui, "scroll", args); -} - -static void remote_ui_mode_info_set(UI *ui, bool guicursor_enabled, Array data) -{ - Array args = ARRAY_DICT_INIT; - ADD(args, BOOLEAN_OBJ(guicursor_enabled)); - ADD(args, copy_object(ARRAY_OBJ(data))); - push_call(ui, "mode_info_set", args); -} static void remote_ui_highlight_set(UI *ui, HlAttrs attrs) { @@ -347,47 +279,6 @@ static void remote_ui_highlight_set(UI *ui, HlAttrs attrs) push_call(ui, "highlight_set", args); } -static void remote_ui_put(UI *ui, uint8_t *data, size_t size) -{ - Array args = ARRAY_DICT_INIT; - String str = { .data = xmemdupz(data, size), .size = size }; - ADD(args, STRING_OBJ(str)); - push_call(ui, "put", args); -} - -static void remote_ui_bell(UI *ui) -{ - Array args = ARRAY_DICT_INIT; - push_call(ui, "bell", args); -} - -static void remote_ui_visual_bell(UI *ui) -{ - Array args = ARRAY_DICT_INIT; - push_call(ui, "visual_bell", args); -} - -static void remote_ui_update_fg(UI *ui, int fg) -{ - Array args = ARRAY_DICT_INIT; - ADD(args, INTEGER_OBJ(fg)); - push_call(ui, "update_fg", args); -} - -static void remote_ui_update_bg(UI *ui, int bg) -{ - Array args = ARRAY_DICT_INIT; - ADD(args, INTEGER_OBJ(bg)); - push_call(ui, "update_bg", args); -} - -static void remote_ui_update_sp(UI *ui, int sp) -{ - Array args = ARRAY_DICT_INIT; - ADD(args, INTEGER_OBJ(sp)); - push_call(ui, "update_sp", args); -} - static void remote_ui_flush(UI *ui) { UIData *data = ui->data; @@ -397,26 +288,6 @@ static void remote_ui_flush(UI *ui) } } -static void remote_ui_suspend(UI *ui) -{ - Array args = ARRAY_DICT_INIT; - push_call(ui, "suspend", args); -} - -static void remote_ui_set_title(UI *ui, char *title) -{ - Array args = ARRAY_DICT_INIT; - ADD(args, STRING_OBJ(cstr_to_string(title))); - push_call(ui, "set_title", args); -} - -static void remote_ui_set_icon(UI *ui, char *icon) -{ - Array args = ARRAY_DICT_INIT; - ADD(args, STRING_OBJ(cstr_to_string(icon))); - push_call(ui, "set_icon", args); -} - static void remote_ui_event(UI *ui, char *name, Array args, bool *args_consumed) { Array my_args = ARRAY_DICT_INIT; diff --git a/src/nvim/api/ui_events.in.h b/src/nvim/api/ui_events.in.h new file mode 100644 index 0000000000..1b5d17584f --- /dev/null +++ b/src/nvim/api/ui_events.in.h @@ -0,0 +1,71 @@ +#ifndef NVIM_API_UI_EVENTS_IN_H +#define NVIM_API_UI_EVENTS_IN_H + +// This file is not compiled, just parsed for definitons +#ifdef INCLUDE_GENERATED_DECLARATIONS +# error "don't include this file, include nvim/ui.h" +#endif + +#include "nvim/api/private/defs.h" +#include "nvim/func_attr.h" +#include "nvim/ui.h" + +void resize(Integer rows, Integer columns) + FUNC_API_SINCE(3); +void clear(void) + FUNC_API_SINCE(3); +void eol_clear(void) + FUNC_API_SINCE(3); +void cursor_goto(Integer row, Integer col) + FUNC_API_SINCE(3); +void mode_info_set(Boolean enabled, Array cursor_styles) + FUNC_API_SINCE(3); +void update_menu(void) + FUNC_API_SINCE(3); +void busy_start(void) + FUNC_API_SINCE(3); +void busy_stop(void) + FUNC_API_SINCE(3); +void mouse_on(void) + FUNC_API_SINCE(3); +void mouse_off(void) + FUNC_API_SINCE(3); +void mode_change(String mode, Integer mode_idx) + FUNC_API_SINCE(3); +void set_scroll_region(Integer top, Integer bot, Integer left, Integer right) + FUNC_API_SINCE(3); +void scroll(Integer count) + FUNC_API_SINCE(3); +void highlight_set(HlAttrs attrs) + FUNC_API_SINCE(3) FUNC_API_REMOTE_IMPL FUNC_API_BRIDGE_IMPL; +void put(String str) + FUNC_API_SINCE(3); +void bell(void) + FUNC_API_SINCE(3); +void visual_bell(void) + FUNC_API_SINCE(3); +void flush(void) + FUNC_API_SINCE(3) FUNC_API_REMOTE_IMPL; +void update_fg(Integer fg) + FUNC_API_SINCE(3); +void update_bg(Integer bg) + FUNC_API_SINCE(3); +void update_sp(Integer sp) + FUNC_API_SINCE(3); +void suspend(void) + FUNC_API_SINCE(3) FUNC_API_BRIDGE_IMPL; +void set_title(String title) + FUNC_API_SINCE(3); +void set_icon(String icon) + FUNC_API_SINCE(3); + +void popupmenu_show(Array items, Integer selected, Integer row, Integer col) + FUNC_API_SINCE(3) FUNC_API_REMOTE_ONLY; +void popupmenu_hide(void) + FUNC_API_SINCE(3) FUNC_API_REMOTE_ONLY; +void popupmenu_select(Integer selected) + FUNC_API_SINCE(3) FUNC_API_REMOTE_ONLY; +void tabline_update(Tabpage current, Array tabs) + FUNC_API_SINCE(3) FUNC_API_REMOTE_ONLY; + +#endif // NVIM_API_UI_EVENTS_IN_H diff --git a/src/nvim/api/vim.c b/src/nvim/api/vim.c index da00fbc6e3..80efe86ea3 100644 --- a/src/nvim/api/vim.c +++ b/src/nvim/api/vim.c @@ -13,8 +13,10 @@ #include "nvim/ascii.h" #include "nvim/api/private/helpers.h" #include "nvim/api/private/defs.h" +#include "nvim/api/private/dispatch.h" #include "nvim/api/buffer.h" #include "nvim/msgpack_rpc/channel.h" +#include "nvim/lua/executor.h" #include "nvim/vim.h" #include "nvim/buffer.h" #include "nvim/file_search.h" @@ -27,6 +29,7 @@ #include "nvim/eval.h" #include "nvim/eval/typval.h" #include "nvim/option.h" +#include "nvim/state.h" #include "nvim/syntax.h" #include "nvim/getchar.h" #include "nvim/os/input.h" @@ -43,7 +46,7 @@ /// @param command Ex-command string /// @param[out] err Error details (including actual VimL error), if any void nvim_command(String command, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { // Run the command try_start(); @@ -61,7 +64,7 @@ void nvim_command(String command, Error *err) /// @see feedkeys() /// @see vim_strsave_escape_csi void nvim_feedkeys(String keys, String mode, Boolean escape_csi) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { bool remap = true; bool insert = false; @@ -128,22 +131,23 @@ void nvim_feedkeys(String keys, String mode, Boolean escape_csi) /// @return Number of bytes actually written (can be fewer than /// requested if the buffer becomes full). Integer nvim_input(String keys) - FUNC_API_SINCE(1) FUNC_API_ASYNC + FUNC_API_SINCE(1) FUNC_API_ASYNC { return (Integer)input_enqueue(keys); } -/// Replaces any terminal codes with the internal representation +/// Replaces terminal codes and key codes (<CR>, <Esc>, ...) in a string with +/// the internal representation. /// /// @see replace_termcodes /// @see cpoptions String nvim_replace_termcodes(String str, Boolean from_part, Boolean do_lt, Boolean special) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { if (str.size == 0) { // Empty string - return str; + return (String) { .data = NULL, .size = 0 }; } char *ptr = NULL; @@ -159,7 +163,7 @@ String nvim_replace_termcodes(String str, Boolean from_part, Boolean do_lt, } String nvim_command_output(String str, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { do_cmdline_cmd("redir => v:command_output"); nvim_command(str, err); @@ -180,7 +184,7 @@ String nvim_command_output(String str, Error *err) /// @param[out] err Error details, if any /// @return Evaluation result or expanded object Object nvim_eval(String expr, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { Object rv = OBJECT_INIT; // Evaluate the expression @@ -202,7 +206,8 @@ Object nvim_eval(String expr, Error *err) return rv; } -/// Calls a VimL function with the given arguments. +/// Calls a VimL function with the given arguments +/// /// On VimL error: Returns a generic error; v:errmsg is not updated. /// /// @param fname Function to call @@ -210,7 +215,7 @@ Object nvim_eval(String expr, Error *err) /// @param[out] err Error details, if any /// @return Result of the function call Object nvim_call_function(String fname, Array args, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { Object rv = OBJECT_INIT; if (args.size > MAX_FUNC_ARGS) { @@ -252,6 +257,25 @@ free_vim_args: return rv; } +/// Execute lua code. Parameters might be passed, they are available inside +/// the chunk as `...`. The chunk can return a value. +/// +/// To evaluate an expression, it must be prefixed with "return ". For +/// instance, to call a lua function with arguments sent in and get its +/// return value back, use the code "return my_function(...)". +/// +/// @param code lua code to execute +/// @param args Arguments to the code +/// @param[out] err Details of an error encountered while parsing +/// or executing the lua code. +/// +/// @return Return value of lua code if present or NIL. +Object nvim_execute_lua(String code, Array args, Error *err) + FUNC_API_SINCE(3) FUNC_API_REMOTE_ONLY +{ + return executor_exec_lua_api(code, args, err); +} + /// Calculates the number of display cells occupied by `text`. /// <Tab> counts as one cell. /// @@ -259,7 +283,7 @@ free_vim_args: /// @param[out] err Error details, if any /// @return Number of cells Integer nvim_strwidth(String str, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { if (str.size > INT_MAX) { api_set_error(err, kErrorTypeValidation, "String length is too high"); @@ -273,10 +297,10 @@ Integer nvim_strwidth(String str, Error *err) /// /// @return List of paths ArrayOf(String) nvim_list_runtime_paths(void) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { Array rv = ARRAY_DICT_INIT; - uint8_t *rtp = p_rtp; + char_u *rtp = p_rtp; if (*rtp == NUL) { // No paths @@ -290,13 +314,14 @@ ArrayOf(String) nvim_list_runtime_paths(void) } rtp++; } + rv.size++; // Allocate memory for the copies - rv.items = xmalloc(sizeof(Object) * rv.size); + rv.items = xmalloc(sizeof(*rv.items) * rv.size); // Reset the position rtp = p_rtp; // Start copying - for (size_t i = 0; i < rv.size && *rtp != NUL; i++) { + for (size_t i = 0; i < rv.size; i++) { rv.items[i].type = kObjectTypeString; rv.items[i].data.string.data = xmalloc(MAXPATHL); // Copy the path from 'runtimepath' to rv.items[i] @@ -315,7 +340,7 @@ ArrayOf(String) nvim_list_runtime_paths(void) /// @param dir Directory path /// @param[out] err Error details, if any void nvim_set_current_dir(String dir, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { if (dir.size >= MAXPATHL) { api_set_error(err, kErrorTypeValidation, "Directory string is too long"); @@ -344,7 +369,7 @@ void nvim_set_current_dir(String dir, Error *err) /// @param[out] err Error details, if any /// @return Current line string String nvim_get_current_line(Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { return buffer_get_line(curbuf->handle, curwin->w_cursor.lnum - 1, err); } @@ -354,7 +379,7 @@ String nvim_get_current_line(Error *err) /// @param line Line contents /// @param[out] err Error details, if any void nvim_set_current_line(String line, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { buffer_set_line(curbuf->handle, curwin->w_cursor.lnum - 1, line, err); } @@ -363,7 +388,7 @@ void nvim_set_current_line(String line, Error *err) /// /// @param[out] err Error details, if any void nvim_del_current_line(Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { buffer_del_line(curbuf->handle, curwin->w_cursor.lnum - 1, err); } @@ -374,7 +399,7 @@ void nvim_del_current_line(Error *err) /// @param[out] err Error details, if any /// @return Variable value Object nvim_get_var(String name, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { return dict_get_value(&globvardict, name, err); } @@ -385,7 +410,7 @@ Object nvim_get_var(String name, Error *err) /// @param value Variable value /// @param[out] err Error details, if any void nvim_set_var(String name, Object value, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { dict_set_var(&globvardict, name, value, false, false, err); } @@ -395,7 +420,7 @@ void nvim_set_var(String name, Object value, Error *err) /// @param name Variable name /// @param[out] err Error details, if any void nvim_del_var(String name, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { dict_set_var(&globvardict, name, NIL, true, false, err); } @@ -434,7 +459,7 @@ Object vim_del_var(String name, Error *err) /// @param[out] err Error details, if any /// @return Variable value Object nvim_get_vvar(String name, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { return dict_get_value(&vimvardict, name, err); } @@ -445,7 +470,7 @@ Object nvim_get_vvar(String name, Error *err) /// @param[out] err Error details, if any /// @return Option value (global) Object nvim_get_option(String name, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { return get_option_from(NULL, SREQ_GLOBAL, name, err); } @@ -456,7 +481,7 @@ Object nvim_get_option(String name, Error *err) /// @param value New option value /// @param[out] err Error details, if any void nvim_set_option(String name, Object value, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { set_option_to(NULL, SREQ_GLOBAL, name, value, err); } @@ -465,7 +490,7 @@ void nvim_set_option(String name, Object value, Error *err) /// /// @param str Message void nvim_out_write(String str) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { write_msg(str, false); } @@ -474,7 +499,7 @@ void nvim_out_write(String str) /// /// @param str Message void nvim_err_write(String str) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { write_msg(str, true); } @@ -485,7 +510,7 @@ void nvim_err_write(String str) /// @param str Message /// @see nvim_err_write() void nvim_err_writeln(String str) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { nvim_err_write(str); nvim_err_write((String) { .data = "\n", .size = 1 }); @@ -495,7 +520,7 @@ void nvim_err_writeln(String str) /// /// @return List of buffer handles ArrayOf(Buffer) nvim_list_bufs(void) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { Array rv = ARRAY_DICT_INIT; @@ -517,7 +542,7 @@ ArrayOf(Buffer) nvim_list_bufs(void) /// /// @return Buffer handle Buffer nvim_get_current_buf(void) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { return curbuf->handle; } @@ -527,7 +552,7 @@ Buffer nvim_get_current_buf(void) /// @param id Buffer handle /// @param[out] err Error details, if any void nvim_set_current_buf(Buffer buffer, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { buf_T *buf = find_buffer_by_handle(buffer, err); @@ -549,7 +574,7 @@ void nvim_set_current_buf(Buffer buffer, Error *err) /// /// @return List of window handles ArrayOf(Window) nvim_list_wins(void) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { Array rv = ARRAY_DICT_INIT; @@ -571,7 +596,7 @@ ArrayOf(Window) nvim_list_wins(void) /// /// @return Window handle Window nvim_get_current_win(void) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { return curwin->handle; } @@ -580,7 +605,7 @@ Window nvim_get_current_win(void) /// /// @param handle Window handle void nvim_set_current_win(Window window, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { win_T *win = find_window_by_handle(window, err); @@ -602,7 +627,7 @@ void nvim_set_current_win(Window window, Error *err) /// /// @return List of tabpage handles ArrayOf(Tabpage) nvim_list_tabpages(void) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { Array rv = ARRAY_DICT_INIT; @@ -624,7 +649,7 @@ ArrayOf(Tabpage) nvim_list_tabpages(void) /// /// @return Tabpage handle Tabpage nvim_get_current_tabpage(void) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { return curtab->handle; } @@ -634,7 +659,7 @@ Tabpage nvim_get_current_tabpage(void) /// @param handle Tabpage handle /// @param[out] err Error details, if any void nvim_set_current_tabpage(Tabpage tabpage, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { tabpage_T *tp = find_tab_by_handle(tabpage, err); @@ -657,7 +682,7 @@ void nvim_set_current_tabpage(Tabpage tabpage, Error *err) /// @param channel_id Channel id (passed automatically by the dispatcher) /// @param event Event type string void nvim_subscribe(uint64_t channel_id, String event) - FUNC_API_SINCE(1) FUNC_API_NOEVAL + FUNC_API_SINCE(1) FUNC_API_REMOTE_ONLY { size_t length = (event.size < METHOD_MAXLEN ? event.size : METHOD_MAXLEN); char e[METHOD_MAXLEN + 1]; @@ -671,7 +696,7 @@ void nvim_subscribe(uint64_t channel_id, String event) /// @param channel_id Channel id (passed automatically by the dispatcher) /// @param event Event type string void nvim_unsubscribe(uint64_t channel_id, String event) - FUNC_API_SINCE(1) FUNC_API_NOEVAL + FUNC_API_SINCE(1) FUNC_API_REMOTE_ONLY { size_t length = (event.size < METHOD_MAXLEN ? event.size : @@ -683,13 +708,13 @@ void nvim_unsubscribe(uint64_t channel_id, String event) } Integer nvim_get_color_by_name(String name) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { - return name_to_color((uint8_t *)name.data); + return name_to_color((char_u *)name.data); } Dictionary nvim_get_color_map(void) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { Dictionary colors = ARRAY_DICT_INIT; @@ -701,8 +726,37 @@ Dictionary nvim_get_color_map(void) } +/// Gets the current mode. +/// mode: Mode string. |mode()| +/// blocking: true if Nvim is waiting for input. +/// +/// @returns Dictionary { "mode": String, "blocking": Boolean } +Dictionary nvim_get_mode(void) + FUNC_API_SINCE(2) FUNC_API_ASYNC +{ + Dictionary rv = ARRAY_DICT_INIT; + char *modestr = get_mode(); + bool blocked = input_blocking(); + + PUT(rv, "mode", STRING_OBJ(cstr_as_string(modestr))); + PUT(rv, "blocking", BOOLEAN_OBJ(blocked)); + + return rv; +} + +/// Get a list of dictionaries describing global (i.e. non-buffer) mappings +/// Note that the "buffer" key will be 0 to represent false. +/// +/// @param mode The abbreviation for the mode +/// @returns An array of maparg() like dictionaries describing mappings +ArrayOf(Dictionary) nvim_get_keymap(String mode) + FUNC_API_SINCE(3) +{ + return keymap_array(mode, NULL); +} + Array nvim_get_api_info(uint64_t channel_id) - FUNC_API_SINCE(1) FUNC_API_ASYNC FUNC_API_NOEVAL + FUNC_API_SINCE(1) FUNC_API_ASYNC FUNC_API_REMOTE_ONLY { Array rv = ARRAY_DICT_INIT; @@ -735,7 +789,7 @@ Array nvim_get_api_info(uint64_t channel_id) /// which resulted in an error, the error type and the error message. If an /// error ocurred, the values from all preceding calls will still be returned. Array nvim_call_atomic(uint64_t channel_id, Array calls, Error *err) - FUNC_API_SINCE(1) FUNC_API_NOEVAL + FUNC_API_SINCE(1) FUNC_API_REMOTE_ONLY { Array rv = ARRAY_DICT_INIT; Array results = ARRAY_DICT_INIT; @@ -818,7 +872,7 @@ static void write_msg(String message, bool to_err) #define PUSH_CHAR(i, pos, line_buf, msg) \ if (message.data[i] == NL || pos == LINE_BUFFER_SIZE - 1) { \ line_buf[pos] = NUL; \ - msg((uint8_t *)line_buf); \ + msg((char_u *)line_buf); \ pos = 0; \ continue; \ } \ @@ -836,3 +890,57 @@ static void write_msg(String message, bool to_err) --no_wait_return; msg_end(); } + +// Functions used for testing purposes + +/// Returns object given as argument +/// +/// This API function is used for testing. One should not rely on its presence +/// in plugins. +/// +/// @param[in] obj Object to return. +/// +/// @return its argument. +Object nvim__id(Object obj) +{ + return copy_object(obj); +} + +/// Returns array given as argument +/// +/// This API function is used for testing. One should not rely on its presence +/// in plugins. +/// +/// @param[in] arr Array to return. +/// +/// @return its argument. +Array nvim__id_array(Array arr) +{ + return copy_object(ARRAY_OBJ(arr)).data.array; +} + +/// Returns dictionary given as argument +/// +/// This API function is used for testing. One should not rely on its presence +/// in plugins. +/// +/// @param[in] dct Dictionary to return. +/// +/// @return its argument. +Dictionary nvim__id_dictionary(Dictionary dct) +{ + return copy_object(DICTIONARY_OBJ(dct)).data.dictionary; +} + +/// Returns floating-point value given as argument +/// +/// This API function is used for testing. One should not rely on its presence +/// in plugins. +/// +/// @param[in] flt Value to return. +/// +/// @return its argument. +Float nvim__id_float(Float flt) +{ + return flt; +} diff --git a/src/nvim/api/window.c b/src/nvim/api/window.c index 859bf88398..9bc91ef8fb 100644 --- a/src/nvim/api/window.c +++ b/src/nvim/api/window.c @@ -22,7 +22,7 @@ /// @param[out] err Error details, if any /// @return Buffer handle Buffer nvim_win_get_buf(Window window, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { win_T *win = find_window_by_handle(window, err); @@ -39,7 +39,7 @@ Buffer nvim_win_get_buf(Window window, Error *err) /// @param[out] err Error details, if any /// @return (row, col) tuple ArrayOf(Integer, 2) nvim_win_get_cursor(Window window, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { Array rv = ARRAY_DICT_INIT; win_T *win = find_window_by_handle(window, err); @@ -58,10 +58,14 @@ ArrayOf(Integer, 2) nvim_win_get_cursor(Window window, Error *err) /// @param pos (row, col) tuple representing the new position /// @param[out] err Error details, if any void nvim_win_set_cursor(Window window, ArrayOf(Integer, 2) pos, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { win_T *win = find_window_by_handle(window, err); + if (!win) { + return; + } + if (pos.size != 2 || pos.items[0].type != kObjectTypeInteger || pos.items[1].type != kObjectTypeInteger) { api_set_error(err, @@ -70,10 +74,6 @@ void nvim_win_set_cursor(Window window, ArrayOf(Integer, 2) pos, Error *err) return; } - if (!win) { - return; - } - int64_t row = pos.items[0].data.integer; int64_t col = pos.items[1].data.integer; @@ -105,7 +105,7 @@ void nvim_win_set_cursor(Window window, ArrayOf(Integer, 2) pos, Error *err) /// @param[out] err Error details, if any /// @return Height as a count of rows Integer nvim_win_get_height(Window window, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { win_T *win = find_window_by_handle(window, err); @@ -123,7 +123,7 @@ Integer nvim_win_get_height(Window window, Error *err) /// @param height Height as a count of rows /// @param[out] err Error details, if any void nvim_win_set_height(Window window, Integer height, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { win_T *win = find_window_by_handle(window, err); @@ -150,7 +150,7 @@ void nvim_win_set_height(Window window, Integer height, Error *err) /// @param[out] err Error details, if any /// @return Width as a count of columns Integer nvim_win_get_width(Window window, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { win_T *win = find_window_by_handle(window, err); @@ -168,7 +168,7 @@ Integer nvim_win_get_width(Window window, Error *err) /// @param width Width as a count of columns /// @param[out] err Error details, if any void nvim_win_set_width(Window window, Integer width, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { win_T *win = find_window_by_handle(window, err); @@ -196,7 +196,7 @@ void nvim_win_set_width(Window window, Integer width, Error *err) /// @param[out] err Error details, if any /// @return Variable value Object nvim_win_get_var(Window window, String name, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { win_T *win = find_window_by_handle(window, err); @@ -214,7 +214,7 @@ Object nvim_win_get_var(Window window, String name, Error *err) /// @param value Variable value /// @param[out] err Error details, if any void nvim_win_set_var(Window window, String name, Object value, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { win_T *win = find_window_by_handle(window, err); @@ -231,7 +231,7 @@ void nvim_win_set_var(Window window, String name, Object value, Error *err) /// @param name Variable name /// @param[out] err Error details, if any void nvim_win_del_var(Window window, String name, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { win_T *win = find_window_by_handle(window, err); @@ -291,7 +291,7 @@ Object window_del_var(Window window, String name, Error *err) /// @param[out] err Error details, if any /// @return Option value Object nvim_win_get_option(Window window, String name, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { win_T *win = find_window_by_handle(window, err); @@ -310,7 +310,7 @@ Object nvim_win_get_option(Window window, String name, Error *err) /// @param value Option value /// @param[out] err Error details, if any void nvim_win_set_option(Window window, String name, Object value, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { win_T *win = find_window_by_handle(window, err); @@ -327,7 +327,7 @@ void nvim_win_set_option(Window window, String name, Object value, Error *err) /// @param[out] err Error details, if any /// @return (row, col) tuple with the window position ArrayOf(Integer, 2) nvim_win_get_position(Window window, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { Array rv = ARRAY_DICT_INIT; win_T *win = find_window_by_handle(window, err); @@ -346,7 +346,7 @@ ArrayOf(Integer, 2) nvim_win_get_position(Window window, Error *err) /// @param[out] err Error details, if any /// @return Tabpage that contains the window Tabpage nvim_win_get_tabpage(Window window, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { Tabpage rv = 0; win_T *win = find_window_by_handle(window, err); @@ -364,7 +364,7 @@ Tabpage nvim_win_get_tabpage(Window window, Error *err) /// @param[out] err Error details, if any /// @return Window number Integer nvim_win_get_number(Window window, Error *err) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { int rv = 0; win_T *win = find_window_by_handle(window, err); @@ -384,7 +384,7 @@ Integer nvim_win_get_number(Window window, Error *err) /// @param window Window handle /// @return true if the window is valid, false otherwise Boolean nvim_win_is_valid(Window window) - FUNC_API_SINCE(1) + FUNC_API_SINCE(1) { Error stub = ERROR_INIT; Boolean ret = find_window_by_handle(window, &stub) != NULL; diff --git a/src/nvim/buffer.c b/src/nvim/buffer.c index 46f2cdac79..b5ca6543c5 100644 --- a/src/nvim/buffer.c +++ b/src/nvim/buffer.c @@ -24,6 +24,7 @@ #include <inttypes.h> #include "nvim/api/private/handle.h" +#include "nvim/api/private/helpers.h" #include "nvim/ascii.h" #include "nvim/assert.h" #include "nvim/vim.h" @@ -73,6 +74,12 @@ #include "nvim/os/time.h" #include "nvim/os/input.h" +typedef enum { + kBLSUnchanged = 0, + kBLSChanged = 1, + kBLSDeleted = 2, +} BufhlLineStatus; + #ifdef INCLUDE_GENERATED_DECLARATIONS # include "buffer.c.generated.h" #endif @@ -280,19 +287,22 @@ open_buffer ( void set_bufref(bufref_T *bufref, buf_T *buf) { bufref->br_buf = buf; + bufref->br_fnum = buf->b_fnum; bufref->br_buf_free_count = buf_free_count; } -/// Check if "bufref" points to a valid buffer. -/// +/// Return true if "bufref->br_buf" points to the same buffer as when +/// set_bufref() was called and it is a valid buffer. /// Only goes through the buffer list if buf_free_count changed. +/// Also checks if b_fnum is still the same, a :bwipe followed by :new might get +/// the same allocated memory, but it's a different buffer. /// /// @param bufref Buffer reference to check for. bool bufref_valid(bufref_T *bufref) { return bufref->br_buf_free_count == buf_free_count ? true - : buf_valid(bufref->br_buf); + : buf_valid(bufref->br_buf) && bufref->br_fnum == bufref->br_buf->b_fnum; } /// Check that "buf" points to a valid buffer in the buffer list. @@ -449,7 +459,7 @@ void close_buffer(win_T *win, buf_T *buf, int action, int abort_if_last) if (buf->terminal) { terminal_close(buf->terminal, NULL); - } + } /* Always remove the buffer when there is no file name. */ if (buf->b_ffname == NULL) @@ -827,7 +837,7 @@ void handle_swap_exists(bufref_T *old_curbuf) * new aborting error, interrupt, or uncaught exception. */ leave_cleanup(&cs); } - swap_exists_action = SEA_NONE; + swap_exists_action = SEA_NONE; // -V519 } /* @@ -1752,16 +1762,15 @@ void free_buf_options(buf_T *buf, int free_p_ff) clear_string_option(&buf->b_p_bkc); } -/* - * get alternate file n - * set linenr to lnum or altfpos.lnum if lnum == 0 - * also set cursor column to altfpos.col if 'startofline' is not set. - * if (options & GETF_SETMARK) call setpcmark() - * if (options & GETF_ALT) we are jumping to an alternate file. - * if (options & GETF_SWITCH) respect 'switchbuf' settings when jumping - * - * return FAIL for failure, OK for success - */ + +/// Get alternate file "n". +/// Set linenr to "lnum" or altfpos.lnum if "lnum" == 0. +/// Also set cursor column to altfpos.col if 'startofline' is not set. +/// if (options & GETF_SETMARK) call setpcmark() +/// if (options & GETF_ALT) we are jumping to an alternate file. +/// if (options & GETF_SWITCH) respect 'switchbuf' settings when jumping +/// +/// Return FAIL for failure, OK for success. int buflist_getfile(int n, linenr_T lnum, int options, int forceit) { buf_T *buf; @@ -2316,7 +2325,7 @@ void get_winopts(buf_T *buf) /* Set 'foldlevel' to 'foldlevelstart' if it's not negative. */ if (p_fdls >= 0) curwin->w_p_fdl = p_fdls; - check_colorcolumn(curwin); + didset_window_options(curwin); } /* @@ -2365,12 +2374,17 @@ void buflist_list(exarg_T *eap) && (buf == curbuf || curwin->w_alt_fnum != buf->b_fnum))) { continue; } - msg_putchar('\n'); - if (buf_spname(buf) != NULL) + if (buf_spname(buf) != NULL) { STRLCPY(NameBuff, buf_spname(buf), MAXPATHL); - else - home_replace(buf, buf->b_fname, NameBuff, MAXPATHL, TRUE); + } else { + home_replace(buf, buf->b_fname, NameBuff, MAXPATHL, true); + } + + if (message_filtered(NameBuff)) { + continue; + } + msg_putchar('\n'); len = vim_snprintf((char *)IObuff, IOSIZE - 20, "%3d%c%c%c%c%c \"%s\"", buf->b_fnum, buf->b_p_bl ? ' ' : 'u', @@ -2996,13 +3010,13 @@ static bool ti_change(char_u *str, char_u **last) return false; } -/* - * Put current window title back (used after calling a shell) - */ + +/// Set current window title void resettitle(void) { - ui_set_title((char *)lasttitle); - ui_set_icon((char *)lasticon); + ui_call_set_title(cstr_as_string((char *)lasttitle)); + ui_call_set_icon(cstr_as_string((char *)lasticon)); + ui_flush(); } # if defined(EXITFREE) @@ -3060,7 +3074,7 @@ int build_stl_str_hl( StlClickRecord *tabtab ) { - int groupitem[STL_MAX_ITEM]; + int groupitems[STL_MAX_ITEM]; struct stl_item { // Where the item starts in the status line output buffer char_u *start; @@ -3080,7 +3094,7 @@ int build_stl_str_hl( ClickFunc, Trunc } type; - } item[STL_MAX_ITEM]; + } items[STL_MAX_ITEM]; #define TMPLEN 70 char_u tmp[TMPLEN]; char_u *usefmt = fmt; @@ -3182,16 +3196,16 @@ int build_stl_str_hl( if (groupdepth > 0) { continue; } - item[curitem].type = Separate; - item[curitem++].start = out_p; + items[curitem].type = Separate; + items[curitem++].start = out_p; continue; } // STL_TRUNCMARK: Where to begin truncating if the statusline is too long. if (*fmt_p == STL_TRUNCMARK) { fmt_p++; - item[curitem].type = Trunc; - item[curitem++].start = out_p; + items[curitem].type = Trunc; + items[curitem++].start = out_p; continue; } @@ -3207,7 +3221,7 @@ int build_stl_str_hl( // Determine how long the group is. // Note: We set the current output position to null // so `vim_strsize` will work. - char_u *t = item[groupitem[groupdepth]].start; + char_u *t = items[groupitems[groupdepth]].start; *out_p = NUL; long group_len = vim_strsize(t); @@ -3217,11 +3231,11 @@ int build_stl_str_hl( // move the output pointer back to where the group started. // Note: This erases any non-item characters that were in the group. // Otherwise there would be no reason to do this step. - if (curitem > groupitem[groupdepth] + 1 - && item[groupitem[groupdepth]].minwid == 0) { + if (curitem > groupitems[groupdepth] + 1 + && items[groupitems[groupdepth]].minwid == 0) { bool has_normal_items = false; - for (long n = groupitem[groupdepth] + 1; n < curitem; n++) { - if (item[n].type == Normal || item[n].type == Highlight) { + for (long n = groupitems[groupdepth] + 1; n < curitem; n++) { + if (items[n].type == Normal || items[n].type == Highlight) { has_normal_items = true; break; } @@ -3235,18 +3249,18 @@ int build_stl_str_hl( // If the group is longer than it is allowed to be // truncate by removing bytes from the start of the group text. - if (group_len > item[groupitem[groupdepth]].maxwid) { + if (group_len > items[groupitems[groupdepth]].maxwid) { // { Determine the number of bytes to remove long n; if (has_mbyte) { /* Find the first character that should be included. */ n = 0; - while (group_len >= item[groupitem[groupdepth]].maxwid) { + while (group_len >= items[groupitems[groupdepth]].maxwid) { group_len -= ptr2cells(t + n); n += (*mb_ptr2len)(t + n); } } else { - n = (long)(out_p - t) - item[groupitem[groupdepth]].maxwid + 1; + n = (long)(out_p - t) - items[groupitems[groupdepth]].maxwid + 1; } // } @@ -3256,25 +3270,26 @@ int build_stl_str_hl( // { Move the truncated output memmove(t + 1, t + n, (size_t)(out_p - (t + n))); out_p = out_p - n + 1; - /* Fill up space left over by half a double-wide char. */ - while (++group_len < item[groupitem[groupdepth]].minwid) + // Fill up space left over by half a double-wide char. + while (++group_len < items[groupitems[groupdepth]].minwid) { *out_p++ = fillchar; + } // } - /* correct the start of the items for the truncation */ - for (int idx = groupitem[groupdepth] + 1; idx < curitem; idx++) { + // correct the start of the items for the truncation + for (int idx = groupitems[groupdepth] + 1; idx < curitem; idx++) { // Shift everything back by the number of removed bytes - item[idx].start -= n; + items[idx].start -= n; // If the item was partially or completely truncated, set its // start to the start of the group - if (item[idx].start < t) { - item[idx].start = t; + if (items[idx].start < t) { + items[idx].start = t; } } // If the group is shorter than the minimum width, add padding characters. - } else if (abs(item[groupitem[groupdepth]].minwid) > group_len) { - long min_group_width = item[groupitem[groupdepth]].minwid; + } else if (abs(items[groupitems[groupdepth]].minwid) > group_len) { + long min_group_width = items[groupitems[groupdepth]].minwid; // If the group is left-aligned, add characters to the right. if (min_group_width < 0) { min_group_width = 0 - min_group_width; @@ -3293,8 +3308,8 @@ int build_stl_str_hl( // } // Adjust item start positions - for (int n = groupitem[groupdepth] + 1; n < curitem; n++) { - item[n].start += group_len; + for (int n = groupitems[groupdepth] + 1; n < curitem; n++) { + items[n].start += group_len; } // Prepend the fill characters @@ -3332,9 +3347,9 @@ int build_stl_str_hl( // User highlight groups override the min width field // to denote the styling to use. if (*fmt_p == STL_USER_HL) { - item[curitem].type = Highlight; - item[curitem].start = out_p; - item[curitem].minwid = minwid > 9 ? 1 : minwid; + items[curitem].type = Highlight; + items[curitem].start = out_p; + items[curitem].minwid = minwid > 9 ? 1 : minwid; fmt_p++; curitem++; continue; @@ -3366,20 +3381,21 @@ int build_stl_str_hl( if (*fmt_p == STL_TABPAGENR || *fmt_p == STL_TABCLOSENR) { if (*fmt_p == STL_TABCLOSENR) { if (minwid == 0) { - /* %X ends the close label, go back to the previously - * define tab label nr. */ - for (long n = curitem - 1; n >= 0; --n) - if (item[n].type == TabPage && item[n].minwid >= 0) { - minwid = item[n].minwid; + // %X ends the close label, go back to the previous tab label nr. + for (long n = curitem - 1; n >= 0; n--) { + if (items[n].type == TabPage && items[n].minwid >= 0) { + minwid = items[n].minwid; break; } - } else - /* close nrs are stored as negative values */ + } + } else { + // close nrs are stored as negative values minwid = -minwid; + } } - item[curitem].type = TabPage; - item[curitem].start = out_p; - item[curitem].minwid = minwid; + items[curitem].type = TabPage; + items[curitem].start = out_p; + items[curitem].minwid = minwid; fmt_p++; curitem++; continue; @@ -3394,10 +3410,10 @@ int build_stl_str_hl( if (*fmt_p != STL_CLICK_FUNC) { break; } - item[curitem].type = ClickFunc; - item[curitem].start = out_p; - item[curitem].cmd = xmemdupz(t, (size_t) (((char *) fmt_p - t))); - item[curitem].minwid = minwid; + items[curitem].type = ClickFunc; + items[curitem].start = out_p; + items[curitem].cmd = xmemdupz(t, (size_t)(((char *)fmt_p - t))); + items[curitem].minwid = minwid; fmt_p++; curitem++; continue; @@ -3420,11 +3436,11 @@ int build_stl_str_hl( // Denotes the start of a new group if (*fmt_p == '(') { - groupitem[groupdepth++] = curitem; - item[curitem].type = Group; - item[curitem].start = out_p; - item[curitem].minwid = minwid; - item[curitem].maxwid = maxwid; + groupitems[groupdepth++] = curitem; + items[curitem].type = Group; + items[curitem].start = out_p; + items[curitem].minwid = minwid; + items[curitem].maxwid = maxwid; fmt_p++; curitem++; continue; @@ -3451,7 +3467,7 @@ int build_stl_str_hl( case STL_FULLPATH: case STL_FILENAME: { - // Set fillable to false to that ' ' in the filename will not + // Set fillable to false so that ' ' in the filename will not // get replaced with the fillchar fillable = false; if (buf_spname(wp->w_buffer) != NULL) { @@ -3599,6 +3615,7 @@ int build_stl_str_hl( case STL_OFFSET_X: base = kNumBaseHexadecimal; + // fallthrough case STL_OFFSET: { long l = ml_find_line_or_offset(wp->w_buffer, wp->w_cursor.lnum, NULL); @@ -3609,6 +3626,7 @@ int build_stl_str_hl( } case STL_BYTEVAL_X: base = kNumBaseHexadecimal; + // fallthrough case STL_BYTEVAL: num = byteval; if (num == NL) @@ -3703,9 +3721,9 @@ int build_stl_str_hl( // Create a highlight item based on the name if (*fmt_p == '#') { - item[curitem].type = Highlight; - item[curitem].start = out_p; - item[curitem].minwid = -syn_namen2id(t, (int)(fmt_p - t)); + items[curitem].type = Highlight; + items[curitem].start = out_p; + items[curitem].minwid = -syn_namen2id(t, (int)(fmt_p - t)); curitem++; fmt_p++; } @@ -3716,8 +3734,8 @@ int build_stl_str_hl( // If we made it this far, the item is normal and starts at // our current position in the output buffer. // Non-normal items would have `continued`. - item[curitem].start = out_p; - item[curitem].type = Normal; + items[curitem].start = out_p; + items[curitem].type = Normal; // Copy the item string into the output buffer if (str != NULL && *str) { @@ -3874,7 +3892,7 @@ int build_stl_str_hl( // Otherwise, there was nothing to print so mark the item as empty } else { - item[curitem].type = Empty; + items[curitem].type = Empty; } // Only free the string buffer if we allocated it. @@ -3899,8 +3917,7 @@ int build_stl_str_hl( } // We have now processed the entire statusline format string. - // What follows is post-processing to handle alignment and - // highlighting factors. + // What follows is post-processing to handle alignment and highlighting. int width = vim_strsize(out); if (maxwidth > 0 && width > maxwidth) { @@ -3915,16 +3932,17 @@ int build_stl_str_hl( // Otherwise, look for the truncation item } else { // Default to truncating at the first item - trunc_p = item[0].start; + trunc_p = items[0].start; item_idx = 0; - for (int i = 0; i < itemcnt; i++) - if (item[i].type == Trunc) { - // Truncate at %< item. - trunc_p = item[i].start; + for (int i = 0; i < itemcnt; i++) { + if (items[i].type == Trunc) { + // Truncate at %< items. + trunc_p = items[i].start; item_idx = i; break; } + } } // If the truncation point we found is beyond the maximum @@ -3954,7 +3972,7 @@ int build_stl_str_hl( // Ignore any items in the statusline that occur after // the truncation point for (int i = 0; i < itemcnt; i++) { - if (item[i].start > trunc_p) { + if (items[i].start > trunc_p) { itemcnt = i; break; } @@ -4009,12 +4027,12 @@ int build_stl_str_hl( for (int i = item_idx; i < itemcnt; i++) { // Items starting at or after the end of the truncated section need // to be moved backwards. - if (item[i].start >= trunc_end_p) { - item[i].start -= item_offset; + if (items[i].start >= trunc_end_p) { + items[i].start -= item_offset; // Anything inside the truncated area is set to start // at the `<` truncation character. } else { - item[i].start = trunc_p; + items[i].start = trunc_p; } } // } @@ -4030,7 +4048,7 @@ int build_stl_str_hl( // figuring out how many groups there are. int num_separators = 0; for (int i = 0; i < itemcnt; i++) { - if (item[i].type == Separate) { + if (items[i].type == Separate) { num_separators++; } } @@ -4042,7 +4060,7 @@ int build_stl_str_hl( int separator_locations[STL_MAX_ITEM]; int index = 0; for (int i = 0; i < itemcnt; i++) { - if (item[i].type == Separate) { + if (items[i].type == Separate) { separator_locations[index] = i; index++; } @@ -4053,18 +4071,18 @@ int build_stl_str_hl( standard_spaces * (num_separators - 1); for (int i = 0; i < num_separators; i++) { - int dislocation = (i == (num_separators - 1)) ? - final_spaces : standard_spaces; - char_u *sep_loc = item[separator_locations[i]].start + dislocation; - STRMOVE(sep_loc, item[separator_locations[i]].start); - for (char_u *s = item[separator_locations[i]].start; s < sep_loc; s++) { + int dislocation = (i == (num_separators - 1)) + ? final_spaces : standard_spaces; + char_u *seploc = items[separator_locations[i]].start + dislocation; + STRMOVE(seploc, items[separator_locations[i]].start); + for (char_u *s = items[separator_locations[i]].start; s < seploc; s++) { *s = fillchar; } for (int item_idx = separator_locations[i] + 1; item_idx < itemcnt; item_idx++) { - item[item_idx].start += dislocation; + items[item_idx].start += dislocation; } } @@ -4076,9 +4094,9 @@ int build_stl_str_hl( if (hltab != NULL) { struct stl_hlrec *sp = hltab; for (long l = 0; l < itemcnt; l++) { - if (item[l].type == Highlight) { - sp->start = item[l].start; - sp->userhl = item[l].minwid; + if (items[l].type == Highlight) { + sp->start = items[l].start; + sp->userhl = items[l].minwid; sp++; } } @@ -4090,14 +4108,14 @@ int build_stl_str_hl( if (tabtab != NULL) { StlClickRecord *cur_tab_rec = tabtab; for (long l = 0; l < itemcnt; l++) { - if (item[l].type == TabPage) { - cur_tab_rec->start = (char *) item[l].start; - if (item[l].minwid == 0) { + if (items[l].type == TabPage) { + cur_tab_rec->start = (char *)items[l].start; + if (items[l].minwid == 0) { cur_tab_rec->def.type = kStlClickDisabled; cur_tab_rec->def.tabnr = 0; } else { - int tabnr = item[l].minwid; - if (item[l].minwid > 0) { + int tabnr = items[l].minwid; + if (items[l].minwid > 0) { cur_tab_rec->def.type = kStlClickTabSwitch; } else { cur_tab_rec->def.type = kStlClickTabClose; @@ -4107,11 +4125,11 @@ int build_stl_str_hl( } cur_tab_rec->def.func = NULL; cur_tab_rec++; - } else if (item[l].type == ClickFunc) { - cur_tab_rec->start = (char *) item[l].start; + } else if (items[l].type == ClickFunc) { + cur_tab_rec->start = (char *)items[l].start; cur_tab_rec->def.type = kStlClickFuncRun; - cur_tab_rec->def.tabnr = item[l].minwid; - cur_tab_rec->def.func = item[l].cmd; + cur_tab_rec->def.tabnr = items[l].minwid; + cur_tab_rec->def.func = items[l].cmd; cur_tab_rec++; } } @@ -5126,6 +5144,30 @@ void sign_mark_adjust(linenr_T line1, linenr_T line2, long amount, long amount_a // bufhl: plugin highlights associated with a buffer +/// Get reference to line in kbtree_t +/// +/// @param b the three +/// @param line the linenumber to lookup +/// @param put if true, put a new line when not found +/// if false, return NULL when not found +BufhlLine *bufhl_tree_ref(BufhlInfo *b, linenr_T line, bool put) +{ + BufhlLine t = BUFHLLINE_INIT(line); + + // kp_put() only works if key is absent, try get first + BufhlLine **pp = kb_get(bufhl, b, &t); + if (pp) { + return *pp; + } else if (!put) { + return NULL; + } + + BufhlLine *p = xmalloc(sizeof(*p)); + *p = (BufhlLine)BUFHLLINE_INIT(line); + kb_put(bufhl, b, p); + return p; +} + /// Adds a highlight to buffer. /// /// Unlike matchaddpos() highlights follow changes to line numbering (as lines @@ -5163,13 +5205,10 @@ int bufhl_add_hl(buf_T *buf, // no highlight group or invalid line, just return src_id return src_id; } - if (!buf->b_bufhl_info) { - buf->b_bufhl_info = map_new(linenr_T, bufhl_vec_T)(); - } - bufhl_vec_T* lineinfo = map_ref(linenr_T, bufhl_vec_T)(buf->b_bufhl_info, - lnum, true); - bufhl_hl_item_T *hlentry = kv_pushp(*lineinfo); + BufhlLine *lineinfo = bufhl_tree_ref(&buf->b_bufhl_info, lnum, true); + + BufhlItem *hlentry = kv_pushp(lineinfo->items); hlentry->src_id = src_id; hlentry->hl_id = hl_id; hlentry->start = col_start; @@ -5191,20 +5230,24 @@ int bufhl_add_hl(buf_T *buf, void bufhl_clear_line_range(buf_T *buf, int src_id, linenr_T line_start, - linenr_T line_end) { - if (!buf->b_bufhl_info) { - return; - } - linenr_T line; + linenr_T line_end) +{ linenr_T first_changed = MAXLNUM, last_changed = -1; - // In the case line_start - line_end << bufhl_info->size - // it might be better to reverse this, i e loop over the lines - // to clear on. - bufhl_vec_T unused; - map_foreach(buf->b_bufhl_info, line, unused, { - (void)unused; + + kbitr_t(bufhl) itr; + BufhlLine *l, t = BUFHLLINE_INIT(line_start); + if (!kb_itr_get(bufhl, &buf->b_bufhl_info, &t, &itr)) { + kb_itr_next(bufhl, &buf->b_bufhl_info, &itr); + } + for (; kb_itr_valid(&itr); kb_itr_next(bufhl, &buf->b_bufhl_info, &itr)) { + l = kb_itr_key(&itr); + linenr_T line = l->line; + if (line > line_end) { + break; + } if (line_start <= line && line <= line_end) { - if (bufhl_clear_line(buf->b_bufhl_info, src_id, line)) { + BufhlLineStatus status = bufhl_clear_line(l, src_id, line); + if (status != kBLSUnchanged) { if (line > last_changed) { last_changed = line; } @@ -5212,8 +5255,12 @@ void bufhl_clear_line_range(buf_T *buf, first_changed = line; } } + if (status == kBLSDeleted) { + kb_del_itr(bufhl, &buf->b_bufhl_info, &itr); + xfree(l); + } } - }) + } if (last_changed != -1) { changed_lines_buf(buf, first_changed, last_changed+1, 0); @@ -5226,42 +5273,40 @@ void bufhl_clear_line_range(buf_T *buf, /// @param bufhl_info The highlight info for the buffer /// @param src_id Highlight source group to clear, or -1 to clear all groups. /// @param lnum Linenr where the highlight should be cleared -static bool bufhl_clear_line(bufhl_info_T *bufhl_info, int src_id, - linenr_T lnum) +static BufhlLineStatus bufhl_clear_line(BufhlLine *lineinfo, int src_id, + linenr_T lnum) { - bufhl_vec_T *lineinfo = map_ref(linenr_T, bufhl_vec_T)(bufhl_info, - lnum, false); - size_t oldsize = kv_size(*lineinfo); + size_t oldsize = kv_size(lineinfo->items); if (src_id < 0) { - kv_size(*lineinfo) = 0; + kv_size(lineinfo->items) = 0; } else { - size_t newind = 0; - for (size_t i = 0; i < kv_size(*lineinfo); i++) { - if (kv_A(*lineinfo, i).src_id != src_id) { - if (i != newind) { - kv_A(*lineinfo, newind) = kv_A(*lineinfo, i); + size_t newidx = 0; + for (size_t i = 0; i < kv_size(lineinfo->items); i++) { + if (kv_A(lineinfo->items, i).src_id != src_id) { + if (i != newidx) { + kv_A(lineinfo->items, newidx) = kv_A(lineinfo->items, i); } - newind++; + newidx++; } } - kv_size(*lineinfo) = newind; + kv_size(lineinfo->items) = newidx; } - if (kv_size(*lineinfo) == 0) { - kv_destroy(*lineinfo); - map_del(linenr_T, bufhl_vec_T)(bufhl_info, lnum); + if (kv_size(lineinfo->items) == 0) { + kv_destroy(lineinfo->items); + return kBLSDeleted; } - return kv_size(*lineinfo) != oldsize; + return kv_size(lineinfo->items) != oldsize ? kBLSChanged : kBLSUnchanged; } /// Remove all highlights and free the highlight data -void bufhl_clear_all(buf_T* buf) { - if (!buf->b_bufhl_info) { - return; - } +void bufhl_clear_all(buf_T *buf) +{ bufhl_clear_line_range(buf, -1, 1, MAXLNUM); - map_free(linenr_T, bufhl_vec_T)(buf->b_bufhl_info); - buf->b_bufhl_info = NULL; + kb_destroy(bufhl, (&buf->b_bufhl_info)); + kb_init(&buf->b_bufhl_info); + kv_destroy(buf->b_bufhl_move_space); + kv_init(buf->b_bufhl_move_space); } /// Adjust a placed highlight for inserted/deleted lines. @@ -5269,29 +5314,49 @@ void bufhl_mark_adjust(buf_T* buf, linenr_T line1, linenr_T line2, long amount, - long amount_after) { - if (!buf->b_bufhl_info) { + long amount_after, + bool end_temp) +{ + kbitr_t(bufhl) itr; + BufhlLine *l, t = BUFHLLINE_INIT(line1); + if (end_temp && amount < 0) { + // Move all items from b_bufhl_move_space to the btree. + for (size_t i = 0; i < kv_size(buf->b_bufhl_move_space); i++) { + l = kv_A(buf->b_bufhl_move_space, i); + l->line += amount; + kb_put(bufhl, &buf->b_bufhl_info, l); + } + kv_size(buf->b_bufhl_move_space) = 0; return; } - bufhl_info_T *newmap = map_new(linenr_T, bufhl_vec_T)(); - linenr_T line; - bufhl_vec_T lineinfo; - map_foreach(buf->b_bufhl_info, line, lineinfo, { - if (line >= line1 && line <= line2) { + if (!kb_itr_get(bufhl, &buf->b_bufhl_info, &t, &itr)) { + kb_itr_next(bufhl, &buf->b_bufhl_info, &itr); + } + for (; kb_itr_valid(&itr); kb_itr_next(bufhl, &buf->b_bufhl_info, &itr)) { + l = kb_itr_key(&itr); + if (l->line >= line1 && l->line <= line2) { + if (end_temp && amount > 0) { + kb_del_itr(bufhl, &buf->b_bufhl_info, &itr); + kv_push(buf->b_bufhl_move_space, l); + } if (amount == MAXLNUM) { - bufhl_clear_line(buf->b_bufhl_info, -1, line); - continue; + if (bufhl_clear_line(l, -1, l->line) == kBLSDeleted) { + kb_del_itr(bufhl, &buf->b_bufhl_info, &itr); + xfree(l); + } else { + assert(false); + } } else { - line += amount; + l->line += amount; + } + } else if (l->line > line2) { + if (amount_after == 0) { + break; } - } else if (line > line2) { - line += amount_after; + l->line += amount_after; } - map_put(linenr_T, bufhl_vec_T)(newmap, line, lineinfo); - }); - map_free(linenr_T, bufhl_vec_T)(buf->b_bufhl_info); - buf->b_bufhl_info = newmap; + } } @@ -5301,13 +5366,14 @@ void bufhl_mark_adjust(buf_T* buf, /// @param lnum The line number /// @param[out] info The highligts for the line /// @return true if there was highlights to display -bool bufhl_start_line(buf_T *buf, linenr_T lnum, bufhl_lineinfo_T *info) { - if (!buf->b_bufhl_info) { +bool bufhl_start_line(buf_T *buf, linenr_T lnum, BufhlLineInfo *info) +{ + BufhlLine *lineinfo = bufhl_tree_ref(&buf->b_bufhl_info, lnum, false); + if (!lineinfo) { return false; } - info->valid_to = -1; - info->entries = map_get(linenr_T, bufhl_vec_T)(buf->b_bufhl_info, lnum); + info->entries = lineinfo->items; return kv_size(info->entries) > 0; } @@ -5321,14 +5387,15 @@ bool bufhl_start_line(buf_T *buf, linenr_T lnum, bufhl_lineinfo_T *info) { /// @param info The info returned by bufhl_start_line /// @param col The column to get the attr for /// @return The highilight attr to display at the column -int bufhl_get_attr(bufhl_lineinfo_T *info, colnr_T col) { +int bufhl_get_attr(BufhlLineInfo *info, colnr_T col) +{ if (col <= info->valid_to) { return info->current; } int attr = 0; info->valid_to = MAXCOL; for (size_t i = 0; i < kv_size(info->entries); i++) { - bufhl_hl_item_T entry = kv_A(info->entries, i); + BufhlItem entry = kv_A(info->entries, i); if (entry.start <= col && col <= entry.stop) { int entry_attr = syn_id2attr(entry.hl_id); attr = hl_combine_attr(attr, entry_attr); diff --git a/src/nvim/buffer.h b/src/nvim/buffer.h index 39b9faf8b1..faeeed121c 100644 --- a/src/nvim/buffer.h +++ b/src/nvim/buffer.h @@ -83,14 +83,16 @@ static inline void restore_win_for_buf(win_T *save_curwin, } } -static inline void buf_set_changedtick(buf_T *const buf, const int changedtick) +static inline void buf_set_changedtick(buf_T *const buf, + const varnumber_T changedtick) REAL_FATTR_NONNULL_ALL REAL_FATTR_ALWAYS_INLINE; /// Set b_changedtick and corresponding variable /// /// @param[out] buf Buffer to set changedtick in. /// @param[in] changedtick New value. -static inline void buf_set_changedtick(buf_T *const buf, const int changedtick) +static inline void buf_set_changedtick(buf_T *const buf, + const varnumber_T changedtick) { #ifndef NDEBUG dictitem_T *const changedtick_di = tv_dict_find( @@ -113,7 +115,7 @@ static inline void buf_set_changedtick(buf_T *const buf, const int changedtick) do { \ win_T *save_curwin = NULL; \ tabpage_T *save_curtab = NULL; \ - bufref_T save_curbuf = { NULL, 0 }; \ + bufref_T save_curbuf = { NULL, 0, 0 }; \ switch_to_win_for_buf(b, &save_curwin, &save_curtab, &save_curbuf); \ code; \ restore_win_for_buf(save_curwin, save_curtab, &save_curbuf); \ diff --git a/src/nvim/buffer_defs.h b/src/nvim/buffer_defs.h index 20a2b931bd..559dffb945 100644 --- a/src/nvim/buffer_defs.h +++ b/src/nvim/buffer_defs.h @@ -12,11 +12,14 @@ typedef struct file_buffer buf_T; // Forward declaration // bufref_valid() only needs to check "buf" when the count differs. typedef struct { buf_T *br_buf; + int br_fnum; int br_buf_free_count; } bufref_T; // for garray_T #include "nvim/garray.h" +// for HLF_COUNT +#include "nvim/highlight_defs.h" // for pos_T, lpos_T and linenr_T #include "nvim/pos.h" // for the number window-local and buffer-local options @@ -103,8 +106,6 @@ typedef struct frame_S frame_T; // for bufhl_*_T #include "nvim/bufhl_defs.h" -typedef Map(linenr_T, bufhl_vec_T) bufhl_info_T; - #include "nvim/os/fs_defs.h" // for FileID #include "nvim/terminal.h" // for Terminal @@ -233,6 +234,8 @@ typedef struct { # define w_p_crb_save w_onebuf_opt.wo_crb_save char_u *wo_scl; # define w_p_scl w_onebuf_opt.wo_scl // 'signcolumn' + char_u *wo_winhl; +# define w_p_winhl w_onebuf_opt.wo_winhl // 'winhighlight' int wo_scriptID[WV_COUNT]; /* SIDs for window-local options */ # define w_p_scriptID w_onebuf_opt.wo_scriptID @@ -436,6 +439,9 @@ typedef TV_DICTITEM_STRUCT(sizeof("changedtick")) ChangedtickDictItem; #define BUF_HAS_QF_ENTRY 1 #define BUF_HAS_LL_ENTRY 2 +// Maximum number of maphash blocks we will have +#define MAX_MAPHASH 256 + /* * buffer: structure that holds information about one file * @@ -524,8 +530,8 @@ struct file_buffer { */ uint64_t b_chartab[4]; - /* Table used for mappings local to a buffer. */ - mapblock_T *(b_maphash[256]); + // Table used for mappings local to a buffer. + mapblock_T *(b_maphash[MAX_MAPHASH]); /* First abbreviation local to a buffer. */ mapblock_T *b_first_abbr; @@ -754,7 +760,9 @@ struct file_buffer { int b_mapped_ctrl_c; // modes where CTRL-C is mapped - bufhl_info_T *b_bufhl_info; // buffer stored highlights + BufhlInfo b_bufhl_info; // buffer stored highlights + + kvec_t(BufhlLine *) b_bufhl_move_space; // temporary space for highlights }; /* @@ -930,6 +938,14 @@ struct window_S { synblock_T *w_s; /* for :ownsyntax */ + int w_hl_id_normal; ///< 'winhighlight' normal id + int w_hl_attr_normal; ///< 'winhighlight' normal final attrs + + int w_hl_ids[HLF_COUNT]; ///< 'winhighlight' id + int w_hl_attrs[HLF_COUNT]; ///< 'winhighlight' final attrs + + int w_hl_needs_update; ///< attrs need to be recalculated + win_T *w_prev; /* link to previous window */ win_T *w_next; /* link to next window */ bool w_closing; /* window is being closed, don't let @@ -1159,4 +1175,9 @@ struct window_S { qf_info_T *w_llist_ref; }; +static inline int win_hl_attr(win_T *wp, int hlf) +{ + return wp->w_hl_attrs[hlf]; +} + #endif // NVIM_BUFFER_DEFS_H diff --git a/src/nvim/bufhl_defs.h b/src/nvim/bufhl_defs.h index e47bb2a238..24bd6b7f29 100644 --- a/src/nvim/bufhl_defs.h +++ b/src/nvim/bufhl_defs.h @@ -3,23 +3,32 @@ #include "nvim/pos.h" #include "nvim/lib/kvec.h" +#include "nvim/lib/kbtree.h" + // bufhl: buffer specific highlighting -struct bufhl_hl_item -{ +typedef struct { int src_id; int hl_id; // highlight group colnr_T start; // first column to highlight colnr_T stop; // last column to highlight -}; -typedef struct bufhl_hl_item bufhl_hl_item_T; +} BufhlItem; -typedef kvec_t(struct bufhl_hl_item) bufhl_vec_T; +typedef kvec_t(BufhlItem) BufhlItemVec; + +typedef struct { + linenr_T line; + BufhlItemVec items; +} BufhlLine; +#define BUFHLLINE_INIT(l) { l, KV_INITIAL_VALUE } typedef struct { - bufhl_vec_T entries; + BufhlItemVec entries; int current; colnr_T valid_to; -} bufhl_lineinfo_T; +} BufhlLineInfo; +#define BUFHL_CMP(a, b) ((int)(((a)->line - (b)->line))) +KBTREE_INIT(bufhl, BufhlLine *, BUFHL_CMP, 10) +typedef kbtree_t(bufhl) BufhlInfo; #endif // NVIM_BUFHL_DEFS_H diff --git a/src/nvim/charset.c b/src/nvim/charset.c index ee58e0af91..48db1030a6 100644 --- a/src/nvim/charset.c +++ b/src/nvim/charset.c @@ -545,18 +545,8 @@ void transchar_nonprint(char_u *buf, int c) buf[1] = (char_u)(c ^ 0x40); buf[2] = NUL; - } else if (c >= 0x80) { - transchar_hex(buf, c); - } else if ((c >= ' ' + 0x80) && (c <= '~' + 0x80)) { - // 0xa0 - 0xfe - buf[0] = '|'; - buf[1] = (char_u)(c - 0x80); - buf[2] = NUL; } else { - // 0x80 - 0x9f and 0xff - buf[0] = '~'; - buf[1] = (char_u)((c - 0x80) ^ 0x40); - buf[2] = NUL; + transchar_hex(buf, c); } } @@ -1631,13 +1621,13 @@ bool vim_isblankline(char_u *lbuf) /// @param unptr Returns the unsigned result. /// @param maxlen Max length of string to check. void vim_str2nr(const char_u *const start, int *const prep, int *const len, - const int what, long *const nptr, unsigned long *const unptr, - const int maxlen) + const int what, varnumber_T *const nptr, + uvarnumber_T *const unptr, const int maxlen) { const char_u *ptr = start; int pre = 0; // default is decimal bool negative = false; - unsigned long un = 0; + uvarnumber_T un = 0; if (ptr[0] == '-') { negative = true; @@ -1693,7 +1683,12 @@ void vim_str2nr(const char_u *const start, int *const prep, int *const len, n += 2; // skip over "0b" } while ('0' <= *ptr && *ptr <= '1') { - un = 2 * un + (unsigned long)(*ptr - '0'); + // avoid ubsan error for overflow + if (un < UVARNUMBER_MAX / 2) { + un = 2 * un + (uvarnumber_T)(*ptr - '0'); + } else { + un = UVARNUMBER_MAX; + } ptr++; if (n++ == maxlen) { break; @@ -1702,7 +1697,12 @@ void vim_str2nr(const char_u *const start, int *const prep, int *const len, } else if ((pre == '0') || what == STR2NR_OCT + STR2NR_FORCE) { // octal while ('0' <= *ptr && *ptr <= '7') { - un = 8 * un + (unsigned long)(*ptr - '0'); + // avoid ubsan error for overflow + if (un < UVARNUMBER_MAX / 8) { + un = 8 * un + (uvarnumber_T)(*ptr - '0'); + } else { + un = UVARNUMBER_MAX; + } ptr++; if (n++ == maxlen) { break; @@ -1715,7 +1715,12 @@ void vim_str2nr(const char_u *const start, int *const prep, int *const len, n += 2; // skip over "0x" } while (ascii_isxdigit(*ptr)) { - un = 16 * un + (unsigned long)hex2nr(*ptr); + // avoid ubsan error for overflow + if (un < UVARNUMBER_MAX / 16) { + un = 16 * un + (uvarnumber_T)hex2nr(*ptr); + } else { + un = UVARNUMBER_MAX; + } ptr++; if (n++ == maxlen) { break; @@ -1724,7 +1729,12 @@ void vim_str2nr(const char_u *const start, int *const prep, int *const len, } else { // decimal while (ascii_isdigit(*ptr)) { - un = 10 * un + (unsigned long)(*ptr - '0'); + // avoid ubsan error for overflow + if (un < UVARNUMBER_MAX / 10) { + un = 10 * un + (uvarnumber_T)(*ptr - '0'); + } else { + un = UVARNUMBER_MAX; + } ptr++; if (n++ == maxlen) { break; @@ -1741,11 +1751,18 @@ void vim_str2nr(const char_u *const start, int *const prep, int *const len, } if (nptr != NULL) { - if (negative) { - // account for leading '-' for decimal numbers - *nptr = -(long)un; + if (negative) { // account for leading '-' for decimal numbers + // avoid ubsan error for overflow + if (un > VARNUMBER_MAX) { + *nptr = VARNUMBER_MIN; + } else { + *nptr = -(varnumber_T)un; + } } else { - *nptr = (long)un; + if (un > VARNUMBER_MAX) { + un = VARNUMBER_MAX; + } + *nptr = (varnumber_T)un; } } diff --git a/src/nvim/cursor_shape.c b/src/nvim/cursor_shape.c index dcc680f806..97fc3a3ca3 100644 --- a/src/nvim/cursor_shape.c +++ b/src/nvim/cursor_shape.c @@ -142,9 +142,9 @@ char_u *parse_shape_opt(int what) { // Set the defaults, for the missing parts shape_table[idx].shape = SHAPE_BLOCK; - shape_table[idx].blinkwait = 700L; - shape_table[idx].blinkon = 400L; - shape_table[idx].blinkoff = 250L; + shape_table[idx].blinkwait = 0L; + shape_table[idx].blinkon = 0L; + shape_table[idx].blinkoff = 0L; } } @@ -260,7 +260,7 @@ int cursor_mode_str2int(const char *mode) return current_mode; } } - ELOG("Unknown mode %s", mode); + WLOG("Unknown mode %s", mode); return -1; } diff --git a/src/nvim/diff.c b/src/nvim/diff.c index 0bd3f59cf2..7da6665cb7 100644 --- a/src/nvim/diff.c +++ b/src/nvim/diff.c @@ -2311,7 +2311,7 @@ void ex_diffgetput(exarg_T *eap) // Adjust marks. This will change the following entries! if (added != 0) { - mark_adjust(lnum, lnum + count - 1, (long)MAXLNUM, (long)added); + mark_adjust(lnum, lnum + count - 1, (long)MAXLNUM, (long)added, false); if (curwin->w_cursor.lnum >= lnum) { // Adjust the cursor position if it's in/after the changed // lines. diff --git a/src/nvim/edit.c b/src/nvim/edit.c index 678fa851eb..08a2f42f74 100644 --- a/src/nvim/edit.c +++ b/src/nvim/edit.c @@ -3422,7 +3422,6 @@ static void ins_compl_fixRedoBufForLeader(char_u *ptr_arg) else return; /* nothing to do */ } - assert(ptr != NULL); if (compl_orig_text != NULL) { p = compl_orig_text; for (len = 0; p[len] != NUL && p[len] == ptr[len]; ++len) @@ -3434,7 +3433,6 @@ static void ins_compl_fixRedoBufForLeader(char_u *ptr_arg) } else { len = 0; } - assert(ptr != NULL); AppendToRedobuffLit(ptr + len, -1); } @@ -4916,14 +4914,17 @@ static unsigned quote_meta(char_u *dest, char_u *src, int len) if (ctrl_x_mode == CTRL_X_DICTIONARY || ctrl_x_mode == CTRL_X_THESAURUS) break; + // fallthrough case '~': if (!p_magic) /* quote these only if magic is set */ break; + // fallthrough case '\\': if (ctrl_x_mode == CTRL_X_DICTIONARY || ctrl_x_mode == CTRL_X_THESAURUS) break; - case '^': /* currently it's not needed. */ + // fallthrough + case '^': // currently it's not needed. case '$': m++; if (dest != NULL) diff --git a/src/nvim/eval.c b/src/nvim/eval.c index d7feed8bfd..18aa5bf763 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -6,6 +6,7 @@ */ #include <assert.h> +#include <float.h> #include <inttypes.h> #include <stdarg.h> #include <string.h> @@ -97,6 +98,7 @@ #include "nvim/lib/kvec.h" #include "nvim/lib/khash.h" #include "nvim/lib/queue.h" +#include "nvim/lua/executor.h" #include "nvim/eval/typval.h" #include "nvim/eval/executor.h" #include "nvim/eval/gc.h" @@ -445,7 +447,7 @@ typedef struct { bool rpc; int refcount; Callback on_stdout, on_stderr, on_exit; - int *status_ptr; + varnumber_T *status_ptr; uint64_t id; MultiQueue *events; } TerminalJobData; @@ -1080,10 +1082,10 @@ char_u *eval_to_string_safe(char_u *arg, char_u **nextcmd, int use_sandbox) * Evaluates "expr" silently. * Returns -1 for an error. */ -int eval_to_number(char_u *expr) +varnumber_T eval_to_number(char_u *expr) { typval_T rettv; - int retval; + varnumber_T retval; char_u *p = skipwhite(expr); ++emsg_off; @@ -1188,7 +1190,7 @@ int get_spellword(list_T *list, const char **pp) } -// Call some vimL function and return the result in "*rettv". +// Call some vim script function and return the result in "*rettv". // Uses argv[argc] for the function arguments. Only Number and String // arguments are currently supported. // @@ -1202,7 +1204,7 @@ int call_vim_function( typval_T *rettv ) { - long n; + varnumber_T n; int len; int doesrange; void *save_funccalp = NULL; @@ -1255,21 +1257,19 @@ int call_vim_function( return ret; } -/* - * Call vimL function "func" and return the result as a number. - * Returns -1 when calling the function fails. - * Uses argv[argc] for the function arguments. - */ -long -call_func_retnr ( - char_u *func, - int argc, - const char_u *const *const argv, - int safe // use the sandbox -) +/// Call Vim script function and return the result as a number +/// +/// @param[in] func Function name. +/// @param[in] argc Number of arguments. +/// @param[in] argv Array with string arguments. +/// @param[in] safe Use with sandbox. +/// +/// @return -1 when calling function fails, result of function otherwise. +varnumber_T call_func_retnr(char_u *func, int argc, + const char_u *const *const argv, int safe) { typval_T rettv; - long retval; + varnumber_T retval; /* All arguments are passed as strings, no conversion to number. */ if (call_vim_function(func, argc, argv, safe, TRUE, &rettv) == FAIL) @@ -1280,14 +1280,14 @@ call_func_retnr ( return retval; } -/// Call VimL function and return the result as a string +/// Call Vim script function and return the result as a string /// /// @param[in] func Function name. /// @param[in] argc Number of arguments. /// @param[in] argv Array with string arguments. /// @param[in] safe Use the sandbox. /// -/// @return [allocated] NULL when calling function failes, allocated string +/// @return [allocated] NULL when calling function fails, allocated string /// otherwise. char *call_func_retstr(const char *const func, const int argc, const char_u *const *const argv, @@ -1306,18 +1306,17 @@ char *call_func_retstr(const char *const func, const int argc, return retval; } -/* - * Call vimL function "func" and return the result as a List. - * Uses argv[argc] for the function arguments. - * Returns NULL when there is something wrong. - */ -void * -call_func_retlist ( - char_u *func, - int argc, - const char_u *const *const argv, - int safe // use the sandbox -) +/// Call Vim script function and return the result as a List +/// +/// @param[in] func Function name. +/// @param[in] argc Number of arguments. +/// @param[in] argv Array with string arguments. +/// @param[in] safe Use the sandbox. +/// +/// @return [allocated] NULL when calling function fails or return tv is not a +/// List, allocated List otherwise. +void *call_func_retlist(char_u *func, int argc, const char_u *const *const argv, + int safe) { typval_T rettv; @@ -1398,7 +1397,7 @@ void prof_child_exit(proftime_T *tm /* where waittime was stored */ int eval_foldexpr(char_u *arg, int *cp) { typval_T tv; - int retval; + varnumber_T retval; char_u *s; int use_sandbox = was_set_insecurely((char_u *)"foldexpr", OPT_LOCAL); @@ -1431,7 +1430,7 @@ int eval_foldexpr(char_u *arg, int *cp) --sandbox; --textlock; - return retval; + return (int)retval; } /* @@ -2285,7 +2284,7 @@ static char_u *get_lval(char_u *const name, typval_T *const rettv, if (empty1) { lp->ll_n1 = 0; } else { - lp->ll_n1 = tv_get_number(&var1); // Is number or string. + lp->ll_n1 = (long)tv_get_number(&var1); // Is number or string. tv_clear(&var1); } lp->ll_dict = NULL; @@ -2314,7 +2313,7 @@ static char_u *get_lval(char_u *const name, typval_T *const rettv, * Otherwise "lp->ll_n2" is set to the second index. */ if (lp->ll_range && !lp->ll_empty2) { - lp->ll_n2 = tv_get_number(&var2); // Is number or string. + lp->ll_n2 = (long)tv_get_number(&var2); // Is number or string. tv_clear(&var2); if (lp->ll_n2 < 0) { ni = tv_list_find(lp->ll_list, lp->ll_n2); @@ -3524,7 +3523,7 @@ static int eval4(char_u **arg, typval_T *rettv, int evaluate) exptype_T type = TYPE_UNKNOWN; int type_is = FALSE; /* TRUE for "is" and "isnot" */ int len = 2; - long n1, n2; + varnumber_T n1, n2; int ic; /* @@ -3786,7 +3785,7 @@ static int eval5(char_u **arg, typval_T *rettv, int evaluate) typval_T var2; typval_T var3; int op; - long n1, n2; + varnumber_T n1, n2; float_T f1 = 0, f2 = 0; char_u *p; @@ -3916,29 +3915,26 @@ static int eval5(char_u **arg, typval_T *rettv, int evaluate) // TODO(ZyX-I): move to eval/expressions -/* - * Handle fifth level expression: - * * number multiplication - * / number division - * % number modulo - * - * "arg" must point to the first non-white of the expression. - * "arg" is advanced to the next non-white after the recognized expression. - * - * Return OK or FAIL. - */ -static int -eval6 ( - char_u **arg, - typval_T *rettv, - int evaluate, - int want_string /* after "." operator */ -) +/// Handle fifth level expression: +/// - * number multiplication +/// - / number division +/// - % number modulo +/// +/// @param[in,out] arg Points to the first non-whitespace character of the +/// expression. Is advanced to the next non-whitespace +/// character after the recognized expression. +/// @param[out] rettv Location where result is saved. +/// @param[in] evaluate If not true, rettv is not populated. +/// @param[in] want_string True if "." is string_concatenation, otherwise +/// float +/// @return OK or FAIL. +static int eval6(char_u **arg, typval_T *rettv, int evaluate, int want_string) + FUNC_ATTR_NO_SANITIZE_UNDEFINED { typval_T var2; int op; - long n1, n2; - int use_float = FALSE; + varnumber_T n1, n2; + bool use_float = false; float_T f1 = 0, f2; bool error = false; @@ -3959,7 +3955,7 @@ eval6 ( if (evaluate) { if (rettv->v_type == VAR_FLOAT) { f1 = rettv->vval.v_float; - use_float = TRUE; + use_float = true; n1 = 0; } else { n1 = tv_get_number_chk(rettv, &error); @@ -3983,7 +3979,7 @@ eval6 ( if (var2.v_type == VAR_FLOAT) { if (!use_float) { f1 = n1; - use_float = TRUE; + use_float = true; } f2 = var2.vval.v_float; n2 = 0; @@ -4026,18 +4022,20 @@ eval6 ( rettv->v_type = VAR_FLOAT; rettv->vval.v_float = f1; } else { - if (op == '*') + if (op == '*') { n1 = n1 * n2; - else if (op == '/') { - if (n2 == 0) { /* give an error message? */ - if (n1 == 0) - n1 = -0x7fffffffL - 1L; /* similar to NaN */ - else if (n1 < 0) - n1 = -0x7fffffffL; - else - n1 = 0x7fffffffL; - } else + } else if (op == '/') { + if (n2 == 0) { // give an error message? + if (n1 == 0) { + n1 = VARNUMBER_MIN; // similar to NaN + } else if (n1 < 0) { + n1 = -VARNUMBER_MAX; + } else { + n1 = VARNUMBER_MAX; + } + } else { n1 = n1 / n2; + } } else { if (n2 == 0) /* give an error message? */ n1 = 0; @@ -4086,7 +4084,7 @@ static int eval7( int want_string // after "." operator ) { - long n; + varnumber_T n; int len; char_u *s; char_u *start_leader, *end_leader; @@ -4284,7 +4282,7 @@ static int eval7( // Apply logical NOT and unary '-', from right to left, ignore '+'. if (ret == OK && evaluate && end_leader > start_leader) { bool error = false; - int val = 0; + varnumber_T val = 0; float_T f = 0.0; if (rettv->v_type == VAR_FLOAT) { @@ -5099,7 +5097,8 @@ bool garbage_collect(bool testing) do { yankreg_T reg; char name = NUL; - reg_iter = op_register_iter(reg_iter, &name, ®); + bool is_unnamed = false; + reg_iter = op_register_iter(reg_iter, &name, ®, &is_unnamed); if (name != NUL) { ABORTING(set_ref_dict)(reg.additional_data, copyID); } @@ -5896,6 +5895,19 @@ size_t string2float(const char *const text, float_T *const ret_value) { char *s = NULL; + // MS-Windows does not deal with "inf" and "nan" properly + if (STRNICMP(text, "inf", 3) == 0) { + *ret_value = INFINITY; + return 3; + } + if (STRNICMP(text, "-inf", 3) == 0) { + *ret_value = -INFINITY; + return 4; + } + if (STRNICMP(text, "nan", 3) == 0) { + *ret_value = NAN; + return 3; + } *ret_value = strtod(text, &s); return (size_t) (s - text); } @@ -6009,7 +6021,7 @@ char_u *get_expr_name(expand_T *xp, int idx) /// @param[in] name Name of the function. /// /// Returns pointer to the function definition or NULL if not found. -static VimLFuncDef *find_internal_func(const char *const name) +static const VimLFuncDef *find_internal_func(const char *const name) FUNC_ATTR_WARN_UNUSED_RESULT FUNC_ATTR_PURE FUNC_ATTR_NONNULL_ALL { size_t len = strlen(name); @@ -6378,7 +6390,7 @@ call_func( } } else { // Find the function name in the table, call its implementation. - VimLFuncDef *const fdef = find_internal_func((const char *)fname); + const VimLFuncDef *const fdef = find_internal_func((const char *)fname); if (fdef != NULL) { if (argcount < fdef->min_argc) { error = ERROR_TOOFEW; @@ -6510,7 +6522,7 @@ static void api_wrapper(typval_T *argvars, typval_T *rettv, FunPtr fptr) } Error err = ERROR_INIT; - Object result = fn(INTERNAL_CALL, args, &err); + Object result = fn(VIML_INTERNAL_CALL, args, &err); if (ERROR_SET(&err)) { nvim_err_writeln(cstr_as_string(err.msg)); @@ -6676,7 +6688,7 @@ static void f_argv(typval_T *argvars, typval_T *rettv, FunPtr fptr) int idx; if (argvars[0].v_type != VAR_UNKNOWN) { - idx = tv_get_number_chk(&argvars[0], NULL); + idx = (int)tv_get_number_chk(&argvars[0], NULL); if (idx >= 0 && idx < ARGCOUNT) { rettv->vval.v_string = (char_u *)xstrdup( (const char *)alist_name(&ARGLIST[idx])); @@ -6792,6 +6804,17 @@ static void f_assert_notequal(typval_T *argvars, typval_T *rettv, FunPtr fptr) assert_equal_common(argvars, ASSERT_NOTEQUAL); } +/// "assert_report(msg) +static void f_assert_report(typval_T *argvars, typval_T *rettv, FunPtr fptr) +{ + garray_T ga; + + prepare_assert_error(&ga); + ga_concat(&ga, (const char_u *)tv_get_string(&argvars[0])); + assert_error(&ga); + ga_clear(&ga); +} + /// "assert_exception(string[, msg])" function static void f_assert_exception(typval_T *argvars, typval_T *rettv, FunPtr fptr) { @@ -7401,7 +7424,7 @@ static void f_complete(typval_T *argvars, typval_T *rettv, FunPtr fptr) return; } - const int startcol = tv_get_number_chk(&argvars[0], NULL); + const colnr_T startcol = tv_get_number_chk(&argvars[0], NULL); if (startcol <= 0) { return; } @@ -7612,9 +7635,9 @@ static void f_cursor(typval_T *argvars, typval_T *rettv, FunPtr fptr) } } else { line = tv_get_lnum(argvars); - col = tv_get_number_chk(&argvars[1], NULL); + col = (long)tv_get_number_chk(&argvars[1], NULL); if (argvars[2].v_type != VAR_UNKNOWN) { - coladd = tv_get_number_chk(&argvars[2], NULL); + coladd = (long)tv_get_number_chk(&argvars[2], NULL); } } if (line < 0 || col < 0 @@ -8168,7 +8191,7 @@ static void f_extend(typval_T *argvars, typval_T *rettv, FunPtr fptr) } else if (!tv_check_lock(l1->lv_lock, arg_errmsg, TV_TRANSLATE)) { listitem_T *item; if (argvars[2].v_type != VAR_UNKNOWN) { - before = tv_get_number_chk(&argvars[2], &error); + before = (long)tv_get_number_chk(&argvars[2], &error); if (error) { return; // Type error; errmsg already given. } @@ -8537,9 +8560,9 @@ static void f_float2nr(typval_T *argvars, typval_T *rettv, FunPtr fptr) float_T f; if (tv_get_float_chk(argvars, &f)) { - if (f < VARNUMBER_MIN) { - rettv->vval.v_number = VARNUMBER_MIN; - } else if (f > VARNUMBER_MAX) { + if (f <= -VARNUMBER_MAX + DBL_EPSILON) { + rettv->vval.v_number = -VARNUMBER_MAX; + } else if (f >= VARNUMBER_MAX - DBL_EPSILON) { rettv->vval.v_number = VARNUMBER_MAX; } else { rettv->vval.v_number = (varnumber_T)f; @@ -9595,13 +9618,15 @@ static void f_getcwd(typval_T *argvars, typval_T *rettv, FunPtr fptr) if (from) { break; } - case kCdScopeTab: // FALLTHROUGH + // fallthrough + case kCdScopeTab: assert(tp); from = tp->tp_localdir; if (from) { break; } - case kCdScopeGlobal: // FALLTHROUGH + // fallthrough + case kCdScopeGlobal: if (globaldir) { // `globaldir` is not always set. from = globaldir; } else if (os_dirname(cwd, MAXPATHL) == FAIL) { // Get the OS CWD. @@ -10512,6 +10537,7 @@ static void f_has(typval_T *argvars, typval_T *rettv, FunPtr fptr) "mouse", "multi_byte", "multi_lang", + "num64", "packages", "path_extra", "persistent_undo", @@ -10973,83 +10999,126 @@ static int inputsecret_flag = 0; * prompt. The third argument to f_inputdialog() specifies the value to return * when the user cancels the prompt. */ -static void get_user_input(typval_T *argvars, typval_T *rettv, int inputdialog) +void get_user_input(const typval_T *const argvars, + typval_T *const rettv, const bool inputdialog) + FUNC_ATTR_NONNULL_ALL { - const char *prompt = tv_get_string_chk(&argvars[0]); - int cmd_silent_save = cmd_silent; - int xp_type = EXPAND_NOTHING; - char_u *xp_arg = NULL; - rettv->v_type = VAR_STRING; rettv->vval.v_string = NULL; - cmd_silent = FALSE; /* Want to see the prompt. */ - if (prompt != NULL) { - // Only the part of the message after the last NL is considered as - // prompt for the command line. - const char *p = strrchr(prompt, '\n'); - if (p == NULL) { - p = prompt; - } else { - p++; - msg_start(); - msg_clr_eos(); - msg_puts_attr_len(prompt, p - prompt, echo_attr); - msg_didout = false; - msg_starthere(); + const char *prompt = ""; + const char *defstr = ""; + const char *cancelreturn = NULL; + const char *xp_name = NULL; + char prompt_buf[NUMBUFLEN]; + char defstr_buf[NUMBUFLEN]; + char cancelreturn_buf[NUMBUFLEN]; + char xp_name_buf[NUMBUFLEN]; + if (argvars[0].v_type == VAR_DICT) { + if (argvars[1].v_type != VAR_UNKNOWN) { + emsgf(_("E5050: {opts} must be the only argument")); + return; + } + const dict_T *const dict = argvars[0].vval.v_dict; + prompt = tv_dict_get_string_buf_chk(dict, S_LEN("prompt"), prompt_buf, ""); + if (prompt == NULL) { + return; + } + defstr = tv_dict_get_string_buf_chk(dict, S_LEN("default"), defstr_buf, ""); + if (defstr == NULL) { + return; + } + char def[1] = { 0 }; + cancelreturn = tv_dict_get_string_buf_chk(dict, S_LEN("cancelreturn"), + cancelreturn_buf, def); + if (cancelreturn == NULL) { // error + return; + } + if (*cancelreturn == NUL) { + cancelreturn = NULL; + } + xp_name = tv_dict_get_string_buf_chk(dict, S_LEN("completion"), + xp_name_buf, def); + if (xp_name == NULL) { // error + return; + } + if (xp_name == def) { // default to NULL + xp_name = NULL; + } + } else { + prompt = tv_get_string_buf_chk(&argvars[0], prompt_buf); + if (prompt == NULL) { + return; } - cmdline_row = msg_row; - - const char *defstr = ""; - char buf[NUMBUFLEN]; if (argvars[1].v_type != VAR_UNKNOWN) { - defstr = tv_get_string_buf_chk(&argvars[1], buf); - if (defstr != NULL) { - stuffReadbuffSpec(defstr); + defstr = tv_get_string_buf_chk(&argvars[1], defstr_buf); + if (defstr == NULL) { + return; } - - if (!inputdialog && argvars[2].v_type != VAR_UNKNOWN) { - char buf2[NUMBUFLEN]; - // input() with a third argument: completion - rettv->vval.v_string = NULL; - - const char *const xp_name = tv_get_string_buf_chk(&argvars[2], buf2); - if (xp_name == NULL) { + if (argvars[2].v_type != VAR_UNKNOWN) { + const char *const arg2 = tv_get_string_buf_chk(&argvars[2], + cancelreturn_buf); + if (arg2 == NULL) { return; } - - const int xp_namelen = (int)strlen(xp_name); - - uint32_t argt; - if (parse_compl_arg((char_u *)xp_name, xp_namelen, &xp_type, &argt, - &xp_arg) == FAIL) { - return; + if (inputdialog) { + cancelreturn = arg2; + } else { + xp_name = arg2; } } } + } - if (defstr != NULL) { - int save_ex_normal_busy = ex_normal_busy; - ex_normal_busy = 0; - rettv->vval.v_string = - getcmdline_prompt(inputsecret_flag ? NUL : '@', (char_u *)p, echo_attr, - xp_type, xp_arg); - ex_normal_busy = save_ex_normal_busy; - } - if (inputdialog && rettv->vval.v_string == NULL - && argvars[1].v_type != VAR_UNKNOWN - && argvars[2].v_type != VAR_UNKNOWN) { - char buf[NUMBUFLEN]; - rettv->vval.v_string = (char_u *)xstrdup(tv_get_string_buf( - &argvars[2], buf)); + int xp_type = EXPAND_NOTHING; + char *xp_arg = NULL; + if (xp_name != NULL) { + // input() with a third argument: completion + const int xp_namelen = (int)strlen(xp_name); + + uint32_t argt; + if (parse_compl_arg((char_u *)xp_name, xp_namelen, &xp_type, + &argt, (char_u **)&xp_arg) == FAIL) { + return; } + } - xfree(xp_arg); + int cmd_silent_save = cmd_silent; - /* since the user typed this, no need to wait for return */ - need_wait_return = FALSE; - msg_didout = FALSE; + cmd_silent = false; // Want to see the prompt. + // Only the part of the message after the last NL is considered as + // prompt for the command line. + const char *p = strrchr(prompt, '\n'); + if (p == NULL) { + p = prompt; + } else { + p++; + msg_start(); + msg_clr_eos(); + msg_puts_attr_len(prompt, p - prompt, echo_attr); + msg_didout = false; + msg_starthere(); } + cmdline_row = msg_row; + + stuffReadbuffSpec(defstr); + + int save_ex_normal_busy = ex_normal_busy; + ex_normal_busy = 0; + rettv->vval.v_string = + getcmdline_prompt(inputsecret_flag ? NUL : '@', (char_u *)p, echo_attr, + xp_type, (char_u *)xp_arg); + ex_normal_busy = save_ex_normal_busy; + + if (rettv->vval.v_string == NULL && cancelreturn != NULL) { + rettv->vval.v_string = (char_u *)xstrdup(cancelreturn); + } + + xfree(xp_arg); + + // Since the user typed this, no need to wait for return. + need_wait_return = false; + msg_didout = false; cmd_silent = cmd_silent_save; } @@ -12056,24 +12125,61 @@ static void get_maparg(typval_T *argvars, typval_T *rettv, int exact) tv_dict_alloc_ret(rettv); if (rhs != NULL) { // Return a dictionary. - char_u *lhs = str2special_save(mp->m_keys, true); - char *const mapmode = map_mode_to_chars(mp->m_mode); - dict_T *dict = rettv->vval.v_dict; + mapblock_fill_dict(rettv->vval.v_dict, mp, buffer_local, true); + } + } +} - tv_dict_add_str(dict, S_LEN("lhs"), (const char *)lhs); - tv_dict_add_str(dict, S_LEN("rhs"), (const char *)mp->m_orig_str); - tv_dict_add_nr(dict, S_LEN("noremap"), mp->m_noremap ? 1 : 0); - tv_dict_add_nr(dict, S_LEN("expr"), mp->m_expr ? 1 : 0); - tv_dict_add_nr(dict, S_LEN("silent"), mp->m_silent ? 1 : 0); - tv_dict_add_nr(dict, S_LEN("sid"), (varnumber_T)mp->m_script_ID); - tv_dict_add_nr(dict, S_LEN("buffer"), (varnumber_T)buffer_local); - tv_dict_add_nr(dict, S_LEN("nowait"), mp->m_nowait ? 1 : 0); - tv_dict_add_str(dict, S_LEN("mode"), mapmode); +/// luaeval() function implementation +static void f_luaeval(typval_T *argvars, typval_T *rettv, FunPtr fptr) + FUNC_ATTR_NONNULL_ALL +{ + const char *const str = (const char *)tv_get_string_chk(&argvars[0]); + if (str == NULL) { + return; + } - xfree(lhs); - xfree(mapmode); - } + executor_eval_lua(cstr_as_string((char *)str), &argvars[1], rettv); +} + +/// Fill a dictionary with all applicable maparg() like dictionaries +/// +/// @param dict The dictionary to be filled +/// @param mp The maphash that contains the mapping information +/// @param buffer_value The "buffer" value +/// @param compatible True for compatible with old maparg() dict +void mapblock_fill_dict(dict_T *const dict, + const mapblock_T *const mp, + long buffer_value, + bool compatible) + FUNC_ATTR_NONNULL_ALL +{ + char_u *lhs = str2special_save(mp->m_keys, true); + char *const mapmode = map_mode_to_chars(mp->m_mode); + varnumber_T noremap_value; + + if (compatible) { + // Keep old compatible behavior + // This is unable to determine whether a mapping is a <script> mapping + noremap_value = !!mp->m_noremap; + } else { + // Distinguish between <script> mapping + // If it's not a <script> mapping, check if it's a noremap + noremap_value = mp->m_noremap == REMAP_SCRIPT ? 2 : !!mp->m_noremap; } + + tv_dict_add_str(dict, S_LEN("lhs"), (const char *)lhs); + tv_dict_add_str(dict, S_LEN("rhs"), (const char *)mp->m_orig_str); + tv_dict_add_nr(dict, S_LEN("noremap"), noremap_value); + tv_dict_add_nr(dict, S_LEN("expr"), mp->m_expr ? 1 : 0); + tv_dict_add_nr(dict, S_LEN("silent"), mp->m_silent ? 1 : 0); + tv_dict_add_nr(dict, S_LEN("sid"), (varnumber_T)mp->m_script_ID); + tv_dict_add_nr(dict, S_LEN("buffer"), (varnumber_T)buffer_value); + tv_dict_add_nr(dict, S_LEN("nowait"), mp->m_nowait ? 1 : 0); + tv_dict_add_str(dict, S_LEN("mode"), mapmode); + + xfree(lhs); + xfree(mapmode); } /* @@ -12575,59 +12681,18 @@ static void f_mkdir(typval_T *argvars, typval_T *rettv, FunPtr fptr) } } -/* - * "mode()" function - */ +/// "mode()" function static void f_mode(typval_T *argvars, typval_T *rettv, FunPtr fptr) { - char_u buf[3]; - - buf[1] = NUL; - buf[2] = NUL; + char *mode = get_mode(); - if (VIsual_active) { - if (VIsual_select) - buf[0] = VIsual_mode + 's' - 'v'; - else - buf[0] = VIsual_mode; - } else if (State == HITRETURN || State == ASKMORE || State == SETWSIZE - || State == CONFIRM) { - buf[0] = 'r'; - if (State == ASKMORE) - buf[1] = 'm'; - else if (State == CONFIRM) - buf[1] = '?'; - } else if (State == EXTERNCMD) - buf[0] = '!'; - else if (State & INSERT) { - if (State & VREPLACE_FLAG) { - buf[0] = 'R'; - buf[1] = 'v'; - } else if (State & REPLACE_FLAG) - buf[0] = 'R'; - else - buf[0] = 'i'; - } else if (State & CMDLINE) { - buf[0] = 'c'; - if (exmode_active) - buf[1] = 'v'; - } else if (exmode_active) { - buf[0] = 'c'; - buf[1] = 'e'; - } else if (State & TERM_FOCUS) { - buf[0] = 't'; - } else { - buf[0] = 'n'; - if (finish_op) - buf[1] = 'o'; + // Clear out the minor mode when the argument is not a non-zero number or + // non-empty string. + if (!non_zero_arg(&argvars[0])) { + mode[1] = NUL; } - /* Clear out the minor mode when the argument is not a non-zero number or - * non-empty string. */ - if (!non_zero_arg(&argvars[0])) - buf[1] = NUL; - - rettv->vval.v_string = vim_strsave(buf); + rettv->vval.v_string = (char_u *)mode; rettv->v_type = VAR_STRING; } @@ -12902,7 +12967,7 @@ static void f_range(typval_T *argvars, typval_T *rettv, FunPtr fptr) varnumber_T start; varnumber_T end; varnumber_T stride = 1; - long i; + varnumber_T i; bool error = false; start = tv_get_number_chk(&argvars[0], &error); @@ -13041,8 +13106,9 @@ static void f_readfile(typval_T *argvars, typval_T *rettv, FunPtr fptr) /* have to shuffle buf to close gap */ int adjust_prevlen = 0; - if (dest < buf) { - adjust_prevlen = (int)(buf - dest); /* must be 1 or 2 */ + if (dest < buf) { // -V782 + adjust_prevlen = (int)(buf - dest); // -V782 + // adjust_prevlen must be 1 or 2. dest = buf; } if (readlen > p - buf + 1) @@ -13119,7 +13185,7 @@ static int list2proftime(typval_T *arg, proftime_T *tm) FUNC_ATTR_NONNULL_ALL // in f_reltime() we split up the 64-bit proftime_T into two 32-bit // values, now we combine them again. union { - struct { varnumber_T low, high; } split; + struct { int32_t low, high; } split; proftime_T prof; } u = { .split.high = n1, .split.low = n2 }; @@ -13160,7 +13226,7 @@ static void f_reltime(typval_T *argvars, typval_T *rettv, FunPtr fptr) // (varnumber_T is defined as int). For all our supported platforms, int's // are at least 32-bits wide. So we'll use two 32-bit values to store it. union { - struct { varnumber_T low, high; } split; + struct { int32_t low, high; } split; proftime_T prof; } u = { .prof = res }; @@ -14278,22 +14344,39 @@ static void f_serverstart(typval_T *argvars, typval_T *rettv, FunPtr fptr) return; } + char *address; // If the user supplied an address, use it, otherwise use a temp. if (argvars[0].v_type != VAR_UNKNOWN) { if (argvars[0].v_type != VAR_STRING) { EMSG(_(e_invarg)); return; } else { - rettv->vval.v_string = (char_u *)xstrdup(tv_get_string(argvars)); + address = xstrdup(tv_get_string(argvars)); } } else { - rettv->vval.v_string = (char_u *)server_address_new(); + address = server_address_new(); } - int result = server_start((char *) rettv->vval.v_string); + int result = server_start(address); + xfree(address); + if (result != 0) { - EMSG2("Failed to start server: %s", uv_strerror(result)); + EMSG2("Failed to start server: %s", + result > 0 ? "Unknown system error" : uv_strerror(result)); + return; } + + // Since it's possible server_start adjusted the given {address} (e.g., + // "localhost:" will now have a port), return the final value to the user. + size_t n; + char **addrs = server_address_list(&n); + rettv->vval.v_string = (char_u *)addrs[n - 1]; + + n--; + for (size_t i = 0; i < n; i++) { + xfree(addrs[i]); + } + xfree(addrs); } /// "serverstop()" function @@ -14774,6 +14857,7 @@ static void f_setreg(typval_T *argvars, typval_T *rettv, FunPtr fptr) regname = '"'; } + bool set_unnamed = false; if (argvars[2].v_type != VAR_UNKNOWN) { const char *stropt = tv_get_string_chk(&argvars[2]); if (stropt == NULL) { @@ -14802,6 +14886,10 @@ static void f_setreg(typval_T *argvars, typval_T *rettv, FunPtr fptr) } break; } + case 'u': case '"': { // unnamed register + set_unnamed = true; + break; + } } } } @@ -14854,6 +14942,11 @@ free_lstval: append, yank_type, block_len); } rettv->vval.v_number = 0; + + if (set_unnamed) { + // Discard the result. We already handle the error case. + if (op_register_set_previous(regname)) { } + } } /* @@ -14998,6 +15091,54 @@ static void f_simplify(typval_T *argvars, typval_T *rettv, FunPtr fptr) rettv->v_type = VAR_STRING; } +/// "sockconnect()" function +static void f_sockconnect(typval_T *argvars, typval_T *rettv, FunPtr fptr) +{ + if (argvars[0].v_type != VAR_STRING || argvars[1].v_type != VAR_STRING) { + EMSG(_(e_invarg)); + return; + } + if (argvars[2].v_type != VAR_DICT && argvars[2].v_type != VAR_UNKNOWN) { + // Wrong argument types + EMSG2(_(e_invarg2), "expected dictionary"); + return; + } + + const char *mode = tv_get_string(&argvars[0]); + const char *address = tv_get_string(&argvars[1]); + + bool tcp; + if (strcmp(mode, "tcp") == 0) { + tcp = true; + } else if (strcmp(mode, "pipe") == 0) { + tcp = false; + } else { + EMSG2(_(e_invarg2), "invalid mode"); + return; + } + + bool rpc = false; + if (argvars[2].v_type == VAR_DICT) { + dict_T *opts = argvars[2].vval.v_dict; + rpc = tv_dict_get_number(opts, "rpc") != 0; + } + + if (!rpc) { + EMSG2(_(e_invarg2), "rpc option must be true"); + return; + } + + const char *error = NULL; + uint64_t id = channel_connect(tcp, address, 50, &error); + + if (error) { + EMSG2(_("connection failed: %s"), error); + } + + rettv->vval.v_number = (varnumber_T)id; + rettv->v_type = VAR_NUMBER; +} + /// struct used in the array that's given to qsort() typedef struct { listitem_T *item; @@ -15033,8 +15174,8 @@ static int item_compare(const void *s1, const void *s2, bool keep_zero) int res; if (sortinfo->item_compare_numbers) { - const long v1 = tv_get_number(tv1); - const long v2 = tv_get_number(tv2); + const varnumber_T v1 = tv_get_number(tv1); + const varnumber_T v2 = tv_get_number(tv2); res = v1 == v2 ? 0 : v1 > v2 ? 1 : -1; goto item_compare_end; @@ -15566,11 +15707,15 @@ static void f_split(typval_T *argvars, typval_T *rettv, FunPtr fptr) static void f_str2float(typval_T *argvars, typval_T *rettv, FunPtr fptr) { char_u *p = skipwhite((const char_u *)tv_get_string(&argvars[0])); + bool isneg = (*p == '-'); - if (*p == '+') { + if (*p == '+' || *p == '-') { p = skipwhite(p + 1); } (void)string2float((char *)p, &rettv->vval.v_float); + if (isneg) { + rettv->vval.v_float *= -1; + } rettv->v_type = VAR_FLOAT; } @@ -15578,7 +15723,7 @@ static void f_str2float(typval_T *argvars, typval_T *rettv, FunPtr fptr) static void f_str2nr(typval_T *argvars, typval_T *rettv, FunPtr fptr) { int base = 10; - long n; + varnumber_T n; int what; if (argvars[1].v_type != VAR_UNKNOWN) { @@ -15590,7 +15735,8 @@ static void f_str2nr(typval_T *argvars, typval_T *rettv, FunPtr fptr) } char_u *p = skipwhite((const char_u *)tv_get_string(&argvars[0])); - if (*p == '+') { + bool isneg = (*p == '-'); + if (*p == '+' || *p == '-') { p = skipwhite(p + 1); } switch (base) { @@ -15611,7 +15757,11 @@ static void f_str2nr(typval_T *argvars, typval_T *rettv, FunPtr fptr) } } vim_str2nr(p, NULL, NULL, what, &n, NULL, 0); - rettv->vval.v_number = n; + if (isneg) { + rettv->vval.v_number = -n; + } else { + rettv->vval.v_number = n; + } } /* @@ -17989,7 +18139,7 @@ static int eval_isnamec1(int c) /* * Get number v: variable value. */ -long get_vim_var_nr(int idx) FUNC_ATTR_PURE +varnumber_T get_vim_var_nr(int idx) FUNC_ATTR_PURE { return vimvars[idx].vv_nr; } @@ -19615,10 +19765,12 @@ void ex_function(exarg_T *eap) /* When there is a line break use what follows for the function body. * Makes 'exe "func Test()\n...\nendfunc"' work. */ - if (*p == '\n') + const char *const end = (const char *)p + STRLEN(p); + if (*p == '\n') { line_arg = p + 1; - else if (*p != NUL && *p != '"' && !eap->skip && !did_emsg) - EMSG(_(e_trailing)); + } else if (*p != NUL && *p != '"' && !eap->skip && !did_emsg) { + emsgf(_(e_trailing)); + } /* * Read the body of the function, until ":endfunction" is found. @@ -19692,8 +19844,30 @@ void ex_function(exarg_T *eap) /* Check for "endfunction". */ if (checkforcmd(&p, "endfunction", 4) && nesting-- == 0) { - if (line_arg == NULL) + if (*p == '!') { + p++; + } + const char *const comment_start = strchr((const char *)p, '"'); + const char *const endfunc_end = (comment_start + ? strchr(comment_start, '\n') + : strpbrk((const char *)p, "\n|")); + p = (endfunc_end + ? (char_u *)endfunc_end + : p + STRLEN(p)); + if (*p == '|') { + emsgf(_(e_trailing2), p); + if (line_arg == NULL) { + xfree(theline); + } + goto erret; + } + if (line_arg == NULL) { xfree(theline); + } else { + if ((const char *)p < end) { + eap->nextcmd = p + 1; + } + } break; } @@ -19720,9 +19894,15 @@ void ex_function(exarg_T *eap) } } - /* Check for ":append" or ":insert". */ + // Check for ":append", ":change", ":insert". p = skip_range(p, NULL); if ((p[0] == 'a' && (!ASCII_ISALPHA(p[1]) || p[1] == 'p')) + || (p[0] == 'c' + && (!ASCII_ISALPHA(p[1]) + || (p[1] == 'h' && (!ASCII_ISALPHA(p[2]) + || (p[2] == 'a' + && (STRNCMP(&p[3], "nge", 3) != 0 + || !ASCII_ISALPHA(p[6]))))))) || (p[0] == 'i' && (!ASCII_ISALPHA(p[1]) || (p[1] == 'n' && (!ASCII_ISALPHA(p[2]) @@ -21076,9 +21256,9 @@ void call_user_func(ufunc_T *fp, int argcount, typval_T *argvars, // Do not want errors such as E724 here. emsg_off++; char *tofree = encode_tv2string(&argvars[i], NULL); - char *s = tofree; emsg_off--; - if (s != NULL) { + if (tofree != NULL) { + char *s = tofree; char buf[MSG_BUF_LEN]; if (vim_strsize((char_u *)s) > MSG_BUF_CLEN) { trunc_string((char_u *)s, (char_u *)buf, MSG_BUF_CLEN, @@ -21142,7 +21322,7 @@ void call_user_func(ufunc_T *fp, int argcount, typval_T *argvars, if (func_or_func_caller_profiling) { call_start = profile_end(call_start); - call_start = profile_sub_wait(wait_start, call_start); + call_start = profile_sub_wait(wait_start, call_start); // -V614 fp->uf_tm_total = profile_add(fp->uf_tm_total, call_start); fp->uf_tm_self = profile_self(fp->uf_tm_self, call_start, fp->uf_tm_children); @@ -21820,52 +22000,6 @@ void last_set_msg(scid_T scriptID) } } -/* - * List v:oldfiles in a nice way. - */ -void ex_oldfiles(exarg_T *eap) -{ - list_T *l = get_vim_var_list(VV_OLDFILES); - listitem_T *li; - long nr = 0; - - if (l == NULL) - msg((char_u *)_("No old files")); - else { - msg_start(); - msg_scroll = TRUE; - for (li = l->lv_first; li != NULL && !got_int; li = li->li_next) { - msg_outnum(++nr); - MSG_PUTS(": "); - msg_outtrans((char_u *)tv_get_string(&li->li_tv)); - msg_clr_eos(); - msg_putchar('\n'); - ui_flush(); /* output one line at a time */ - os_breakcheck(); - } - /* Assume "got_int" was set to truncate the listing. */ - got_int = FALSE; - - // File selection prompt on ":browse oldfiles" - if (cmdmod.browse) { - quit_more = false; - nr = prompt_for_number(false); - msg_starthere(); - if (nr > 0 && nr <= l->lv_len) { - const char *const p = tv_list_find_str(l, nr - 1); - if (p == NULL) { - return; - } - char *const s = (char *)expand_env_save((char_u *)p); - eap->arg = (char_u *)s; - eap->cmdidx = CMD_edit; - do_exedit(eap, NULL); - xfree(s); - } - } - } -} - // reset v:option_new, v:option_old and v:option_type void reset_v_option_vars(void) { diff --git a/src/nvim/eval.lua b/src/nvim/eval.lua index 21b5bbb139..30766a0734 100644 --- a/src/nvim/eval.lua +++ b/src/nvim/eval.lua @@ -33,6 +33,7 @@ return { assert_match={args={2, 3}}, assert_notequal={args={2, 3}}, assert_notmatch={args={2, 3}}, + assert_report={args=1}, assert_true={args={1, 2}}, atan={args=1, func="float_op_wrapper", data="&atan"}, atan2={args=2}, @@ -193,6 +194,7 @@ return { localtime={}, log={args=1, func="float_op_wrapper", data="&log"}, log10={args=1, func="float_op_wrapper", data="&log10"}, + luaeval={args={1, 2}}, map={args=2}, maparg={args={1, 4}}, mapcheck={args={1, 3}}, @@ -267,6 +269,7 @@ return { simplify={args=1}, sin={args=1, func="float_op_wrapper", data="&sin"}, sinh={args=1, func="float_op_wrapper", data="&sinh"}, + sockconnect={args={2,3}}, sort={args={1, 3}}, soundfold={args=1}, spellbadword={args={0, 1}}, diff --git a/src/nvim/eval/decode.c b/src/nvim/eval/decode.c index 8905317f15..9c9c2c2dc8 100644 --- a/src/nvim/eval/decode.c +++ b/src/nvim/eval/decode.c @@ -11,6 +11,7 @@ #include "nvim/ascii.h" #include "nvim/macros.h" #include "nvim/message.h" +#include "nvim/globals.h" #include "nvim/charset.h" // vim_str2nr #include "nvim/lib/kvec.h" #include "nvim/vim.h" // OK, FAIL @@ -223,6 +224,78 @@ static inline int json_decoder_pop(ValuesStackItem obj, } \ } while (0) +/// Create a new special dictionary that ought to represent a MAP +/// +/// @param[out] ret_tv Address where new special dictionary is saved. +/// +/// @return [allocated] list which should contain key-value pairs. Return value +/// may be safely ignored. +list_T *decode_create_map_special_dict(typval_T *const ret_tv) + FUNC_ATTR_NONNULL_ALL +{ + list_T *const list = tv_list_alloc(); + list->lv_refcount++; + create_special_dict(ret_tv, kMPMap, ((typval_T) { + .v_type = VAR_LIST, + .v_lock = VAR_UNLOCKED, + .vval = { .v_list = list }, + })); + return list; +} + +/// Convert char* string to typval_T +/// +/// Depending on whether string has (no) NUL bytes, it may use a special +/// dictionary or decode string to VAR_STRING. +/// +/// @param[in] s String to decode. +/// @param[in] len String length. +/// @param[in] hasnul Whether string has NUL byte, not or it was not yet +/// determined. +/// @param[in] binary If true, save special string type as kMPBinary, +/// otherwise kMPString. +/// @param[in] s_allocated If true, then `s` was allocated and can be saved in +/// a returned structure. If it is not saved there, it +/// will be freed. +/// +/// @return Decoded string. +typval_T decode_string(const char *const s, const size_t len, + const TriState hasnul, const bool binary, + const bool s_allocated) + FUNC_ATTR_WARN_UNUSED_RESULT +{ + assert(s != NULL || len == 0); + const bool really_hasnul = (hasnul == kNone + ? memchr(s, NUL, len) != NULL + : (bool)hasnul); + if (really_hasnul) { + list_T *const list = tv_list_alloc(); + list->lv_refcount++; + typval_T tv; + create_special_dict(&tv, binary ? kMPBinary : kMPString, ((typval_T) { + .v_type = VAR_LIST, + .v_lock = VAR_UNLOCKED, + .vval = { .v_list = list }, + })); + const int elw_ret = encode_list_write((void *)list, s, len); + if (s_allocated) { + xfree((void *)s); + } + if (elw_ret == -1) { + tv_clear(&tv); + return (typval_T) { .v_type = VAR_UNKNOWN, .v_lock = VAR_UNLOCKED }; + } + return tv; + } else { + return (typval_T) { + .v_type = VAR_STRING, + .v_lock = VAR_UNLOCKED, + .vval = { .v_string = (char_u *)( + s_allocated ? (char *)s : xmemdupz(s, len)) }, + }; + } +} + /// Parse JSON double-quoted string /// /// @param[in] buf Buffer being converted. @@ -362,8 +435,8 @@ static inline int parse_json_string(const char *const buf, const size_t buf_len, case 'u': { const char ubuf[] = { t[1], t[2], t[3], t[4] }; t += 4; - unsigned long ch; - vim_str2nr((char_u *) ubuf, NULL, NULL, + uvarnumber_T ch; + vim_str2nr((char_u *)ubuf, NULL, NULL, STR2NR_HEX | STR2NR_FORCE, NULL, &ch, 4); if (ch == 0) { hasnul = true; @@ -416,29 +489,13 @@ static inline int parse_json_string(const char *const buf, const size_t buf_len, } PUT_FST_IN_PAIR(fst_in_pair, str_end); #undef PUT_FST_IN_PAIR - if (hasnul) { - typval_T obj; - list_T *const list = tv_list_alloc(); - list->lv_refcount++; - create_special_dict(&obj, kMPString, ((typval_T) { - .v_type = VAR_LIST, - .v_lock = VAR_UNLOCKED, - .vval = { .v_list = list }, - })); - if (encode_list_write((void *) list, str, (size_t) (str_end - str)) - == -1) { - tv_clear(&obj); - goto parse_json_string_fail; - } - xfree(str); - POP(obj, true); - } else { - *str_end = NUL; - POP(((typval_T) { - .v_type = VAR_STRING, - .vval = { .v_string = (char_u *) str }, - }), false); + *str_end = NUL; + typval_T obj = decode_string( + str, (size_t)(str_end - str), hasnul ? kTrue : kFalse, false, true); + if (obj.v_type == VAR_UNKNOWN) { + goto parse_json_string_fail; } + POP(obj, obj.v_type != VAR_STRING); goto parse_json_string_ret; parse_json_string_fail: ret = FAIL; @@ -552,7 +609,7 @@ parse_json_number_check: tv.v_type = VAR_FLOAT; } else { // Convert integer - long nr; + varnumber_T nr; int num_len; vim_str2nr((char_u *) s, NULL, &num_len, 0, &nr, NULL, (int) (p - s)); if ((int) exp_num_len != num_len) { @@ -560,7 +617,7 @@ parse_json_number_check: "to integer vim_str2nr consumed %i bytes in place of %zu"), (int) exp_num_len, s, num_len, exp_num_len); } - tv.vval.v_number = (varnumber_T) nr; + tv.vval.v_number = nr; } if (json_decoder_pop(OBJ(tv, false, *didcomma, *didcolon), stack, container_stack, @@ -812,13 +869,7 @@ json_decode_string_cycle_start: list_T *val_list = NULL; if (next_map_special) { next_map_special = false; - val_list = tv_list_alloc(); - val_list->lv_refcount++; - create_special_dict(&tv, kMPMap, ((typval_T) { - .v_type = VAR_LIST, - .v_lock = VAR_UNLOCKED, - .vval = { .v_list = val_list }, - })); + val_list = decode_create_map_special_dict(&tv); } else { dict_T *dict = tv_dict_alloc(); dict->dv_refcount++; @@ -971,37 +1022,17 @@ int msgpack_to_vim(const msgpack_object mobj, typval_T *const rettv) break; } case MSGPACK_OBJECT_STR: { - list_T *const list = tv_list_alloc(); - list->lv_refcount++; - create_special_dict(rettv, kMPString, ((typval_T) { - .v_type = VAR_LIST, - .v_lock = VAR_UNLOCKED, - .vval = { .v_list = list }, - })); - if (encode_list_write((void *) list, mobj.via.str.ptr, mobj.via.str.size) - == -1) { + *rettv = decode_string(mobj.via.bin.ptr, mobj.via.bin.size, kTrue, false, + false); + if (rettv->v_type == VAR_UNKNOWN) { return FAIL; } break; } case MSGPACK_OBJECT_BIN: { - if (memchr(mobj.via.bin.ptr, NUL, mobj.via.bin.size) == NULL) { - *rettv = (typval_T) { - .v_type = VAR_STRING, - .v_lock = VAR_UNLOCKED, - .vval = { .v_string = xmemdupz(mobj.via.bin.ptr, mobj.via.bin.size) }, - }; - break; - } - list_T *const list = tv_list_alloc(); - list->lv_refcount++; - create_special_dict(rettv, kMPBinary, ((typval_T) { - .v_type = VAR_LIST, - .v_lock = VAR_UNLOCKED, - .vval = { .v_list = list }, - })); - if (encode_list_write((void *) list, mobj.via.bin.ptr, mobj.via.bin.size) - == -1) { + *rettv = decode_string(mobj.via.bin.ptr, mobj.via.bin.size, kNone, true, + false); + if (rettv->v_type == VAR_UNKNOWN) { return FAIL; } break; @@ -1058,13 +1089,7 @@ int msgpack_to_vim(const msgpack_object mobj, typval_T *const rettv) } break; msgpack_to_vim_generic_map: {} - list_T *const list = tv_list_alloc(); - list->lv_refcount++; - create_special_dict(rettv, kMPMap, ((typval_T) { - .v_type = VAR_LIST, - .v_lock = VAR_UNLOCKED, - .vval = { .v_list = list }, - })); + list_T *const list = decode_create_map_special_dict(rettv); for (size_t i = 0; i < mobj.via.map.size; i++) { list_T *const kv_pair = tv_list_alloc(); tv_list_append_list(list, kv_pair); diff --git a/src/nvim/eval/decode.h b/src/nvim/eval/decode.h index c8e7a189e3..77fc4c78c2 100644 --- a/src/nvim/eval/decode.h +++ b/src/nvim/eval/decode.h @@ -6,6 +6,7 @@ #include <msgpack.h> #include "nvim/eval/typval.h" +#include "nvim/globals.h" #ifdef INCLUDE_GENERATED_DECLARATIONS # include "eval/decode.h.generated.h" diff --git a/src/nvim/eval/encode.c b/src/nvim/eval/encode.c index 742497c1ca..ef647b3ee4 100644 --- a/src/nvim/eval/encode.c +++ b/src/nvim/eval/encode.c @@ -253,9 +253,11 @@ int encode_read_from_list(ListReaderState *const state, char *const buf, char *const buf_end = buf + nbuf; char *p = buf; while (p < buf_end) { + assert(state->li_length == 0 || state->li->li_tv.vval.v_string != NULL); for (size_t i = state->offset; i < state->li_length && p < buf_end; i++) { - const char ch = (char) state->li->li_tv.vval.v_string[state->offset++]; - *p++ = (char) ((char) ch == (char) NL ? (char) NUL : (char) ch); + assert(state->li->li_tv.vval.v_string != NULL); + const char ch = (char)state->li->li_tv.vval.v_string[state->offset++]; + *p++ = (char)((char)ch == (char)NL ? (char)NUL : (char)ch); } if (p < buf_end) { state->li = state->li->li_next; diff --git a/src/nvim/eval/executor.c b/src/nvim/eval/executor.c index 91bb61323f..99298cbbcf 100644 --- a/src/nvim/eval/executor.c +++ b/src/nvim/eval/executor.c @@ -25,7 +25,7 @@ char *e_listidx = N_("E684: list index out of range: %" PRId64); /// @return OK or FAIL. int eexe_mod_op(typval_T *const tv1, const typval_T *const tv2, const char *const op) - FUNC_ATTR_NONNULL_ALL + FUNC_ATTR_NONNULL_ALL FUNC_ATTR_NO_SANITIZE_UNDEFINED { // Can't do anything with a Funcref, a Dict or special value on the right. if (tv2->v_type != VAR_FUNC && tv2->v_type != VAR_DICT) { @@ -55,7 +55,7 @@ int eexe_mod_op(typval_T *const tv1, const typval_T *const tv2, // nr += nr or nr -= nr varnumber_T n = tv_get_number(tv1); if (tv2->v_type == VAR_FLOAT) { - float_T f = n; + float_T f = (float_T)n; if (*op == '+') { f += tv2->vval.v_float; @@ -99,7 +99,7 @@ int eexe_mod_op(typval_T *const tv1, const typval_T *const tv2, } const float_T f = (tv2->v_type == VAR_FLOAT ? tv2->vval.v_float - : tv_get_number(tv2)); + : (float_T)tv_get_number(tv2)); if (*op == '+') { tv1->vval.v_float += f; } else { diff --git a/src/nvim/eval/typval.c b/src/nvim/eval/typval.c index 786b766689..4521085519 100644 --- a/src/nvim/eval/typval.c +++ b/src/nvim/eval/typval.c @@ -1210,7 +1210,8 @@ char *tv_dict_get_string(const dict_T *const d, const char *const key, /// /// @param[in] d Dictionary to get item from. /// @param[in] key Dictionary key. -/// @param[in] numbuf Numbuf for. +/// @param[in] numbuf Buffer for non-string items converted to strings, at +/// least of #NUMBUFLEN length. /// /// @return NULL if key does not exist, empty string in case of type error, /// string item value otherwise. @@ -1225,6 +1226,32 @@ const char *tv_dict_get_string_buf(const dict_T *const d, const char *const key, return tv_get_string_buf(&di->di_tv, numbuf); } +/// Get a string item from a dictionary +/// +/// @param[in] d Dictionary to get item from. +/// @param[in] key Dictionary key. +/// @param[in] key_len Key length. +/// @param[in] numbuf Buffer for non-string items converted to strings, at +/// least of #NUMBUFLEN length. +/// @param[in] def Default return when key does not exist. +/// +/// @return `def` when key does not exist, +/// NULL in case of type error, +/// string item value in case of success. +const char *tv_dict_get_string_buf_chk(const dict_T *const d, + const char *const key, + const ptrdiff_t key_len, + char *const numbuf, + const char *const def) + FUNC_ATTR_WARN_UNUSED_RESULT +{ + const dictitem_T *const di = tv_dict_find(d, key, key_len); + if (di == NULL) { + return def; + } + return tv_get_string_buf_chk(&di->di_tv, numbuf); +} + /// Get a function from a dictionary /// /// @param[in] d Dictionary to get callback from. @@ -1869,7 +1896,7 @@ void tv_free(typval_T *tv) } case VAR_FUNC: { func_unref(tv->vval.v_string); - // FALLTHROUGH + FALLTHROUGH; } case VAR_STRING: { xfree(tv->vval.v_string); @@ -2378,9 +2405,7 @@ varnumber_T tv_get_number_chk(const typval_T *const tv, bool *const ret_error) case VAR_STRING: { varnumber_T n = 0; if (tv->vval.v_string != NULL) { - long nr; - vim_str2nr(tv->vval.v_string, NULL, NULL, STR2NR_ALL, &nr, NULL, 0); - n = (varnumber_T)nr; + vim_str2nr(tv->vval.v_string, NULL, NULL, STR2NR_ALL, &n, NULL, 0); } return n; } @@ -2417,7 +2442,7 @@ varnumber_T tv_get_number_chk(const typval_T *const tv, bool *const ret_error) linenr_T tv_get_lnum(const typval_T *const tv) FUNC_ATTR_NONNULL_ALL FUNC_ATTR_WARN_UNUSED_RESULT { - linenr_T lnum = tv_get_number_chk(tv, NULL); + linenr_T lnum = (linenr_T)tv_get_number_chk(tv, NULL); if (lnum == 0) { // No valid number, try using same function as line() does. int fnum; pos_T *const fp = var2fpos(tv, true, &fnum); diff --git a/src/nvim/eval/typval.h b/src/nvim/eval/typval.h index 0f659727ee..3f8ed3b3f9 100644 --- a/src/nvim/eval/typval.h +++ b/src/nvim/eval/typval.h @@ -1,7 +1,7 @@ #ifndef NVIM_EVAL_TYPVAL_H #define NVIM_EVAL_TYPVAL_H -#include <limits.h> +#include <inttypes.h> #include <stddef.h> #include <stdint.h> #include <string.h> @@ -20,20 +20,21 @@ #include "nvim/macros.h" /// Type used for VimL VAR_NUMBER values -typedef int varnumber_T; +typedef int64_t varnumber_T; +typedef uint64_t uvarnumber_T; /// Type used for VimL VAR_FLOAT values typedef double float_T; /// Maximal possible value of varnumber_T variable -#define VARNUMBER_MAX INT_MAX +#define VARNUMBER_MAX INT64_MAX +#define UVARNUMBER_MAX UINT64_MAX /// Mimimal possible value of varnumber_T variable -#define VARNUMBER_MIN INT_MIN -#define PRIdVARNUMBER "d" +#define VARNUMBER_MIN INT64_MIN /// %d printf format specifier for varnumber_T -#define PRIdVARNUMBER "d" +#define PRIdVARNUMBER PRId64 typedef struct listvar_S list_T; typedef struct dictvar_S dict_T; diff --git a/src/nvim/eval/typval_encode.c.h b/src/nvim/eval/typval_encode.c.h index b4a70fb188..a93ad2dbba 100644 --- a/src/nvim/eval/typval_encode.c.h +++ b/src/nvim/eval/typval_encode.c.h @@ -233,10 +233,6 @@ /// /// This name will only be used by one of the above macros which are defined by /// the caller. Functions defined here do not use first argument directly. -#ifndef NVIM_EVAL_TYPVAL_ENCODE_C_H -#define NVIM_EVAL_TYPVAL_ENCODE_C_H -#undef NVIM_EVAL_TYPVAL_ENCODE_C_H - #include <stddef.h> #include <inttypes.h> #include <assert.h> @@ -816,4 +812,3 @@ encode_vim_to__error_ret: // Prevent “unused label†warnings. goto typval_encode_stop_converting_one_item; // -V779 } -#endif // NVIM_EVAL_TYPVAL_ENCODE_C_H diff --git a/src/nvim/event/defs.h b/src/nvim/event/defs.h index e5335d9f25..cc875d74b9 100644 --- a/src/nvim/event/defs.h +++ b/src/nvim/event/defs.h @@ -8,16 +8,14 @@ typedef void (*argv_callback)(void **argv); typedef struct message { - int priority; argv_callback handler; void *argv[EVENT_HANDLER_MAX_ARGC]; } Event; typedef void(*event_scheduler)(Event event, void *data); -#define VA_EVENT_INIT(event, p, h, a) \ +#define VA_EVENT_INIT(event, h, a) \ do { \ assert(a <= EVENT_HANDLER_MAX_ARGC); \ - (event)->priority = p; \ (event)->handler = h; \ if (a) { \ va_list args; \ @@ -29,11 +27,11 @@ typedef void(*event_scheduler)(Event event, void *data); } \ } while (0) -static inline Event event_create(int priority, argv_callback cb, int argc, ...) +static inline Event event_create(argv_callback cb, int argc, ...) { assert(argc <= EVENT_HANDLER_MAX_ARGC); Event event; - VA_EVENT_INIT(&event, priority, cb, argc); + VA_EVENT_INIT(&event, cb, argc); return event; } diff --git a/src/nvim/event/libuv_process.c b/src/nvim/event/libuv_process.c index 3116adbde8..f6a567a520 100644 --- a/src/nvim/event/libuv_process.c +++ b/src/nvim/event/libuv_process.c @@ -11,6 +11,7 @@ #include "nvim/event/process.h" #include "nvim/event/libuv_process.h" #include "nvim/log.h" +#include "nvim/macros.h" #include "nvim/os/os.h" #ifdef INCLUDE_GENERATED_DECLARATIONS @@ -47,17 +48,20 @@ int libuv_process_spawn(LibuvProcess *uvproc) if (proc->in) { uvproc->uvstdio[0].flags = UV_CREATE_PIPE | UV_READABLE_PIPE; - uvproc->uvstdio[0].data.stream = (uv_stream_t *)&proc->in->uv.pipe; + uvproc->uvstdio[0].data.stream = STRUCT_CAST(uv_stream_t, + &proc->in->uv.pipe); } if (proc->out) { uvproc->uvstdio[1].flags = UV_CREATE_PIPE | UV_WRITABLE_PIPE; - uvproc->uvstdio[1].data.stream = (uv_stream_t *)&proc->out->uv.pipe; + uvproc->uvstdio[1].data.stream = STRUCT_CAST(uv_stream_t, + &proc->out->uv.pipe); } if (proc->err) { uvproc->uvstdio[2].flags = UV_CREATE_PIPE | UV_WRITABLE_PIPE; - uvproc->uvstdio[2].data.stream = (uv_stream_t *)&proc->err->uv.pipe; + uvproc->uvstdio[2].data.stream = STRUCT_CAST(uv_stream_t, + &proc->err->uv.pipe); } int status; diff --git a/src/nvim/event/loop.c b/src/nvim/event/loop.c index 6963978581..25701a1621 100644 --- a/src/nvim/event/loop.c +++ b/src/nvim/event/loop.c @@ -8,6 +8,7 @@ #include "nvim/event/loop.h" #include "nvim/event/process.h" +#include "nvim/log.h" #ifdef INCLUDE_GENERATED_DECLARATIONS # include "event/loop.c.generated.h" @@ -44,8 +45,7 @@ void loop_poll_events(Loop *loop, int ms) // we do not block indefinitely for I/O. uv_timer_start(&loop->poll_timer, timer_cb, (uint64_t)ms, (uint64_t)ms); } else if (ms == 0) { - // For ms == 0, we need to do a non-blocking event poll by - // setting the run mode to UV_RUN_NOWAIT. + // For ms == 0, do a non-blocking event poll. mode = UV_RUN_NOWAIT; } @@ -79,20 +79,34 @@ void loop_on_put(MultiQueue *queue, void *data) uv_stop(&loop->uv); } -void loop_close(Loop *loop, bool wait) +/// @returns false if the loop could not be closed gracefully +bool loop_close(Loop *loop, bool wait) { + bool rv = true; uv_mutex_destroy(&loop->mutex); uv_close((uv_handle_t *)&loop->children_watcher, NULL); uv_close((uv_handle_t *)&loop->children_kill_timer, NULL); uv_close((uv_handle_t *)&loop->poll_timer, NULL); uv_close((uv_handle_t *)&loop->async, NULL); - do { + uint64_t start = wait ? os_hrtime() : 0; + while (true) { uv_run(&loop->uv, wait ? UV_RUN_DEFAULT : UV_RUN_NOWAIT); - } while (uv_loop_close(&loop->uv) && wait); + if (!uv_loop_close(&loop->uv) || !wait) { + break; + } + if (os_hrtime() - start >= 2 * 1000000000) { + // Some libuv resource was not correctly deref'd. Log and bail. + rv = false; + ELOG("uv_loop_close() hang?"); + log_uv_handles(&loop->uv); + break; + } + } multiqueue_free(loop->fast_events); multiqueue_free(loop->thread_events); multiqueue_free(loop->events); kl_destroy(WatcherPtr, loop->children); + return rv; } void loop_purge(Loop *loop) diff --git a/src/nvim/event/multiqueue.c b/src/nvim/event/multiqueue.c index a17bae31e3..ef9f3f1870 100644 --- a/src/nvim/event/multiqueue.c +++ b/src/nvim/event/multiqueue.c @@ -126,6 +126,7 @@ void multiqueue_free(MultiQueue *this) xfree(this); } +/// Removes the next item and returns its Event. Event multiqueue_get(MultiQueue *this) { return multiqueue_empty(this) ? NILEVENT : multiqueue_remove(this); @@ -144,7 +145,7 @@ void multiqueue_process_events(MultiQueue *this) { assert(this); while (!multiqueue_empty(this)) { - Event event = multiqueue_get(this); + Event event = multiqueue_remove(this); if (event.handler) { event.handler(event.argv); } @@ -178,36 +179,48 @@ size_t multiqueue_size(MultiQueue *this) return this->size; } -static Event multiqueue_remove(MultiQueue *this) +/// Gets an Event from an item. +/// +/// @param remove Remove the node from its queue, and free it. +static Event multiqueueitem_get_event(MultiQueueItem *item, bool remove) { - assert(!multiqueue_empty(this)); - QUEUE *h = QUEUE_HEAD(&this->headtail); - QUEUE_REMOVE(h); - MultiQueueItem *item = multiqueue_node_data(h); - Event rv; - + assert(item != NULL); + Event ev; if (item->link) { - assert(!this->parent); - // remove the next node in the linked queue + // get the next node in the linked queue MultiQueue *linked = item->data.queue; assert(!multiqueue_empty(linked)); MultiQueueItem *child = multiqueue_node_data(QUEUE_HEAD(&linked->headtail)); - QUEUE_REMOVE(&child->node); - rv = child->data.item.event; - xfree(child); + ev = child->data.item.event; + // remove the child node + if (remove) { + QUEUE_REMOVE(&child->node); + xfree(child); + } } else { - if (this->parent) { - // remove the corresponding link node in the parent queue + // remove the corresponding link node in the parent queue + if (remove && item->data.item.parent_item) { QUEUE_REMOVE(&item->data.item.parent_item->node); xfree(item->data.item.parent_item); + item->data.item.parent_item = NULL; } - rv = item->data.item.event; + ev = item->data.item.event; } + return ev; +} +static Event multiqueue_remove(MultiQueue *this) +{ + assert(!multiqueue_empty(this)); + QUEUE *h = QUEUE_HEAD(&this->headtail); + QUEUE_REMOVE(h); + MultiQueueItem *item = multiqueue_node_data(h); + assert(!item->link || !this->parent); // Only a parent queue has link-nodes + Event ev = multiqueueitem_get_event(item, true); this->size--; xfree(item); - return rv; + return ev; } static void multiqueue_push(MultiQueue *this, Event event) @@ -215,6 +228,7 @@ static void multiqueue_push(MultiQueue *this, Event event) MultiQueueItem *item = xmalloc(sizeof(MultiQueueItem)); item->link = false; item->data.item.event = event; + item->data.item.parent_item = NULL; QUEUE_INSERT_TAIL(&this->headtail, &item->node); if (this->parent) { // push link node to the parent queue diff --git a/src/nvim/event/multiqueue.h b/src/nvim/event/multiqueue.h index def6b95a10..a688107665 100644 --- a/src/nvim/event/multiqueue.h +++ b/src/nvim/event/multiqueue.h @@ -10,7 +10,7 @@ typedef struct multiqueue MultiQueue; typedef void (*put_callback)(MultiQueue *multiq, void *data); #define multiqueue_put(q, h, ...) \ - multiqueue_put_event(q, event_create(1, h, __VA_ARGS__)); + multiqueue_put_event(q, event_create(h, __VA_ARGS__)); #ifdef INCLUDE_GENERATED_DECLARATIONS diff --git a/src/nvim/event/process.c b/src/nvim/event/process.c index ffda10a494..cad49e2007 100644 --- a/src/nvim/event/process.c +++ b/src/nvim/event/process.c @@ -14,6 +14,7 @@ #include "nvim/event/libuv_process.h" #include "nvim/os/pty_process.h" #include "nvim/globals.h" +#include "nvim/macros.h" #include "nvim/log.h" #ifdef INCLUDE_GENERATED_DECLARATIONS @@ -82,7 +83,8 @@ int process_spawn(Process *proc) FUNC_ATTR_NONNULL_ALL } if (proc->in) { - stream_init(NULL, proc->in, -1, (uv_stream_t *)&proc->in->uv.pipe); + stream_init(NULL, proc->in, -1, + STRUCT_CAST(uv_stream_t, &proc->in->uv.pipe)); proc->in->events = proc->events; proc->in->internal_data = proc; proc->in->internal_close_cb = on_process_stream_close; @@ -90,7 +92,8 @@ int process_spawn(Process *proc) FUNC_ATTR_NONNULL_ALL } if (proc->out) { - stream_init(NULL, proc->out, -1, (uv_stream_t *)&proc->out->uv.pipe); + stream_init(NULL, proc->out, -1, + STRUCT_CAST(uv_stream_t, &proc->out->uv.pipe)); proc->out->events = proc->events; proc->out->internal_data = proc; proc->out->internal_close_cb = on_process_stream_close; @@ -98,7 +101,8 @@ int process_spawn(Process *proc) FUNC_ATTR_NONNULL_ALL } if (proc->err) { - stream_init(NULL, proc->err, -1, (uv_stream_t *)&proc->err->uv.pipe); + stream_init(NULL, proc->err, -1, + STRUCT_CAST(uv_stream_t, &proc->err->uv.pipe)); proc->err->events = proc->events; proc->err->internal_data = proc; proc->err->internal_close_cb = on_process_stream_close; diff --git a/src/nvim/event/socket.c b/src/nvim/event/socket.c index e536d79a2a..a796f303ab 100644 --- a/src/nvim/event/socket.c +++ b/src/nvim/event/socket.c @@ -15,99 +15,122 @@ #include "nvim/vim.h" #include "nvim/strings.h" #include "nvim/path.h" +#include "nvim/main.h" #include "nvim/memory.h" +#include "nvim/macros.h" +#include "nvim/charset.h" +#include "nvim/log.h" #ifdef INCLUDE_GENERATED_DECLARATIONS # include "event/socket.c.generated.h" #endif -#define NVIM_DEFAULT_TCP_PORT 7450 - -void socket_watcher_init(Loop *loop, SocketWatcher *watcher, - const char *endpoint, void *data) - FUNC_ATTR_NONNULL_ARG(1) FUNC_ATTR_NONNULL_ARG(2) FUNC_ATTR_NONNULL_ARG(3) +int socket_watcher_init(Loop *loop, SocketWatcher *watcher, + const char *endpoint) + FUNC_ATTR_NONNULL_ALL { - // Trim to `ADDRESS_MAX_SIZE` - if (xstrlcpy(watcher->addr, endpoint, sizeof(watcher->addr)) - >= sizeof(watcher->addr)) { - // TODO(aktau): since this is not what the user wanted, perhaps we - // should return an error here - WLOG("Address was too long, truncated to %s", watcher->addr); - } + xstrlcpy(watcher->addr, endpoint, sizeof(watcher->addr)); + char *addr = watcher->addr; + char *host_end = strrchr(addr, ':'); - bool tcp = true; - char ip[16], *ip_end = xstrchrnul(watcher->addr, ':'); + if (host_end && addr != host_end) { + // Split user specified address into two strings, addr(hostname) and port. + // The port part in watcher->addr will be updated later. + *host_end = '\0'; + char *port = host_end + 1; + intmax_t iport; - // (ip_end - addr) is always > 0, so convert to size_t - size_t addr_len = (size_t)(ip_end - watcher->addr); - - if (addr_len > sizeof(ip) - 1) { - // Maximum length of an IPv4 address buffer is 15 (eg: 255.255.255.255) - addr_len = sizeof(ip) - 1; - } + int ret = getdigits_safe(&(char_u *){ (char_u *)port }, &iport); + if (ret == FAIL || iport < 0 || iport > UINT16_MAX) { + ELOG("Invalid port: %s", port); + return UV_EINVAL; + } - // Extract the address part - xstrlcpy(ip, watcher->addr, addr_len + 1); - int port = NVIM_DEFAULT_TCP_PORT; - - if (*ip_end == ':') { - // Extract the port - long lport = strtol(ip_end + 1, NULL, 10); // NOLINT - if (lport <= 0 || lport > 0xffff) { - // Invalid port, treat as named pipe or unix socket - tcp = false; - } else { - port = (int) lport; + if (*port == NUL) { + // When no port is given, (uv_)getaddrinfo expects NULL otherwise the + // implementation may attempt to lookup the service by name (and fail) + port = NULL; } - } - if (tcp) { - // Try to parse ip address - if (uv_ip4_addr(ip, port, &watcher->uv.tcp.addr)) { - // Invalid address, treat as named pipe or unix socket - tcp = false; + uv_getaddrinfo_t request; + + int retval = uv_getaddrinfo(&loop->uv, &request, NULL, addr, port, + &(struct addrinfo){ + .ai_family = AF_UNSPEC, + .ai_socktype = SOCK_STREAM, + }); + if (retval != 0) { + ELOG("Host lookup failed: %s", endpoint); + return retval; } - } + watcher->uv.tcp.addrinfo = request.addrinfo; - if (tcp) { uv_tcp_init(&loop->uv, &watcher->uv.tcp.handle); - watcher->stream = (uv_stream_t *)&watcher->uv.tcp.handle; + uv_tcp_nodelay(&watcher->uv.tcp.handle, true); + watcher->stream = STRUCT_CAST(uv_stream_t, &watcher->uv.tcp.handle); } else { uv_pipe_init(&loop->uv, &watcher->uv.pipe.handle, 0); - watcher->stream = (uv_stream_t *)&watcher->uv.pipe.handle; + watcher->stream = STRUCT_CAST(uv_stream_t, &watcher->uv.pipe.handle); } watcher->stream->data = watcher; watcher->cb = NULL; watcher->close_cb = NULL; watcher->events = NULL; + watcher->data = NULL; + + return 0; } int socket_watcher_start(SocketWatcher *watcher, int backlog, socket_cb cb) FUNC_ATTR_NONNULL_ALL { watcher->cb = cb; - int result; + int result = UV_EINVAL; if (watcher->stream->type == UV_TCP) { - result = uv_tcp_bind(&watcher->uv.tcp.handle, - (const struct sockaddr *)&watcher->uv.tcp.addr, 0); + struct addrinfo *ai = watcher->uv.tcp.addrinfo; + + for (; ai; ai = ai->ai_next) { + result = uv_tcp_bind(&watcher->uv.tcp.handle, ai->ai_addr, 0); + if (result != 0) { + continue; + } + result = uv_listen(watcher->stream, backlog, connection_cb); + if (result == 0) { + struct sockaddr_storage sas; + + // When the endpoint in socket_watcher_init() didn't specify a port + // number, a free random port number will be assigned. sin_port will + // contain 0 in this case, unless uv_tcp_getsockname() is used first. + uv_tcp_getsockname(&watcher->uv.tcp.handle, (struct sockaddr *)&sas, + &(int){ sizeof(sas) }); + uint16_t port = (uint16_t)((sas.ss_family == AF_INET) + ? ((struct sockaddr_in *)&sas)->sin_port + : ((struct sockaddr_in6 *)&sas)->sin6_port); + // v:servername uses the string from watcher->addr + size_t len = strlen(watcher->addr); + snprintf(watcher->addr+len, sizeof(watcher->addr)-len, ":%" PRIu16, + ntohs(port)); + break; + } + } + uv_freeaddrinfo(watcher->uv.tcp.addrinfo); } else { result = uv_pipe_bind(&watcher->uv.pipe.handle, watcher->addr); - } - - if (result == 0) { - result = uv_listen(watcher->stream, backlog, connection_cb); + if (result == 0) { + result = uv_listen(watcher->stream, backlog, connection_cb); + } } assert(result <= 0); // libuv should return negative error code or zero. if (result < 0) { - if (result == -EACCES) { + if (result == UV_EACCES) { // Libuv converts ENOENT to EACCES for Windows compatibility, but if // the parent directory does not exist, ENOENT would be more accurate. *path_tail((char_u *)watcher->addr) = NUL; if (!os_path_exists((char_u *)watcher->addr)) { - result = -ENOENT; + result = UV_ENOENT; } } return result; @@ -122,10 +145,11 @@ int socket_watcher_accept(SocketWatcher *watcher, Stream *stream) uv_stream_t *client; if (watcher->stream->type == UV_TCP) { - client = (uv_stream_t *)&stream->uv.tcp; + client = STRUCT_CAST(uv_stream_t, &stream->uv.tcp); uv_tcp_init(watcher->uv.tcp.handle.loop, (uv_tcp_t *)client); + uv_tcp_nodelay((uv_tcp_t *)client, true); } else { - client = (uv_stream_t *)&stream->uv.pipe; + client = STRUCT_CAST(uv_stream_t, &stream->uv.pipe); uv_pipe_init(watcher->uv.pipe.handle.loop, (uv_pipe_t *)client, 0); } @@ -168,3 +192,77 @@ static void close_cb(uv_handle_t *handle) watcher->close_cb(watcher, watcher->data); } } + +static void connect_cb(uv_connect_t *req, int status) +{ + int *ret_status = req->data; + *ret_status = status; + if (status != 0) { + uv_close((uv_handle_t *)req->handle, NULL); + } +} + +bool socket_connect(Loop *loop, Stream *stream, + bool is_tcp, const char *address, + int timeout, const char **error) +{ + bool success = false; + int status; + uv_connect_t req; + req.data = &status; + uv_stream_t *uv_stream; + + uv_tcp_t *tcp = &stream->uv.tcp; + uv_getaddrinfo_t addr_req; + addr_req.addrinfo = NULL; + const struct addrinfo *addrinfo = NULL; + char *addr = NULL; + if (is_tcp) { + addr = xstrdup(address); + char *host_end = strrchr(addr, ':'); + if (!host_end) { + *error = _("tcp address must be host:port"); + goto cleanup; + } + *host_end = NUL; + + const struct addrinfo hints = { .ai_family = AF_UNSPEC, + .ai_socktype = SOCK_STREAM, + .ai_flags = AI_NUMERICSERV }; + int retval = uv_getaddrinfo(&loop->uv, &addr_req, NULL, + addr, host_end+1, &hints); + if (retval != 0) { + *error = _("failed to lookup host or port"); + goto cleanup; + } + addrinfo = addr_req.addrinfo; + +tcp_retry: + uv_tcp_init(&loop->uv, tcp); + uv_tcp_nodelay(tcp, true); + uv_tcp_connect(&req, tcp, addrinfo->ai_addr, connect_cb); + uv_stream = (uv_stream_t *)tcp; + + } else { + uv_pipe_t *pipe = &stream->uv.pipe; + uv_pipe_init(&loop->uv, pipe, 0); + uv_pipe_connect(&req, pipe, address, connect_cb); + uv_stream = (uv_stream_t *)pipe; + } + status = 1; + LOOP_PROCESS_EVENTS_UNTIL(&main_loop, NULL, timeout, status != 1); + if (status == 0) { + stream_init(NULL, stream, -1, uv_stream); + success = true; + } else if (is_tcp && addrinfo->ai_next) { + addrinfo = addrinfo->ai_next; + goto tcp_retry; + } else { + *error = _("connection refused"); + } + +cleanup: + xfree(addr); + uv_freeaddrinfo(addr_req.addrinfo); + return success; +} diff --git a/src/nvim/event/socket.h b/src/nvim/event/socket.h index eb0823c76d..d30ae45502 100644 --- a/src/nvim/event/socket.h +++ b/src/nvim/event/socket.h @@ -20,7 +20,7 @@ struct socket_watcher { union { struct { uv_tcp_t handle; - struct sockaddr_in addr; + struct addrinfo *addrinfo; } tcp; struct { uv_pipe_t handle; diff --git a/src/nvim/event/stream.c b/src/nvim/event/stream.c index 860a957b3e..60ceff9b24 100644 --- a/src/nvim/event/stream.c +++ b/src/nvim/event/stream.c @@ -8,6 +8,7 @@ #include <uv.h> #include "nvim/rbuffer.h" +#include "nvim/macros.h" #include "nvim/event/stream.h" #ifdef INCLUDE_GENERATED_DECLARATIONS @@ -26,8 +27,9 @@ int stream_set_blocking(int fd, bool blocking) uv_loop_init(&loop); uv_pipe_init(&loop, &stream, 0); uv_pipe_open(&stream, fd); - int retval = uv_stream_set_blocking((uv_stream_t *)&stream, blocking); - uv_close((uv_handle_t *)&stream, NULL); + int retval = uv_stream_set_blocking(STRUCT_CAST(uv_stream_t, &stream), + blocking); + uv_close(STRUCT_CAST(uv_handle_t, &stream), NULL); uv_run(&loop, UV_RUN_NOWAIT); // not necessary, but couldn't hurt. uv_loop_close(&loop); return retval; @@ -52,7 +54,7 @@ void stream_init(Loop *loop, Stream *stream, int fd, uv_stream_t *uvstream) assert(type == UV_NAMED_PIPE || type == UV_TTY); uv_pipe_init(&loop->uv, &stream->uv.pipe, 0); uv_pipe_open(&stream->uv.pipe, fd); - stream->uvstream = (uv_stream_t *)&stream->uv.pipe; + stream->uvstream = STRUCT_CAST(uv_stream_t, &stream->uv.pipe); } } diff --git a/src/nvim/ex_cmds.c b/src/nvim/ex_cmds.c index 7726e0fc6d..8dcb3ac449 100644 --- a/src/nvim/ex_cmds.c +++ b/src/nvim/ex_cmds.c @@ -318,14 +318,12 @@ static int sort_abort; ///< flag to indicate if sorting has been interrupted /// Struct to store info to be sorted. typedef struct { linenr_T lnum; ///< line number - long start_col_nr; ///< starting column number or number - long end_col_nr; ///< ending column number union { struct { - long start_col_nr; ///< starting column number - long end_col_nr; ///< ending column number + varnumber_T start_col_nr; ///< starting column number + varnumber_T end_col_nr; ///< ending column number } line; - long value; ///< value if sorting by integer + varnumber_T value; ///< value if sorting by integer float_T value_flt; ///< value if sorting by float } st_u; } sorti_T; @@ -599,9 +597,10 @@ void ex_sort(exarg_T *eap) // Adjust marks for deleted (or added) lines and prepare for displaying. deleted = (long)(count - (lnum - eap->line2)); if (deleted > 0) { - mark_adjust(eap->line2 - deleted, eap->line2, (long)MAXLNUM, -deleted); + mark_adjust(eap->line2 - deleted, eap->line2, (long)MAXLNUM, -deleted, + false); } else if (deleted < 0) { - mark_adjust(eap->line2, MAXLNUM, -deleted, 0L); + mark_adjust(eap->line2, MAXLNUM, -deleted, 0L, false); } changed_lines(eap->line1, 0, eap->line2 + 1, -deleted); @@ -796,9 +795,9 @@ int do_move(linenr_T line1, linenr_T line2, linenr_T dest) * their final destination at the new text position -- webb */ last_line = curbuf->b_ml.ml_line_count; - mark_adjust_nofold(line1, line2, last_line - line2, 0L); + mark_adjust_nofold(line1, line2, last_line - line2, 0L, true); if (dest >= line2) { - mark_adjust_nofold(line2 + 1, dest, -num_lines, 0L); + mark_adjust_nofold(line2 + 1, dest, -num_lines, 0L, false); FOR_ALL_TAB_WINDOWS(tab, win) { if (win->w_buffer == curbuf) { foldMoveRange(&win->w_folds, line1, line2, dest); @@ -807,7 +806,7 @@ int do_move(linenr_T line1, linenr_T line2, linenr_T dest) curbuf->b_op_start.lnum = dest - num_lines + 1; curbuf->b_op_end.lnum = dest; } else { - mark_adjust_nofold(dest + 1, line1 - 1, num_lines, 0L); + mark_adjust_nofold(dest + 1, line1 - 1, num_lines, 0L, false); FOR_ALL_TAB_WINDOWS(tab, win) { if (win->w_buffer == curbuf) { foldMoveRange(&win->w_folds, dest + 1, line1 - 1, line2); @@ -818,7 +817,7 @@ int do_move(linenr_T line1, linenr_T line2, linenr_T dest) } curbuf->b_op_start.col = curbuf->b_op_end.col = 0; mark_adjust_nofold(last_line - num_lines + 1, last_line, - -(last_line - dest - extra), 0L); + -(last_line - dest - extra), 0L, true); /* * Now we delete the original text -- webb @@ -1214,15 +1213,14 @@ static void do_filter( if (do_in) { if (cmdmod.keepmarks || vim_strchr(p_cpo, CPO_REMMARK) == NULL) { - if (read_linecount >= linecount) - /* move all marks from old lines to new lines */ - mark_adjust(line1, line2, linecount, 0L); - else { - /* move marks from old lines to new lines, delete marks - * that are in deleted lines */ - mark_adjust(line1, line1 + read_linecount - 1, - linecount, 0L); - mark_adjust(line1 + read_linecount, line2, MAXLNUM, 0L); + if (read_linecount >= linecount) { + // move all marks from old lines to new lines + mark_adjust(line1, line2, linecount, 0L, false); + } else { + // move marks from old lines to new lines, delete marks + // that are in deleted lines + mark_adjust(line1, line1 + read_linecount - 1, linecount, 0L, false); + mark_adjust(line1 + read_linecount, line2, MAXLNUM, 0L, false); } } @@ -1490,6 +1488,11 @@ void print_line(linenr_T lnum, int use_number, int list) { int save_silent = silent_mode; + // apply :filter /pat/ + if (message_filtered(ml_get(lnum))) { + return; + } + msg_start(); silent_mode = FALSE; info_message = TRUE; /* use mch_msg(), not mch_errmsg() */ @@ -3755,7 +3758,7 @@ static buf_T *do_sub(exarg_T *eap, proftime_T timeout) *p1 = NUL; // truncate up to the CR ml_append(lnum - 1, new_start, (colnr_T)(p1 - new_start + 1), false); - mark_adjust(lnum + 1, (linenr_T)MAXLNUM, 1L, 0L); + mark_adjust(lnum + 1, (linenr_T)MAXLNUM, 1L, 0L, false); if (subflags.do_ask) { appended_lines(lnum - 1, 1L); } else { @@ -3844,7 +3847,7 @@ skip: for (i = 0; i < nmatch_tl; ++i) ml_delete(lnum, (int)FALSE); mark_adjust(lnum, lnum + nmatch_tl - 1, - (long)MAXLNUM, -nmatch_tl); + (long)MAXLNUM, -nmatch_tl, false); if (subflags.do_ask) { deleted_lines(lnum, nmatch_tl); } @@ -4873,8 +4876,9 @@ void fix_help_buffer(void) continue; e1 = vim_strrchr(t1, '.'); e2 = vim_strrchr(path_tail(f2), '.'); - if (e1 == NUL || e2 == NUL) + if (e1 == NULL || e2 == NULL) { continue; + } if (fnamecmp(e1, ".txt") != 0 && fnamecmp(e1, fname + 4) != 0) { /* Not .txt and not .abx, remove it. */ @@ -5096,14 +5100,13 @@ static void helptags_one(char_u *dir, char_u *ext, char_u *tagfname, } p1 = vim_strchr(IObuff, '*'); /* find first '*' */ while (p1 != NULL) { - /* Use vim_strbyte() instead of vim_strchr() so that when - * 'encoding' is dbcs it still works, don't find '*' in the - * second byte. */ - p2 = vim_strbyte(p1 + 1, '*'); /* find second '*' */ - if (p2 != NULL && p2 > p1 + 1) { /* skip "*" and "**" */ - for (s = p1 + 1; s < p2; ++s) - if (*s == ' ' || *s == '\t' || *s == '|') + p2 = (char_u *)strchr((const char *)p1 + 1, '*'); // Find second '*'. + if (p2 != NULL && p2 > p1 + 1) { // Skip "*" and "**". + for (s = p1 + 1; s < p2; s++) { + if (*s == ' ' || *s == '\t' || *s == '|') { break; + } + } /* * Only accept a *tag* when it consists of valid @@ -5945,9 +5948,8 @@ void set_context_in_sign_cmd(expand_T *xp, char_u *arg) // :sign define {name} {args}... {last}= // | | // last p - if (p == NUL) - { - /* Expand last argument name (before equal sign). */ + if (p == NULL) { + // Expand last argument name (before equal sign). xp->xp_pattern = last; switch (cmd_idx) { @@ -6158,3 +6160,103 @@ void ex_substitute(exarg_T *eap) ga_clear(&save_view); unblock_autocmds(); } + +/// Skip over the pattern argument of ":vimgrep /pat/[g][j]". +/// Put the start of the pattern in "*s", unless "s" is NULL. +/// If "flags" is not NULL put the flags in it: VGR_GLOBAL, VGR_NOJUMP. +/// If "s" is not NULL terminate the pattern with a NUL. +/// Return a pointer to the char just past the pattern plus flags. +char_u *skip_vimgrep_pat(char_u *p, char_u **s, int *flags) +{ + int c; + + if (vim_isIDc(*p)) { + // ":vimgrep pattern fname" + if (s != NULL) { + *s = p; + } + p = skiptowhite(p); + if (s != NULL && *p != NUL) { + *p++ = NUL; + } + } else { + // ":vimgrep /pattern/[g][j] fname" + if (s != NULL) { + *s = p + 1; + } + c = *p; + p = skip_regexp(p + 1, c, true, NULL); + if (*p != c) { + return NULL; + } + + // Truncate the pattern. + if (s != NULL) { + *p = NUL; + } + p++; + + // Find the flags + while (*p == 'g' || *p == 'j') { + if (flags != NULL) { + if (*p == 'g') { + *flags |= VGR_GLOBAL; + } else { + *flags |= VGR_NOJUMP; + } + } + p++; + } + } + return p; +} + +/// List v:oldfiles in a nice way. +void ex_oldfiles(exarg_T *eap) +{ + list_T *l = get_vim_var_list(VV_OLDFILES); + listitem_T *li; + long nr = 0; + + if (l == NULL) { + msg((char_u *)_("No old files")); + } else { + msg_start(); + msg_scroll = true; + for (li = l->lv_first; li != NULL && !got_int; li = li->li_next) { + nr++; + const char *fname = tv_get_string(&li->li_tv); + if (!message_filtered((char_u *)fname)) { + msg_outnum(nr); + MSG_PUTS(": "); + msg_outtrans((char_u *)tv_get_string(&li->li_tv)); + msg_clr_eos(); + msg_putchar('\n'); + ui_flush(); // output one line at a time + os_breakcheck(); + } + } + + // Assume "got_int" was set to truncate the listing. + got_int = false; + + // File selection prompt on ":browse oldfiles" + if (cmdmod.browse) { + quit_more = false; + nr = prompt_for_number(false); + msg_starthere(); + if (nr > 0 && nr <= l->lv_len) { + const char *const p = tv_list_find_str(l, nr - 1); + if (p == NULL) { + return; + } + char *const s = (char *)expand_env_save((char_u *)p); + eap->arg = (char_u *)s; + eap->cmdidx = CMD_edit; + cmdmod.browse = false; + do_exedit(eap, NULL); + xfree(s); + } + } + } +} diff --git a/src/nvim/ex_cmds.lua b/src/nvim/ex_cmds.lua index 92f0669422..7203fbd97d 100644 --- a/src/nvim/ex_cmds.lua +++ b/src/nvim/ex_cmds.lua @@ -931,6 +931,12 @@ return { func='ex_filetype', }, { + command='filter', + flags=bit.bor(BANG, NEEDARG, EXTRA, NOTRLCOM), + addr_type=ADDR_LINES, + func='ex_wrongmodifier', + }, + { command='find', flags=bit.bor(RANGE, NOTADR, BANG, FILE1, EDITCMD, ARGOPT, TRLBAR), addr_type=ADDR_LINES, @@ -1542,19 +1548,19 @@ return { command='lua', flags=bit.bor(RANGE, EXTRA, NEEDARG, CMDWIN), addr_type=ADDR_LINES, - func='ex_script_ni', + func='ex_lua', }, { command='luado', flags=bit.bor(RANGE, DFLALL, EXTRA, NEEDARG, CMDWIN), addr_type=ADDR_LINES, - func='ex_ni', + func='ex_luado', }, { command='luafile', flags=bit.bor(RANGE, FILE1, NEEDARG, CMDWIN), addr_type=ADDR_LINES, - func='ex_ni', + func='ex_luafile', }, { command='lvimgrep', diff --git a/src/nvim/ex_cmds2.c b/src/nvim/ex_cmds2.c index a1a32d9f52..1a728647ca 100644 --- a/src/nvim/ex_cmds2.c +++ b/src/nvim/ex_cmds2.c @@ -3705,19 +3705,18 @@ char_u *get_locales(expand_T *xp, int idx) static void script_host_execute(char *name, exarg_T *eap) { - uint8_t *script = script_get(eap, eap->arg); + size_t len; + char *const script = script_get(eap, &len); - if (!eap->skip) { - list_T *args = tv_list_alloc(); + if (script != NULL) { + list_T *const args = tv_list_alloc(); // script - tv_list_append_string(args, (const char *)(script ? script : eap->arg), -1); + tv_list_append_allocated_string(args, script); // current range tv_list_append_number(args, (int)eap->line1); tv_list_append_number(args, (int)eap->line2); (void)eval_call_provider(name, "execute", args); } - - xfree(script); } static void script_host_execute_file(char *name, exarg_T *eap) diff --git a/src/nvim/ex_cmds_defs.h b/src/nvim/ex_cmds_defs.h index 133c37cef4..d72b83404e 100644 --- a/src/nvim/ex_cmds_defs.h +++ b/src/nvim/ex_cmds_defs.h @@ -6,6 +6,7 @@ #include "nvim/pos.h" // for linenr_T #include "nvim/normal.h" +#include "nvim/regexp_defs.h" #ifdef INCLUDE_GENERATED_DECLARATIONS # include "ex_cmds_enum.generated.h" @@ -163,18 +164,20 @@ struct expand { /// flag. This needs to be saved for recursive commands, put them in a /// structure for easy manipulation. typedef struct { - int split; ///< flags for win_split() - int tab; ///< > 0 when ":tab" was used - bool browse; ///< true to invoke file dialog - bool confirm; ///< true to invoke yes/no dialog - bool hide; ///< true when ":hide" was used - bool keepalt; ///< true when ":keepalt" was used - bool keepjumps; ///< true when ":keepjumps" was used - bool keepmarks; ///< true when ":keepmarks" was used - bool keeppatterns; ///< true when ":keeppatterns" was used - bool lockmarks; ///< true when ":lockmarks" was used - bool noswapfile; ///< true when ":noswapfile" was used - char_u *save_ei; ///< saved value of 'eventignore' + int split; ///< flags for win_split() + int tab; ///< > 0 when ":tab" was used + bool browse; ///< true to invoke file dialog + bool confirm; ///< true to invoke yes/no dialog + bool hide; ///< true when ":hide" was used + bool keepalt; ///< true when ":keepalt" was used + bool keepjumps; ///< true when ":keepjumps" was used + bool keepmarks; ///< true when ":keepmarks" was used + bool keeppatterns; ///< true when ":keeppatterns" was used + bool lockmarks; ///< true when ":lockmarks" was used + bool noswapfile; ///< true when ":noswapfile" was used + char_u *save_ei; ///< saved value of 'eventignore' + regmatch_T filter_regmatch; ///< set by :filter /pat/ + bool filter_force; ///< set for :filter! } cmdmod_T; #endif // NVIM_EX_CMDS_DEFS_H diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c index 7568d71ac0..af8845de87 100644 --- a/src/nvim/ex_docmd.c +++ b/src/nvim/ex_docmd.c @@ -70,6 +70,7 @@ #include "nvim/event/rstream.h" #include "nvim/event/wstream.h" #include "nvim/shada.h" +#include "nvim/lua/executor.h" #include "nvim/globals.h" static int quitmore = 0; @@ -1350,6 +1351,31 @@ static char_u * do_one_cmd(char_u **cmdlinep, cmdmod.keepjumps = true; continue; + case 'f': { // only accept ":filter {pat} cmd" + char_u *reg_pat; + + if (!checkforcmd(&p, "filter", 4) || *p == NUL || ends_excmd(*p)) { + break; + } + if (*p == '!') { + cmdmod.filter_force = true; + p = skipwhite(p + 1); + if (*p == NUL || ends_excmd(*p)) { + break; + } + } + p = skip_vimgrep_pat(p, ®_pat, NULL); + if (p == NULL || *p == NUL) { + break; + } + cmdmod.filter_regmatch.regprog = vim_regcomp(reg_pat, RE_MAGIC); + if (cmdmod.filter_regmatch.regprog == NULL) { + break; + } + ea.cmd = p; + continue; + } + /* ":hide" and ":hide | cmd" are not modifiers */ case 'h': if (p != ea.cmd || !checkforcmd(&p, "hide", 3) || *p == NUL || ends_excmd(*p)) @@ -1452,6 +1478,7 @@ static char_u * do_one_cmd(char_u **cmdlinep, } break; } + char_u *after_modifier = ea.cmd; ea.skip = did_emsg || got_int || did_throw || (cstack->cs_idx >= 0 && !(cstack->cs_flags[cstack-> @@ -1734,7 +1761,13 @@ static char_u * do_one_cmd(char_u **cmdlinep, if (!ea.skip) { STRCPY(IObuff, _("E492: Not an editor command")); if (!(flags & DOCMD_VERBOSE)) { - append_command(*cmdlinep); + // If the modifier was parsed OK the error must be in the following + // command + if (after_modifier != NULL) { + append_command(after_modifier); + } else { + append_command(*cmdlinep); + } } errormsg = IObuff; did_emsg_syntax = TRUE; @@ -2104,6 +2137,7 @@ static char_u * do_one_cmd(char_u **cmdlinep, case CMD_echomsg: case CMD_echon: case CMD_execute: + case CMD_filter: case CMD_help: case CMD_hide: case CMD_ijump: @@ -2255,6 +2289,10 @@ doend: free_string_option(cmdmod.save_ei); } + if (cmdmod.filter_regmatch.regprog != NULL) { + vim_regfree(cmdmod.filter_regmatch.regprog); + } + cmdmod = save_cmdmod; if (save_msg_silent != -1) { @@ -2540,28 +2578,29 @@ static struct cmdmod { int minlen; int has_count; /* :123verbose :3tab */ } cmdmods[] = { - {"aboveleft", 3, FALSE}, - {"belowright", 3, FALSE}, - {"botright", 2, FALSE}, - {"browse", 3, FALSE}, - {"confirm", 4, FALSE}, - {"hide", 3, FALSE}, - {"keepalt", 5, FALSE}, - {"keepjumps", 5, FALSE}, - {"keepmarks", 3, FALSE}, - {"keeppatterns", 5, FALSE}, - {"leftabove", 5, FALSE}, - {"lockmarks", 3, FALSE}, - {"noautocmd", 3, FALSE}, - {"noswapfile", 3, FALSE}, - {"rightbelow", 6, FALSE}, - {"sandbox", 3, FALSE}, - {"silent", 3, FALSE}, - {"tab", 3, TRUE}, - {"topleft", 2, FALSE}, - {"unsilent", 3, FALSE}, - {"verbose", 4, TRUE}, - {"vertical", 4, FALSE}, + { "aboveleft", 3, false }, + { "belowright", 3, false }, + { "botright", 2, false }, + { "browse", 3, false }, + { "confirm", 4, false }, + { "filter", 4, false }, + { "hide", 3, false }, + { "keepalt", 5, false }, + { "keepjumps", 5, false }, + { "keepmarks", 3, false }, + { "keeppatterns", 5, false }, + { "leftabove", 5, false }, + { "lockmarks", 3, false }, + { "noautocmd", 3, false }, + { "noswapfile", 3, false }, + { "rightbelow", 6, false }, + { "sandbox", 3, false }, + { "silent", 3, false }, + { "tab", 3, true }, + { "topleft", 2, false }, + { "unsilent", 3, false }, + { "verbose", 4, true }, + { "vertical", 4, false }, }; /* @@ -2649,7 +2688,7 @@ const char * set_one_cmd_context( // 2. skip comment lines and leading space, colons or bars const char *cmd; - for (cmd = buff; strchr(" \t:|", *cmd) != NULL; cmd++) { + for (cmd = buff; vim_strchr((const char_u *)" \t:|", *cmd) != NULL; cmd++) { } xp->xp_pattern = (char_u *)cmd; @@ -2710,7 +2749,7 @@ const char * set_one_cmd_context( } } // check for non-alpha command - if (p == cmd && strchr("@*!=><&~#", *p) != NULL) { + if (p == cmd && vim_strchr((const char_u *)"@*!=><&~#", *p) != NULL) { p++; } len = (size_t)(p - cmd); @@ -2741,7 +2780,7 @@ const char * set_one_cmd_context( return NULL; if (ea.cmdidx == CMD_SIZE) { - if (*cmd == 's' && strchr("cgriI", cmd[1]) != NULL) { + if (*cmd == 's' && vim_strchr((const char_u *)"cgriI", cmd[1]) != NULL) { ea.cmdidx = CMD_substitute; p = cmd + 1; } else if (cmd[0] >= 'A' && cmd[0] <= 'Z') { @@ -3031,6 +3070,16 @@ const char * set_one_cmd_context( case CMD_windo: return arg; + case CMD_filter: + if (*arg != NUL) { + arg = (const char *)skip_vimgrep_pat((char_u *)arg, NULL, NULL); + } + if (arg == NULL || *arg == NUL) { + xp->xp_context = EXPAND_NOTHING; + return NULL; + } + return (const char *)skipwhite((const char_u *)arg); + case CMD_match: if (*arg == NUL || !ends_excmd(*arg)) { /* also complete "None" */ @@ -3759,10 +3808,12 @@ void ex_ni(exarg_T *eap) /// Skips over ":perl <<EOF" constructs. static void ex_script_ni(exarg_T *eap) { - if (!eap->skip) + if (!eap->skip) { ex_ni(eap); - else - xfree(script_get(eap, eap->arg)); + } else { + size_t len; + xfree(script_get(eap, &len)); + } } /* @@ -4851,9 +4902,12 @@ static void uc_list(char_u *name, size_t name_len) cmd = USER_CMD_GA(gap, i); a = cmd->uc_argt; - /* Skip commands which don't match the requested prefix */ - if (STRNCMP(name, cmd->uc_name, name_len) != 0) + // Skip commands which don't match the requested prefix and + // commands filtered out. + if (STRNCMP(name, cmd->uc_name, name_len) != 0 + || message_filtered(cmd->uc_name)) { continue; + } /* Put out the title first time */ if (!found) @@ -5765,10 +5819,10 @@ int parse_addr_type_arg(char_u *value, int vallen, uint32_t *argt, * copied to allocated memory and stored in "*compl_arg". * Returns FAIL if something is wrong. */ -int parse_compl_arg(char_u *value, int vallen, int *complp, +int parse_compl_arg(const char_u *value, int vallen, int *complp, uint32_t *argt, char_u **compl_arg) { - char_u *arg = NULL; + const char_u *arg = NULL; size_t arglen = 0; int i; int valend = vallen; @@ -6231,13 +6285,14 @@ static void ex_stop(exarg_T *eap) autowrite_all(); } ui_cursor_goto((int)Rows - 1, 0); - ui_putc('\n'); + ui_linefeed(); + ui_flush(); + ui_call_suspend(); // call machine specific function ui_flush(); - ui_suspend(); /* call machine specific function */ maketitle(); - resettitle(); /* force updating the title */ + resettitle(); // force updating the title redraw_later_clear(); - ui_refresh(); /* may have resized window */ + ui_refresh(); // may have resized window } } @@ -8792,15 +8847,16 @@ makeopens ( */ tab_firstwin = firstwin; /* first window in tab page "tabnr" */ tab_topframe = topframe; - for (tabnr = 1;; ++tabnr) { + for (tabnr = 1;; tabnr++) { + tabpage_T *tp = find_tabpage(tabnr); + if (tp == NULL) { + break; // done all tab pages + } + int need_tabnew = false; int cnr = 1; if ((ssop_flags & SSOP_TABPAGES)) { - tabpage_T *tp = find_tabpage(tabnr); - - if (tp == NULL) - break; /* done all tab pages */ if (tp == curtab) { tab_firstwin = firstwin; tab_topframe = topframe; @@ -8913,6 +8969,16 @@ makeopens ( if (nr > 1 && ses_winsizes(fd, restore_size, tab_firstwin) == FAIL) return FAIL; + // Take care of tab-local working directories if applicable + if (tp->tp_localdir) { + if (fputs("if has('nvim') | tcd ", fd) < 0 + || ses_put_fname(fd, tp->tp_localdir, &ssop_flags) == FAIL + || fputs(" | endif", fd) < 0 + || put_eol(fd) == FAIL) { + return FAIL; + } + } + /* Don't continue in another tab page when doing only the current one * or when at the last tab page. */ if (!(ssop_flags & SSOP_TABPAGES)) diff --git a/src/nvim/ex_getln.c b/src/nvim/ex_getln.c index eed4bf6066..7793081957 100644 --- a/src/nvim/ex_getln.c +++ b/src/nvim/ex_getln.c @@ -100,12 +100,20 @@ typedef struct command_line_state { char_u *lookfor; // string to match int hiscnt; // current history line in use int histype; // history type to be used - pos_T old_cursor; + pos_T search_start; // where 'incsearch' starts searching + pos_T save_cursor; colnr_T old_curswant; + colnr_T init_curswant; colnr_T old_leftcol; + colnr_T init_leftcol; linenr_T old_topline; + linenr_T init_topline; int old_topfill; + int init_topfill; linenr_T old_botline; + linenr_T init_botline; + pos_T match_start; + pos_T match_end; int did_incsearch; int incsearch_postponed; int did_wild_list; // did wild_list() recently @@ -167,6 +175,12 @@ static uint8_t *command_line_enter(int firstc, long count, int indent) s->save_State = State; s->save_p_icm = vim_strsave(p_icm); s->ignore_drag_release = true; + s->match_start = curwin->w_cursor; + s->init_curswant = curwin->w_curswant; + s->init_leftcol = curwin->w_leftcol; + s->init_topline = curwin->w_topline; + s->init_topfill = curwin->w_topfill; + s->init_botline = curwin->w_botline; if (s->firstc == -1) { s->firstc = NUL; @@ -179,7 +193,9 @@ static uint8_t *command_line_enter(int firstc, long count, int indent) } ccline.overstrike = false; // always start in insert mode - s->old_cursor = curwin->w_cursor; // needs to be restored later + clearpos(&s->match_end); + s->save_cursor = curwin->w_cursor; // may be restored later + s->search_start = curwin->w_cursor; s->old_curswant = curwin->w_curswant; s->old_leftcol = curwin->w_leftcol; s->old_topline = curwin->w_topline; @@ -282,7 +298,16 @@ static uint8_t *command_line_enter(int firstc, long count, int indent) ccline.xpc = NULL; if (s->did_incsearch) { - curwin->w_cursor = s->old_cursor; + if (s->gotesc) { + curwin->w_cursor = s->save_cursor; + } else { + if (!equalpos(s->save_cursor, s->search_start)) { + // put the '" mark at the original position + curwin->w_cursor = s->save_cursor; + setpcmark(); + } + curwin->w_cursor = s->search_start; + } curwin->w_curswant = s->old_curswant; curwin->w_leftcol = s->old_leftcol; curwin->w_topline = s->old_topline; @@ -584,7 +609,7 @@ static int command_line_execute(VimState *state, int key) } if (vim_ispathsep(ccline.cmdbuff[s->j]) #ifdef BACKSLASH_IN_FILENAME - && strchr(" *?[{`$%#", ccline.cmdbuff[s->j + 1]) + && vim_strchr(" *?[{`$%#", ccline.cmdbuff[s->j + 1]) == NULL #endif ) { @@ -857,6 +882,118 @@ static int command_line_execute(VimState *state, int key) return command_line_handle_key(s); } +static void command_line_next_incsearch(CommandLineState *s, bool next_match) +{ + ui_busy_start(); + ui_flush(); + + pos_T t; + int search_flags = SEARCH_KEEP + SEARCH_NOOF + SEARCH_PEEK; + if (next_match) { + t = s->match_end; + search_flags += SEARCH_COL; + } else { + t = s->match_start; + } + emsg_off++; + s->i = searchit(curwin, curbuf, &t, + next_match ? FORWARD : BACKWARD, + ccline.cmdbuff, s->count, search_flags, + RE_SEARCH, 0, NULL); + emsg_off--; + ui_busy_stop(); + if (s->i) { + s->search_start = s->match_start; + s->match_end = t; + s->match_start = t; + if (!next_match && s->firstc == '/') { + // move just before the current match, so that + // when nv_search finishes the cursor will be + // put back on the match + s->search_start = t; + (void)decl(&s->search_start); + } + if (lt(t, s->search_start) && next_match) { + // wrap around + s->search_start = t; + if (s->firstc == '?') { + (void)incl(&s->search_start); + } else { + (void)decl(&s->search_start); + } + } + + set_search_match(&s->match_end); + curwin->w_cursor = s->match_start; + changed_cline_bef_curs(); + update_topline(); + validate_cursor(); + highlight_match = true; + s->old_curswant = curwin->w_curswant; + s->old_leftcol = curwin->w_leftcol; + s->old_topline = curwin->w_topline; + s->old_topfill = curwin->w_topfill; + s->old_botline = curwin->w_botline; + update_screen(NOT_VALID); + redrawcmdline(); + } else { + vim_beep(BO_ERROR); + } + return; +} + +static void command_line_next_histidx(CommandLineState *s, bool next_match) +{ + s->j = (int)STRLEN(s->lookfor); + for (;; ) { + // one step backwards + if (!next_match) { + if (s->hiscnt == hislen) { + // first time + s->hiscnt = hisidx[s->histype]; + } else if (s->hiscnt == 0 && hisidx[s->histype] != hislen - 1) { + s->hiscnt = hislen - 1; + } else if (s->hiscnt != hisidx[s->histype] + 1) { + s->hiscnt--; + } else { + // at top of list + s->hiscnt = s->i; + break; + } + } else { // one step forwards + // on last entry, clear the line + if (s->hiscnt == hisidx[s->histype]) { + s->hiscnt = hislen; + break; + } + + // not on a history line, nothing to do + if (s->hiscnt == hislen) { + break; + } + + if (s->hiscnt == hislen - 1) { + // wrap around + s->hiscnt = 0; + } else { + s->hiscnt++; + } + } + + if (s->hiscnt < 0 || history[s->histype][s->hiscnt].hisstr == NULL) { + s->hiscnt = s->i; + break; + } + + if ((s->c != K_UP && s->c != K_DOWN) + || s->hiscnt == s->i + || STRNCMP(history[s->histype][s->hiscnt].hisstr, + s->lookfor, (size_t)s->j) == 0) { + break; + } + } +} + static int command_line_handle_key(CommandLineState *s) { // Big switch for a typed command line character. @@ -929,6 +1066,16 @@ static int command_line_handle_key(CommandLineState *s) // Truncate at the end, required for multi-byte chars. ccline.cmdbuff[ccline.cmdlen] = NUL; + if (ccline.cmdlen == 0) { + s->search_start = s->save_cursor; + // save view settings, so that the screen won't be restored at the + // wrong position + s->old_curswant = s->init_curswant; + s->old_leftcol = s->init_leftcol; + s->old_topline = s->init_topline; + s->old_topfill = s->init_topfill; + s->old_botline = s->init_botline; + } redrawcmd(); } else if (ccline.cmdlen == 0 && s->c != Ctrl_W && ccline.cmdprompt == NULL && s->indent == 0) { @@ -947,6 +1094,7 @@ static int command_line_handle_key(CommandLineState *s) } msg_putchar(' '); // delete ':' } + s->search_start = s->save_cursor; redraw_cmdline = true; return 0; // back to cmd mode } @@ -1001,6 +1149,9 @@ static int command_line_handle_key(CommandLineState *s) // Truncate at the end, required for multi-byte chars. ccline.cmdbuff[ccline.cmdlen] = NUL; + if (ccline.cmdlen == 0) { + s->search_start = s->save_cursor; + } redrawcmd(); return command_line_changed(s); @@ -1230,24 +1381,27 @@ static int command_line_handle_key(CommandLineState *s) case Ctrl_L: if (p_is && !cmd_silent && (s->firstc == '/' || s->firstc == '?')) { // Add a character from under the cursor for 'incsearch' - if (s->did_incsearch && !equalpos(curwin->w_cursor, s->old_cursor)) { - s->c = gchar_cursor(); - // If 'ignorecase' and 'smartcase' are set and the - // command line has no uppercase characters, convert - // the character to lowercase - if (p_ic && p_scs && !pat_has_uppercase(ccline.cmdbuff)) { - s->c = mb_tolower(s->c); - } - - if (s->c != NUL) { - if (s->c == s->firstc - || vim_strchr((char_u *)(p_magic ? "\\^$.*[" : "\\^$"), s->c) - != NULL) { - // put a backslash before special characters - stuffcharReadbuff(s->c); - s->c = '\\'; + if (s->did_incsearch) { + curwin->w_cursor = s->match_end; + if (!equalpos(curwin->w_cursor, s->search_start)) { + s->c = gchar_cursor(); + // If 'ignorecase' and 'smartcase' are set and the + // command line has no uppercase characters, convert + // the character to lowercase + if (p_ic && p_scs + && !pat_has_uppercase(ccline.cmdbuff)) { + s->c = mb_tolower(s->c); + } + if (s->c != NUL) { + if (s->c == s->firstc + || vim_strchr((char_u *)(p_magic ? "\\^$.*[" : "\\^$"), s->c) + != NULL) { + // put a backslash before special characters + stuffcharReadbuff(s->c); + s->c = '\\'; + } + break; } - break; } } return command_line_not_changed(s); @@ -1266,8 +1420,9 @@ static int command_line_handle_key(CommandLineState *s) 0, s->firstc != '@') == FAIL) { break; } - return command_line_changed(s); + return command_line_not_changed(s); } + // fallthrough case K_UP: case K_DOWN: @@ -1290,55 +1445,9 @@ static int command_line_handle_key(CommandLineState *s) s->lookfor[ccline.cmdpos] = NUL; } - s->j = (int)STRLEN(s->lookfor); - for (;; ) { - // one step backwards - if (s->c == K_UP|| s->c == K_S_UP || s->c == Ctrl_P - || s->c == K_PAGEUP || s->c == K_KPAGEUP) { - if (s->hiscnt == hislen) { - // first time - s->hiscnt = hisidx[s->histype]; - } else if (s->hiscnt == 0 && hisidx[s->histype] != hislen - 1) { - s->hiscnt = hislen - 1; - } else if (s->hiscnt != hisidx[s->histype] + 1) { - --s->hiscnt; - } else { - // at top of list - s->hiscnt = s->i; - break; - } - } else { // one step forwards - // on last entry, clear the line - if (s->hiscnt == hisidx[s->histype]) { - s->hiscnt = hislen; - break; - } - - // not on a history line, nothing to do - if (s->hiscnt == hislen) { - break; - } - - if (s->hiscnt == hislen - 1) { - // wrap around - s->hiscnt = 0; - } else { - ++s->hiscnt; - } - } - - if (s->hiscnt < 0 || history[s->histype][s->hiscnt].hisstr == NULL) { - s->hiscnt = s->i; - break; - } - - if ((s->c != K_UP && s->c != K_DOWN) - || s->hiscnt == s->i - || STRNCMP(history[s->histype][s->hiscnt].hisstr, - s->lookfor, (size_t)s->j) == 0) { - break; - } - } + bool next_match = (s->c == K_DOWN || s->c == K_S_DOWN || s->c == Ctrl_N + || s->c == K_PAGEDOWN || s->c == K_KPAGEDOWN); + command_line_next_histidx(s, next_match); if (s->hiscnt != s->i) { // jumped to other entry @@ -1406,6 +1515,17 @@ static int command_line_handle_key(CommandLineState *s) beep_flush(); return command_line_not_changed(s); + case Ctrl_G: // next match + case Ctrl_T: // previous match + if (p_is && !cmd_silent && (s->firstc == '/' || s->firstc == '?')) { + if (char_avail()) { + return 1; + } + command_line_next_incsearch(s, s->c == Ctrl_G); + return command_line_not_changed(s); + } + break; + case Ctrl_V: case Ctrl_Q: s->ignore_drag_release = true; @@ -1520,7 +1640,7 @@ static int command_line_changed(CommandLineState *s) return 1; } s->incsearch_postponed = false; - curwin->w_cursor = s->old_cursor; // start at old position + curwin->w_cursor = s->search_start; // start at old position // If there is no command line, don't do anything if (ccline.cmdlen == 0) { @@ -1565,16 +1685,11 @@ static int command_line_changed(CommandLineState *s) if (s->i != 0) { pos_T save_pos = curwin->w_cursor; - // First move cursor to end of match, then to the start. This - // moves the whole match onto the screen when 'nowrap' is set. - curwin->w_cursor.lnum += search_match_lines; - curwin->w_cursor.col = search_match_endcol; - if (curwin->w_cursor.lnum > curbuf->b_ml.ml_line_count) { - curwin->w_cursor.lnum = curbuf->b_ml.ml_line_count; - coladvance((colnr_T)MAXCOL); - } + s->match_start = curwin->w_cursor; + set_search_match(&curwin->w_cursor); validate_cursor(); end_pos = curwin->w_cursor; + s->match_end = end_pos; curwin->w_cursor = save_pos; } else { end_pos = curwin->w_cursor; // shutup gcc 4 @@ -1616,7 +1731,7 @@ static int command_line_changed(CommandLineState *s) emsg_silent--; // Unblock error reporting // Restore the window "view". - curwin->w_cursor = s->old_cursor; + curwin->w_cursor = s->save_cursor; curwin->w_curswant = s->old_curswant; curwin->w_leftcol = s->old_leftcol; curwin->w_topline = s->old_topline; @@ -4072,7 +4187,7 @@ void ExpandGeneric( /// @param flagsarg is a combination of EW_* flags. static void expand_shellcmd(char_u *filepat, int *num_file, char_u ***file, int flagsarg) - FUNC_ATTR_NONNULL_ALL + FUNC_ATTR_NONNULL_ALL { char_u *pat; int i; @@ -4173,10 +4288,8 @@ static void expand_shellcmd(char_u *filepat, int *num_file, char_u ***file, } } -/* - * Call "user_expand_func()" to invoke a user defined VimL function and return - * the result (either a string or a List). - */ +/// Call "user_expand_func()" to invoke a user defined Vim script function and +/// return the result (either a string or a List). static void * call_user_expand_func(user_expand_func_T user_expand_func, expand_T *xp, int *num_file, char_u ***file) { @@ -5003,7 +5116,7 @@ int get_list_range(char_u **str, int *num1, int *num2) { int len; int first = false; - long num; + varnumber_T num; *str = skipwhite(*str); if (**str == '-' || ascii_isdigit(**str)) { // parse "from" part of range @@ -5380,47 +5493,61 @@ static int ex_window(void) return cmdwin_result; } -/* - * Used for commands that either take a simple command string argument, or: - * cmd << endmarker - * {script} - * endmarker - * Returns a pointer to allocated memory with {script} or NULL. - */ -char_u *script_get(exarg_T *eap, char_u *cmd) +/// Get script string +/// +/// Used for commands which accept either `:command script` or +/// +/// :command << endmarker +/// script +/// endmarker +/// +/// @param eap Command being run. +/// @param[out] lenp Location where length of resulting string is saved. Will +/// be set to zero when skipping. +/// +/// @return [allocated] NULL or script. Does not show any error messages. +/// NULL is returned when skipping and on error. +char *script_get(exarg_T *const eap, size_t *const lenp) + FUNC_ATTR_NONNULL_ALL FUNC_ATTR_WARN_UNUSED_RESULT FUNC_ATTR_MALLOC { - char_u *theline; - char *end_pattern = NULL; - char dot[] = "."; - garray_T ga; - - if (cmd[0] != '<' || cmd[1] != '<' || eap->getline == NULL) - return NULL; + const char *const cmd = (const char *)eap->arg; - ga_init(&ga, 1, 0x400); + if (cmd[0] != '<' || cmd[1] != '<' || eap->getline == NULL) { + *lenp = STRLEN(eap->arg); + return eap->skip ? NULL : xmemdupz(eap->arg, *lenp); + } - if (cmd[2] != NUL) - end_pattern = (char *)skipwhite(cmd + 2); - else - end_pattern = dot; + garray_T ga = { .ga_data = NULL, .ga_len = 0 }; + if (!eap->skip) { + ga_init(&ga, 1, 0x400); + } - for (;; ) { - theline = eap->getline( + const char *const end_pattern = ( + cmd[2] != NUL + ? (const char *)skipwhite((const char_u *)cmd + 2) + : "."); + for (;;) { + char *const theline = (char *)eap->getline( eap->cstack->cs_looplevel > 0 ? -1 : NUL, eap->cookie, 0); - if (theline == NULL || STRCMP(end_pattern, theline) == 0) { + if (theline == NULL || strcmp(end_pattern, theline) == 0) { xfree(theline); break; } - ga_concat(&ga, theline); - ga_append(&ga, '\n'); + if (!eap->skip) { + ga_concat(&ga, (const char_u *)theline); + ga_append(&ga, '\n'); + } xfree(theline); } - ga_append(&ga, NUL); + *lenp = (size_t)ga.ga_len; // Set length without trailing NUL. + if (!eap->skip) { + ga_append(&ga, NUL); + } - return (char_u *)ga.ga_data; + return (char *)ga.ga_data; } /// Iterate over history items @@ -5506,3 +5633,15 @@ histentry_T *hist_get_array(const uint8_t history_type, int **const new_hisidx, *new_hisnum = &(hisnum[history_type]); return history[history_type]; } + +static void set_search_match(pos_T *t) +{ + // First move cursor to end of match, then to the start. This + // moves the whole match onto the screen when 'nowrap' is set. + t->lnum += search_match_lines; + t->col = search_match_endcol; + if (t->lnum > curbuf->b_ml.ml_line_count) { + t->lnum = curbuf->b_ml.ml_line_count; + coladvance((colnr_T)MAXCOL); + } +} diff --git a/src/nvim/fileio.c b/src/nvim/fileio.c index 3e062aecc0..be4188c4df 100644 --- a/src/nvim/fileio.c +++ b/src/nvim/fileio.c @@ -281,8 +281,8 @@ readfile ( colnr_T len; long size = 0; char_u *p = NULL; - off_t filesize = 0; - int skip_read = FALSE; + off_T filesize = 0; + int skip_read = false; context_sha256_T sha_ctx; int read_undo_file = FALSE; int split = 0; /* number of split lines */ @@ -777,9 +777,9 @@ retry: if (read_buffer) { read_buf_lnum = 1; read_buf_col = 0; - } else if (read_stdin || lseek(fd, (off_t)0L, SEEK_SET) != 0) { - /* Can't rewind the file, give up. */ - error = TRUE; + } else if (read_stdin || vim_lseek(fd, (off_T)0L, SEEK_SET) != 0) { + // Can't rewind the file, give up. + error = true; goto failed; } /* Delete the previously read lines. */ @@ -1614,19 +1614,16 @@ rewind_retry: if (fileformat == EOL_DOS) { if (ptr[-1] == CAR) { /* remove CR */ ptr[-1] = NUL; - --len; - } - /* - * Reading in Dos format, but no CR-LF found! - * When 'fileformats' includes "unix", delete all - * the lines read so far and start all over again. - * Otherwise give an error message later. - */ - else if (ff_error != EOL_DOS) { - if ( try_unix - && !read_stdin - && (read_buffer - || lseek(fd, (off_t)0L, SEEK_SET) == 0)) { + len--; + } else if (ff_error != EOL_DOS) { + // Reading in Dos format, but no CR-LF found! + // When 'fileformats' includes "unix", delete all + // the lines read so far and start all over again. + // Otherwise give an error message later. + if (try_unix + && !read_stdin + && (read_buffer + || vim_lseek(fd, (off_T)0L, SEEK_SET) == 0)) { fileformat = EOL_UNIX; if (set_options) set_fileformat(EOL_UNIX, OPT_LOCAL); @@ -3833,7 +3830,7 @@ static bool msg_add_fileformat(int eol_type) /* * Append line and character count to IObuff. */ -void msg_add_lines(int insert_space, long lnum, off_t nchars) +void msg_add_lines(int insert_space, long lnum, off_T nchars) { char_u *p; @@ -4659,7 +4656,7 @@ int vim_rename(const char_u *from, const char_u *to) return -1; } - // Avoid xmalloc() here as vim_rename() is called by buf_write() when neovim + // Avoid xmalloc() here as vim_rename() is called by buf_write() when nvim // is `preserve_exit()`ing. buffer = try_malloc(BUFSIZE); if (buffer == NULL) { @@ -6870,8 +6867,8 @@ static bool apply_autocmds_group(event_T event, char_u *fname, char_u *fname_io, patcmd.next = active_apc_list; active_apc_list = &patcmd; - /* set v:cmdarg (only when there is a matching pattern) */ - save_cmdbang = get_vim_var_nr(VV_CMDBANG); + // set v:cmdarg (only when there is a matching pattern) + save_cmdbang = (long)get_vim_var_nr(VV_CMDBANG); if (eap != NULL) { save_cmdarg = set_cmdarg(eap, NULL); set_vim_var_nr(VV_CMDBANG, (long)eap->forceit); diff --git a/src/nvim/fold.c b/src/nvim/fold.c index 9c44e89eed..db88791967 100644 --- a/src/nvim/fold.c +++ b/src/nvim/fold.c @@ -2894,7 +2894,7 @@ static void foldlevelExpr(fline_T *flp) /* KeyTyped may be reset to 0 when calling a function which invokes * do_cmdline(). To make 'foldopen' work correctly restore KeyTyped. */ save_keytyped = KeyTyped; - n = eval_foldexpr(flp->wp->w_p_fde, &c); + n = (int)eval_foldexpr(flp->wp->w_p_fde, &c); KeyTyped = save_keytyped; switch (c) { diff --git a/src/nvim/func_attr.h b/src/nvim/func_attr.h index 18410445e1..bd26205d6d 100644 --- a/src/nvim/func_attr.h +++ b/src/nvim/func_attr.h @@ -41,9 +41,7 @@ // $ gcc -E -dM - </dev/null // $ echo | clang -dM -E - -#ifndef NVIM_FUNC_ATTR_H -#define NVIM_FUNC_ATTR_H -#undef NVIM_FUNC_ATTR_H +#include "nvim/macros.h" #ifdef FUNC_ATTR_MALLOC # undef FUNC_ATTR_MALLOC @@ -93,11 +91,18 @@ # undef FUNC_ATTR_NONNULL_RET #endif +#ifdef FUNC_ATTR_NORETURN +# undef FUNC_ATTR_NORETURN +#endif + +#ifdef FUNC_ATTR_NO_SANITIZE_UNDEFINED +# undef FUNC_ATTR_NO_SANITIZE_UNDEFINED +#endif + #ifndef DID_REAL_ATTR # define DID_REAL_ATTR # ifdef __GNUC__ -// place defines for all gnulikes here, for now that's gcc, clang and -// intel. +// For all gnulikes: gcc, clang, intel. // place these after the argument list of the function declaration // (not definition), like so: @@ -111,27 +116,27 @@ # define REAL_FATTR_UNUSED __attribute__((unused)) # define REAL_FATTR_NONNULL_ALL __attribute__((nonnull)) # define REAL_FATTR_NONNULL_ARG(...) __attribute__((nonnull(__VA_ARGS__))) +# define REAL_FATTR_NORETURN __attribute__((noreturn)) + +# if NVIM_HAS_ATTRIBUTE(returns_nonnull) +# define REAL_FATTR_NONNULL_RET __attribute__((returns_nonnull)) +# endif -# ifdef __clang__ -// clang only -# elif defined(__INTEL_COMPILER) -// intel only -# else -# define GCC_VERSION \ - (__GNUC__ * 10000 + \ - __GNUC_MINOR__ * 100 + \ - __GNUC_PATCHLEVEL__) -// gcc only +# if NVIM_HAS_ATTRIBUTE(alloc_size) # define REAL_FATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x))) # define REAL_FATTR_ALLOC_SIZE_PROD(x, y) __attribute__((alloc_size(x, y))) -# if GCC_VERSION >= 40900 -# define REAL_FATTR_NONNULL_RET __attribute__((returns_nonnull)) -# endif +# endif + +# if NVIM_HAS_ATTRIBUTE(no_sanitize_undefined) +# define REAL_FATTR_NO_SANITIZE_UNDEFINED \ + __attribute__((no_sanitize_undefined)) +# elif NVIM_HAS_ATTRIBUTE(no_sanitize) +# define REAL_FATTR_NO_SANITIZE_UNDEFINED \ + __attribute__((no_sanitize("undefined"))) # endif # endif -// define function attributes that haven't been defined for this specific -// compiler. +// Define attributes that are not defined for this compiler. # ifndef REAL_FATTR_MALLOC # define REAL_FATTR_MALLOC @@ -180,13 +185,22 @@ # ifndef REAL_FATTR_NONNULL_RET # define REAL_FATTR_NONNULL_RET # endif + +# ifndef REAL_FATTR_NORETURN +# define REAL_FATTR_NORETURN +# endif + +# ifndef REAL_FATTR_NO_SANITIZE_UNDEFINED +# define REAL_FATTR_NO_SANITIZE_UNDEFINED +# endif #endif #ifdef DEFINE_FUNC_ATTRIBUTES # define FUNC_API_ASYNC # define FUNC_API_NOEXPORT -# define FUNC_API_NOEVAL +# define FUNC_API_REMOTE_ONLY # define FUNC_API_SINCE(X) +# define FUNC_API_DEPRECATED_SINCE(X) # define FUNC_ATTR_MALLOC REAL_FATTR_MALLOC # define FUNC_ATTR_ALLOC_SIZE(x) REAL_FATTR_ALLOC_SIZE(x) # define FUNC_ATTR_ALLOC_SIZE_PROD(x, y) REAL_FATTR_ALLOC_SIZE_PROD(x, y) @@ -199,6 +213,8 @@ # define FUNC_ATTR_NONNULL_ALL REAL_FATTR_NONNULL_ALL # define FUNC_ATTR_NONNULL_ARG(...) REAL_FATTR_NONNULL_ARG(__VA_ARGS__) # define FUNC_ATTR_NONNULL_RET REAL_FATTR_NONNULL_RET +# define FUNC_ATTR_NORETURN REAL_FATTR_NORETURN +# define FUNC_ATTR_NO_SANITIZE_UNDEFINED REAL_FATTR_NO_SANITIZE_UNDEFINED #elif !defined(DO_NOT_DEFINE_EMPTY_ATTRIBUTES) # define FUNC_ATTR_MALLOC # define FUNC_ATTR_ALLOC_SIZE(x) @@ -212,5 +228,6 @@ # define FUNC_ATTR_NONNULL_ALL # define FUNC_ATTR_NONNULL_ARG(...) # define FUNC_ATTR_NONNULL_RET +# define FUNC_ATTR_NORETURN +# define FUNC_ATTR_NO_SANITIZE_UNDEFINED #endif -#endif // NVIM_FUNC_ATTR_H diff --git a/src/nvim/garray.h b/src/nvim/garray.h index 5d7806bbfa..94e1b61671 100644 --- a/src/nvim/garray.h +++ b/src/nvim/garray.h @@ -37,7 +37,7 @@ typedef struct growarray { static inline void *ga_append_via_ptr(garray_T *gap, size_t item_size) { if ((int)item_size != gap->ga_itemsize) { - ELOG("wrong item size in garray(%d), should be %d", item_size); + WLOG("wrong item size (%d), should be %d", item_size, gap->ga_itemsize); } ga_grow(gap, 1); return ((char *)gap->ga_data) + (item_size * (size_t)gap->ga_len++); diff --git a/src/nvim/generators/c_grammar.lua b/src/nvim/generators/c_grammar.lua new file mode 100644 index 0000000000..d3047e1a9c --- /dev/null +++ b/src/nvim/generators/c_grammar.lua @@ -0,0 +1,50 @@ +lpeg = require('lpeg') + +-- lpeg grammar for building api metadata from a set of header files. It +-- ignores comments and preprocessor commands and parses a very small subset +-- of C prototypes with a limited set of types +local P, R, S = lpeg.P, lpeg.R, lpeg.S +local C, Ct, Cc, Cg = lpeg.C, lpeg.Ct, lpeg.Cc, lpeg.Cg + +local any = P(1) -- (consume one character) +local letter = R('az', 'AZ') + S('_$') +local num = R('09') +local alpha = letter + num +local nl = P('\r\n') + P('\n') +local not_nl = any - nl +local ws = S(' \t') + nl +local fill = ws ^ 0 +local c_comment = P('//') * (not_nl ^ 0) +local c_preproc = P('#') * (not_nl ^ 0) +local typed_container = + (P('ArrayOf(') + P('DictionaryOf(')) * ((any - P(')')) ^ 1) * P(')') +local c_id = ( + typed_container + + (letter * (alpha ^ 0)) +) +local c_void = P('void') +local c_param_type = ( + ((P('Error') * fill * P('*') * fill) * Cc('error')) + + (C(c_id) * (ws ^ 1)) + ) +local c_type = (C(c_void) * (ws ^ 1)) + c_param_type +local c_param = Ct(c_param_type * C(c_id)) +local c_param_list = c_param * (fill * (P(',') * fill * c_param) ^ 0) +local c_params = Ct(c_void + c_param_list) +local c_proto = Ct( + Cg(c_type, 'return_type') * Cg(c_id, 'name') * + fill * P('(') * fill * Cg(c_params, 'parameters') * fill * P(')') * + Cg(Cc(false), 'async') * + (fill * Cg((P('FUNC_API_SINCE(') * C(num ^ 1)) * P(')'), 'since') ^ -1) * + (fill * Cg((P('FUNC_API_DEPRECATED_SINCE(') * C(num ^ 1)) * P(')'), + 'deprecated_since') ^ -1) * + (fill * Cg((P('FUNC_API_ASYNC') * Cc(true)), 'async') ^ -1) * + (fill * Cg((P('FUNC_API_NOEXPORT') * Cc(true)), 'noexport') ^ -1) * + (fill * Cg((P('FUNC_API_REMOTE_ONLY') * Cc(true)), 'remote_only') ^ -1) * + (fill * Cg((P('FUNC_API_REMOTE_IMPL') * Cc(true)), 'remote_impl') ^ -1) * + (fill * Cg((P('FUNC_API_BRIDGE_IMPL') * Cc(true)), 'bridge_impl') ^ -1) * + fill * P(';') + ) + +local grammar = Ct((c_proto + c_comment + c_preproc + ws) ^ 1) +return {grammar=grammar, typed_container=typed_container} diff --git a/src/nvim/generators/dump_bin_array.lua b/src/nvim/generators/dump_bin_array.lua new file mode 100644 index 0000000000..bee5aba73f --- /dev/null +++ b/src/nvim/generators/dump_bin_array.lua @@ -0,0 +1,17 @@ +local function dump_bin_array(output, name, data) + output:write([[ + static const uint8_t ]]..name..[[[] = { +]]) + + for i = 1, #data do + output:write(string.byte(data, i)..', ') + if i % 10 == 0 then + output:write('\n ') + end + end + output:write([[ +}; +]]) +end + +return dump_bin_array diff --git a/src/nvim/generators/gen_api_dispatch.lua b/src/nvim/generators/gen_api_dispatch.lua new file mode 100644 index 0000000000..b01321e713 --- /dev/null +++ b/src/nvim/generators/gen_api_dispatch.lua @@ -0,0 +1,458 @@ +mpack = require('mpack') + +-- we need at least 4 arguments since the last two are output files +if arg[1] == '--help' then + print('Usage: genmsgpack.lua args') + print('Args: 1: source directory') + print(' 2: dispatch output file (dispatch_wrappers.generated.h)') + print(' 3: functions metadata output file (funcs_metadata.generated.h)') + print(' 4: API metadata output file (api_metadata.mpack)') + print(' 5: lua C bindings output file (msgpack_lua_c_bindings.generated.c)') + print(' rest: C files where API functions are defined') +end +assert(#arg >= 4) +functions = {} + +local nvimdir = arg[1] +package.path = nvimdir .. '/?.lua;' .. package.path + +-- names of all headers relative to the source root (for inclusion in the +-- generated file) +headers = {} + +-- output h file with generated dispatch functions +dispatch_outputf = arg[2] +-- output h file with packed metadata +funcs_metadata_outputf = arg[3] +-- output metadata mpack file, for use by other build scripts +mpack_outputf = arg[4] +lua_c_bindings_outputf = arg[5] + +-- set of function names, used to detect duplicates +function_names = {} + +c_grammar = require('generators.c_grammar') + +-- read each input file, parse and append to the api metadata +for i = 6, #arg do + local full_path = arg[i] + local parts = {} + for part in string.gmatch(full_path, '[^/]+') do + parts[#parts + 1] = part + end + headers[#headers + 1] = parts[#parts - 1]..'/'..parts[#parts] + + local input = io.open(full_path, 'rb') + + local tmp = c_grammar.grammar:match(input:read('*all')) + for i = 1, #tmp do + local fn = tmp[i] + if not fn.noexport then + functions[#functions + 1] = tmp[i] + function_names[fn.name] = true + if #fn.parameters ~= 0 and fn.parameters[1][2] == 'channel_id' then + -- this function should receive the channel id + fn.receives_channel_id = true + -- remove the parameter since it won't be passed by the api client + table.remove(fn.parameters, 1) + end + if #fn.parameters ~= 0 and fn.parameters[#fn.parameters][1] == 'error' then + -- function can fail if the last parameter type is 'Error' + fn.can_fail = true + -- remove the error parameter, msgpack has it's own special field + -- for specifying errors + fn.parameters[#fn.parameters] = nil + end + end + end + input:close() +end + +local function shallowcopy(orig) + local copy = {} + for orig_key, orig_value in pairs(orig) do + copy[orig_key] = orig_value + end + return copy +end + +local function startswith(String,Start) + return string.sub(String,1,string.len(Start))==Start +end + +-- Export functions under older deprecated names. +-- These will be removed eventually. +local deprecated_aliases = require("api.dispatch_deprecated") +for i,f in ipairs(shallowcopy(functions)) do + local ismethod = false + if startswith(f.name, "nvim_") then + if startswith(f.name, "nvim__") then + f.since = -1 + elseif f.since == nil then + print("Function "..f.name.." lacks since field.\n") + os.exit(1) + end + f.since = tonumber(f.since) + if f.deprecated_since ~= nil then + f.deprecated_since = tonumber(f.deprecated_since) + end + + if startswith(f.name, "nvim_buf_") then + ismethod = true + elseif startswith(f.name, "nvim_win_") then + ismethod = true + elseif startswith(f.name, "nvim_tabpage_") then + ismethod = true + end + else + f.remote_only = true + f.since = 0 + f.deprecated_since = 1 + end + f.method = ismethod + local newname = deprecated_aliases[f.name] + if newname ~= nil then + if function_names[newname] then + -- duplicate + print("Function "..f.name.." has deprecated alias\n" + ..newname.." which has a separate implementation.\n".. + "Please remove it from src/nvim/api/dispatch_deprecated.lua") + os.exit(1) + end + local newf = shallowcopy(f) + newf.name = newname + if newname == "ui_try_resize" then + -- The return type was incorrectly set to Object in 0.1.5. + -- Keep it that way for clients that rely on this. + newf.return_type = "Object" + end + newf.impl_name = f.name + newf.remote_only = true + newf.since = 0 + newf.deprecated_since = 1 + functions[#functions+1] = newf + end +end + +-- don't expose internal attributes like "impl_name" in public metadata +exported_attributes = {'name', 'parameters', 'return_type', 'method', + 'since', 'deprecated_since'} +exported_functions = {} +for _,f in ipairs(functions) do + if not startswith(f.name, "nvim__") then + local f_exported = {} + for _,attr in ipairs(exported_attributes) do + f_exported[attr] = f[attr] + end + exported_functions[#exported_functions+1] = f_exported + end +end + + +-- serialize the API metadata using msgpack and embed into the resulting +-- binary for easy querying by clients +funcs_metadata_output = io.open(funcs_metadata_outputf, 'wb') +packed = mpack.pack(exported_functions) +dump_bin_array = require("generators.dump_bin_array") +dump_bin_array(funcs_metadata_output, 'funcs_metadata', packed) +funcs_metadata_output:close() + +-- start building the dispatch wrapper output +output = io.open(dispatch_outputf, 'wb') + +local function real_type(type) + local rv = type + if c_grammar.typed_container:match(rv) then + if rv:match('Array') then + rv = 'Array' + else + rv = 'Dictionary' + end + end + return rv +end + +local function attr_name(rt) + if rt == 'Float' then + return 'floating' + else + return rt:lower() + end +end + +-- start the handler functions. Visit each function metadata to build the +-- handler function with code generated for validating arguments and calling to +-- the real API. +for i = 1, #functions do + local fn = functions[i] + if fn.impl_name == nil then + local args = {} + + output:write('Object handle_'..fn.name..'(uint64_t channel_id, Array args, Error *error)') + output:write('\n{') + output:write('\n Object ret = NIL;') + -- Declare/initialize variables that will hold converted arguments + for j = 1, #fn.parameters do + local param = fn.parameters[j] + local converted = 'arg_'..j + output:write('\n '..param[1]..' '..converted..';') + end + output:write('\n') + output:write('\n if (args.size != '..#fn.parameters..') {') + output:write('\n api_set_error(error, kErrorTypeException, "Wrong number of arguments: expecting '..#fn.parameters..' but got %zu", args.size);') + output:write('\n goto cleanup;') + output:write('\n }\n') + + -- Validation/conversion for each argument + for j = 1, #fn.parameters do + local converted, convert_arg, param, arg + param = fn.parameters[j] + converted = 'arg_'..j + local rt = real_type(param[1]) + if rt ~= 'Object' then + if rt:match('^Buffer$') or rt:match('^Window$') or rt:match('^Tabpage$') then + -- Buffer, Window, and Tabpage have a specific type, but are stored in integer + output:write('\n if (args.items['..(j - 1)..'].type == kObjectType'..rt..' && args.items['..(j - 1)..'].data.integer >= 0) {') + output:write('\n '..converted..' = (handle_T)args.items['..(j - 1)..'].data.integer;') + else + output:write('\n if (args.items['..(j - 1)..'].type == kObjectType'..rt..') {') + output:write('\n '..converted..' = args.items['..(j - 1)..'].data.'..attr_name(rt)..';') + end + if rt:match('^Buffer$') or rt:match('^Window$') or rt:match('^Tabpage$') or rt:match('^Boolean$') then + -- accept nonnegative integers for Booleans, Buffers, Windows and Tabpages + output:write('\n } else if (args.items['..(j - 1)..'].type == kObjectTypeInteger && args.items['..(j - 1)..'].data.integer >= 0) {') + output:write('\n '..converted..' = (handle_T)args.items['..(j - 1)..'].data.integer;') + end + output:write('\n } else {') + output:write('\n api_set_error(error, kErrorTypeException, "Wrong type for argument '..j..', expecting '..param[1]..'");') + output:write('\n goto cleanup;') + output:write('\n }\n') + else + output:write('\n '..converted..' = args.items['..(j - 1)..'];\n') + end + + args[#args + 1] = converted + end + + -- function call + local call_args = table.concat(args, ', ') + output:write('\n ') + if fn.return_type ~= 'void' then + -- has a return value, prefix the call with a declaration + output:write(fn.return_type..' rv = ') + end + + -- write the function name and the opening parenthesis + output:write(fn.name..'(') + + if fn.receives_channel_id then + -- if the function receives the channel id, pass it as first argument + if #args > 0 or fn.can_fail then + output:write('channel_id, '..call_args) + else + output:write('channel_id') + end + else + output:write(call_args) + end + + if fn.can_fail then + -- if the function can fail, also pass a pointer to the local error object + if #args > 0 then + output:write(', error);\n') + else + output:write('error);\n') + end + -- and check for the error + output:write('\n if (ERROR_SET(error)) {') + output:write('\n goto cleanup;') + output:write('\n }\n') + else + output:write(');\n') + end + + if fn.return_type ~= 'void' then + output:write('\n ret = '..string.upper(real_type(fn.return_type))..'_OBJ(rv);') + end + output:write('\n\ncleanup:'); + + output:write('\n return ret;\n}\n\n'); + end +end + +-- Generate a function that initializes method names with handler functions +output:write([[ +void msgpack_rpc_init_method_table(void) +{ + methods = map_new(String, MsgpackRpcRequestHandler)(); + +]]) + +for i = 1, #functions do + local fn = functions[i] + output:write(' msgpack_rpc_add_method_handler('.. + '(String) {.data = "'..fn.name..'", '.. + '.size = sizeof("'..fn.name..'") - 1}, '.. + '(MsgpackRpcRequestHandler) {.fn = handle_'.. (fn.impl_name or fn.name).. + ', .async = '..tostring(fn.async)..'});\n') + +end + +output:write('\n}\n\n') +output:close() + +mpack_output = io.open(mpack_outputf, 'wb') +mpack_output:write(mpack.pack(functions)) +mpack_output:close() + +local function include_headers(output, headers) + for i = 1, #headers do + if headers[i]:sub(-12) ~= '.generated.h' then + output:write('\n#include "nvim/'..headers[i]..'"') + end + end +end + +local function write_shifted_output(output, str) + str = str:gsub('\n ', '\n') + str = str:gsub('^ ', '') + str = str:gsub(' +$', '') + output:write(str) +end + +-- start building lua output +output = io.open(lua_c_bindings_outputf, 'wb') + +output:write([[ +#include <lua.h> +#include <lualib.h> +#include <lauxlib.h> + +#include "nvim/func_attr.h" +#include "nvim/api/private/defs.h" +#include "nvim/api/private/helpers.h" +#include "nvim/lua/converter.h" +]]) +include_headers(output, headers) +output:write('\n') + +lua_c_functions = {} + +local function process_function(fn) + lua_c_function_name = ('nlua_msgpack_%s'):format(fn.name) + write_shifted_output(output, string.format([[ + + static int %s(lua_State *lstate) + { + Error err = ERROR_INIT; + if (lua_gettop(lstate) != %i) { + api_set_error(&err, kErrorTypeValidation, "Expected %i argument%s"); + goto exit_0; + } + ]], lua_c_function_name, #fn.parameters, #fn.parameters, + (#fn.parameters == 1) and '' or 's')) + lua_c_functions[#lua_c_functions + 1] = { + binding=lua_c_function_name, + api=fn.name + } + local cparams = '' + local free_code = {} + for j = #fn.parameters,1,-1 do + param = fn.parameters[j] + cparam = string.format('arg%u', j) + param_type = real_type(param[1]) + lc_param_type = param_type:lower() + write_shifted_output(output, string.format([[ + const %s %s = nlua_pop_%s(lstate, &err); + + if (ERROR_SET(&err)) { + goto exit_%u; + } + ]], param[1], cparam, param_type, #fn.parameters - j)) + free_code[#free_code + 1] = ('api_free_%s(%s);'):format( + lc_param_type, cparam) + cparams = cparam .. ', ' .. cparams + end + if fn.receives_channel_id then + cparams = 'LUA_INTERNAL_CALL, ' .. cparams + end + if fn.can_fail then + cparams = cparams .. '&err' + else + cparams = cparams:gsub(', $', '') + end + local free_at_exit_code = '' + for i = 1, #free_code do + local rev_i = #free_code - i + 1 + local code = free_code[rev_i] + if i == 1 then + free_at_exit_code = free_at_exit_code .. ('\n %s'):format(code) + else + free_at_exit_code = free_at_exit_code .. ('\n exit_%u:\n %s'):format( + rev_i, code) + end + end + local err_throw_code = [[ + + exit_0: + if (ERROR_SET(&err)) { + luaL_where(lstate, 1); + lua_pushstring(lstate, err.msg); + api_clear_error(&err); + lua_concat(lstate, 2); + return lua_error(lstate); + } + ]] + if fn.return_type ~= 'void' then + if fn.return_type:match('^ArrayOf') then + return_type = 'Array' + else + return_type = fn.return_type + end + write_shifted_output(output, string.format([[ + const %s ret = %s(%s); + nlua_push_%s(lstate, ret); + api_free_%s(ret); + %s + %s + return 1; + ]], fn.return_type, fn.name, cparams, return_type, return_type:lower(), + free_at_exit_code, err_throw_code)) + else + write_shifted_output(output, string.format([[ + %s(%s); + %s + %s + return 0; + ]], fn.name, cparams, free_at_exit_code, err_throw_code)) + end + write_shifted_output(output, [[ + } + ]]) +end + +for _, fn in ipairs(functions) do + if not fn.remote_only or fn.name:sub(1, 4) == '_vim' then + process_function(fn) + end +end + +output:write(string.format([[ +void nlua_add_api_functions(lua_State *lstate) + FUNC_ATTR_NONNULL_ALL +{ + lua_createtable(lstate, 0, %u); +]], #lua_c_functions)) +for _, func in ipairs(lua_c_functions) do + output:write(string.format([[ + + lua_pushcfunction(lstate, &%s); + lua_setfield(lstate, -2, "%s");]], func.binding, func.api)) +end +output:write([[ + + lua_setfield(lstate, -2, "api"); +} +]]) + +output:close() diff --git a/src/nvim/generators/gen_api_ui_events.lua b/src/nvim/generators/gen_api_ui_events.lua new file mode 100644 index 0000000000..acdb25ca67 --- /dev/null +++ b/src/nvim/generators/gen_api_ui_events.lua @@ -0,0 +1,165 @@ +mpack = require('mpack') + +local nvimdir = arg[1] +package.path = nvimdir .. '/?.lua;' .. package.path + +assert(#arg == 7) +input = io.open(arg[2], 'rb') +proto_output = io.open(arg[3], 'wb') +call_output = io.open(arg[4], 'wb') +remote_output = io.open(arg[5], 'wb') +bridge_output = io.open(arg[6], 'wb') +metadata_output = io.open(arg[7], 'wb') + +c_grammar = require('generators.c_grammar') +local events = c_grammar.grammar:match(input:read('*all')) + +function write_signature(output, ev, prefix, notype) + output:write('('..prefix) + if prefix == "" and #ev.parameters == 0 then + output:write('void') + end + for j = 1, #ev.parameters do + if j > 1 or prefix ~= '' then + output:write(', ') + end + local param = ev.parameters[j] + if not notype then + output:write(param[1]..' ') + end + output:write(param[2]) + end + output:write(')') +end + +function write_arglist(output, ev, need_copy) + output:write(' Array args = ARRAY_DICT_INIT;\n') + for j = 1, #ev.parameters do + local param = ev.parameters[j] + local kind = string.upper(param[1]) + local do_copy = need_copy and (kind == "ARRAY" or kind == "DICTIONARY" or kind == "STRING") + output:write(' ADD(args, ') + if do_copy then + output:write('copy_object(') + end + output:write(kind..'_OBJ('..param[2]..')') + if do_copy then + output:write(')') + end + output:write(');\n') + end +end + +for i = 1, #events do + ev = events[i] + assert(ev.return_type == 'void') + + if ev.since == nil then + print("Ui event "..ev.name.." lacks since field.\n") + os.exit(1) + end + ev.since = tonumber(ev.since) + + if not ev.remote_only then + proto_output:write(' void (*'..ev.name..')') + write_signature(proto_output, ev, 'UI *ui') + proto_output:write(';\n') + + if not ev.remote_impl then + remote_output:write('static void remote_ui_'..ev.name) + write_signature(remote_output, ev, 'UI *ui') + remote_output:write('\n{\n') + write_arglist(remote_output, ev, true) + remote_output:write(' push_call(ui, "'..ev.name..'", args);\n') + remote_output:write('}\n\n') + end + + if not ev.bridge_impl then + + send, argv, recv, recv_argv, recv_cleanup = '', '', '', '', '' + argc = 1 + for j = 1, #ev.parameters do + local param = ev.parameters[j] + copy = 'copy_'..param[2] + if param[1] == 'String' then + send = send..' String copy_'..param[2]..' = copy_string('..param[2]..');\n' + argv = argv..', '..copy..'.data, INT2PTR('..copy..'.size)' + recv = (recv..' String '..param[2].. + ' = (String){.data = argv['..argc..'],'.. + '.size = (size_t)argv['..(argc+1)..']};\n') + recv_argv = recv_argv..', '..param[2] + recv_cleanup = recv_cleanup..' api_free_string('..param[2]..');\n' + argc = argc+2 + elseif param[1] == 'Array' then + send = send..' Array copy_'..param[2]..' = copy_array('..param[2]..');\n' + argv = argv..', '..copy..'.items, INT2PTR('..copy..'.size)' + recv = (recv..' Array '..param[2].. + ' = (Array){.items = argv['..argc..'],'.. + '.size = (size_t)argv['..(argc+1)..']};\n') + recv_argv = recv_argv..', '..param[2] + recv_cleanup = recv_cleanup..' api_free_array('..param[2]..');\n' + argc = argc+2 + elseif param[1] == 'Integer' or param[1] == 'Boolean' then + argv = argv..', INT2PTR('..param[2]..')' + recv_argv = recv_argv..', PTR2INT(argv['..argc..'])' + argc = argc+1 + else + assert(false) + end + end + bridge_output:write('static void ui_bridge_'..ev.name.. + '_event(void **argv)\n{\n') + bridge_output:write(' UI *ui = UI(argv[0]);\n') + bridge_output:write(recv) + bridge_output:write(' ui->'..ev.name..'(ui'..recv_argv..');\n') + bridge_output:write(recv_cleanup) + bridge_output:write('}\n\n') + + bridge_output:write('static void ui_bridge_'..ev.name) + write_signature(bridge_output, ev, 'UI *ui') + bridge_output:write('\n{\n') + bridge_output:write(send) + bridge_output:write(' UI_CALL(ui, '..ev.name..', '..argc..', ui'..argv..');\n}\n') + end + end + + call_output:write('void ui_call_'..ev.name) + write_signature(call_output, ev, '') + call_output:write('\n{\n') + if ev.remote_only then + write_arglist(call_output, ev, false) + call_output:write(' ui_event("'..ev.name..'", args);\n') + else + call_output:write(' UI_CALL') + write_signature(call_output, ev, ev.name, true) + call_output:write(";\n") + end + call_output:write("}\n\n") + +end + +proto_output:close() +call_output:close() +remote_output:close() + +-- don't expose internal attributes like "impl_name" in public metadata +exported_attributes = {'name', 'parameters', + 'since', 'deprecated_since'} +exported_events = {} +for _,ev in ipairs(events) do + local ev_exported = {} + for _,attr in ipairs(exported_attributes) do + ev_exported[attr] = ev[attr] + end + for _,p in ipairs(ev_exported.parameters) do + if p[1] == 'HlAttrs' then + p[1] = 'Dictionary' + end + end + exported_events[#exported_events+1] = ev_exported +end + +packed = mpack.pack(exported_events) +dump_bin_array = require("generators.dump_bin_array") +dump_bin_array(metadata_output, 'ui_events_metadata', packed) +metadata_output:close() diff --git a/src/nvim/generators/gen_char_blob.lua b/src/nvim/generators/gen_char_blob.lua new file mode 100644 index 0000000000..d860375e26 --- /dev/null +++ b/src/nvim/generators/gen_char_blob.lua @@ -0,0 +1,48 @@ +if arg[1] == '--help' then + print('Usage:') + print(' gencharblob.lua source target varname') + print('') + print('Generates C file with big uint8_t blob.') + print('Blob will be stored in a static const array named varname.') + os.exit() +end + +assert(#arg == 3) + +local source_file = arg[1] +local target_file = arg[2] +local varname = arg[3] + +source = io.open(source_file, 'r') +target = io.open(target_file, 'w') + +target:write('#include <stdint.h>\n\n') +target:write(('static const uint8_t %s[] = {\n'):format(varname)) + +num_bytes = 0 +MAX_NUM_BYTES = 15 -- 78 / 5: maximum number of bytes on one line +target:write(' ') + +increase_num_bytes = function() + num_bytes = num_bytes + 1 + if num_bytes == MAX_NUM_BYTES then + num_bytes = 0 + target:write('\n ') + end +end + +for line in source:lines() do + for i = 1,string.len(line) do + byte = string.byte(line, i) + assert(byte ~= 0) + target:write(string.format(' %3u,', byte)) + increase_num_bytes() + end + target:write(string.format(' %3u,', string.byte('\n', 1))) + increase_num_bytes() +end + +target:write(' 0};\n') + +source:close() +target:close() diff --git a/src/nvim/generators/gen_declarations.lua b/src/nvim/generators/gen_declarations.lua new file mode 100755 index 0000000000..e999e53e4a --- /dev/null +++ b/src/nvim/generators/gen_declarations.lua @@ -0,0 +1,287 @@ +#!/usr/bin/lua + +local fname = arg[1] +local static_fname = arg[2] +local non_static_fname = arg[3] +local preproc_fname = arg[4] + + +local lpeg = require('lpeg') + +local fold = function (func, ...) + local result = nil + for i, v in ipairs({...}) do + if result == nil then + result = v + else + result = func(result, v) + end + end + return result +end + +local folder = function (func) + return function (...) + return fold(func, ...) + end +end + +local lit = lpeg.P +local set = function(...) + return lpeg.S(fold(function (a, b) return a .. b end, ...)) +end +local any_character = lpeg.P(1) +local rng = function(s, e) return lpeg.R(s .. e) end +local concat = folder(function (a, b) return a * b end) +local branch = folder(function (a, b) return a + b end) +local one_or_more = function(v) return v ^ 1 end +local two_or_more = function(v) return v ^ 2 end +local any_amount = function(v) return v ^ 0 end +local one_or_no = function(v) return v ^ -1 end +local look_behind = lpeg.B +local look_ahead = function(v) return #v end +local neg_look_ahead = function(v) return -v end +local neg_look_behind = function(v) return -look_behind(v) end + +local w = branch( + rng('a', 'z'), + rng('A', 'Z'), + lit('_') +) +local aw = branch( + w, + rng('0', '9') +) +local s = set(' ', '\n', '\t') +local raw_word = concat(w, any_amount(aw)) +local right_word = concat( + raw_word, + neg_look_ahead(aw) +) +local word = branch( + concat( + branch(lit('ArrayOf('), lit('DictionaryOf(')), -- typed container macro + one_or_more(any_character - lit(')')), + lit(')') + ), + concat( + neg_look_behind(aw), + right_word + ) +) +local inline_comment = concat( + lit('/*'), + any_amount(concat( + neg_look_ahead(lit('*/')), + any_character + )), + lit('*/') +) +local spaces = any_amount(branch( + s, + -- Comments are really handled by preprocessor, so the following is not needed + inline_comment, + concat( + lit('//'), + any_amount(concat( + neg_look_ahead(lit('\n')), + any_character + )), + lit('\n') + ), + -- Linemarker inserted by preprocessor + concat( + lit('# '), + any_amount(concat( + neg_look_ahead(lit('\n')), + any_character + )), + lit('\n') + ) +)) +local typ_part = concat( + word, + any_amount(concat( + spaces, + lit('*') + )), + spaces +) +local typ = one_or_more(typ_part) +local typ_id = two_or_more(typ_part) +local arg = typ_id -- argument name is swallowed by typ +local pattern = concat( + any_amount(branch(set(' ', '\t'), inline_comment)), + typ_id, -- return type with function name + spaces, + lit('('), + spaces, + one_or_no(branch( -- function arguments + concat( + arg, -- first argument, does not require comma + any_amount(concat( -- following arguments, start with a comma + spaces, + lit(','), + spaces, + arg, + any_amount(concat( + lit('['), + spaces, + any_amount(aw), + spaces, + lit(']') + )) + )), + one_or_no(concat( + spaces, + lit(','), + spaces, + lit('...') + )) + ), + lit('void') -- also accepts just void + )), + spaces, + lit(')'), + any_amount(concat( -- optional attributes + spaces, + lit('FUNC_'), + any_amount(aw), + one_or_no(concat( -- attribute argument + spaces, + lit('('), + any_amount(concat( + neg_look_ahead(lit(')')), + any_character + )), + lit(')') + )) + )), + look_ahead(concat( -- definition must be followed by "{" + spaces, + lit('{') + )) +) + +if fname == '--help' then + print'Usage:' + print() + print' gendeclarations.lua definitions.c static.h non-static.h preprocessor.i' + os.exit() +end + +local preproc_f = io.open(preproc_fname) +local text = preproc_f:read("*all") +preproc_f:close() + + +local header = [[ +#ifndef DEFINE_FUNC_ATTRIBUTES +# define DEFINE_FUNC_ATTRIBUTES +#endif +#include "nvim/func_attr.h" +#undef DEFINE_FUNC_ATTRIBUTES +]] + +local footer = [[ +#include "nvim/func_attr.h" +]] + +local non_static = header +local static = header + +local filepattern = '^#%a* (%d+) "([^"]-)/?([^"/]+)"' +local curfile + +local init = 0 +local curfile = nil +local neededfile = fname:match('[^/]+$') +local declline = 0 +local declendpos = 0 +local curdir = nil +local is_needed_file = false +while init ~= nil do + init = text:find('[\n;}]', init) + if init == nil then + break + end + local init_is_nl = text:sub(init, init) == '\n' + init = init + 1 + if init_is_nl and is_needed_file then + declline = declline + 1 + end + if init_is_nl and text:sub(init, init) == '#' then + local line, dir, file = text:match(filepattern, init) + if file ~= nil then + curfile = file + is_needed_file = (curfile == neededfile) + declline = tonumber(line) - 1 + local curdir_start = dir:find('src/nvim/') + if curdir_start ~= nil then + curdir = dir:sub(curdir_start + #('src/nvim/')) + else + curdir = dir + end + else + declline = declline - 1 + end + elseif init < declendpos then + -- Skipping over declaration + elseif is_needed_file then + s = init + e = pattern:match(text, init) + if e ~= nil then + local declaration = text:sub(s, e - 1) + -- Comments are really handled by preprocessor, so the following is not + -- needed + declaration = declaration:gsub('/%*.-%*/', '') + declaration = declaration:gsub('//.-\n', '\n') + + declaration = declaration:gsub('# .-\n', '') + + declaration = declaration:gsub('\n', ' ') + declaration = declaration:gsub('%s+', ' ') + declaration = declaration:gsub(' ?%( ?', '(') + -- declaration = declaration:gsub(' ?%) ?', ')') + declaration = declaration:gsub(' ?, ?', ', ') + declaration = declaration:gsub(' ?(%*+) ?', ' %1') + declaration = declaration:gsub(' ?(FUNC_ATTR_)', ' %1') + declaration = declaration:gsub(' $', '') + declaration = declaration:gsub('^ ', '') + declaration = declaration .. ';' + declaration = declaration .. (' // %s/%s:%u'):format( + curdir, curfile, declline) + declaration = declaration .. '\n' + if declaration:sub(1, 6) == 'static' then + static = static .. declaration + else + non_static = non_static .. declaration + end + declendpos = e + end + end +end + +non_static = non_static .. footer +static = static .. footer + +local F +F = io.open(static_fname, 'w') +F:write(static) +F:close() + +-- Before generating the non-static headers, check if the current file(if +-- exists) is different from the new one. If they are the same, we won't touch +-- the current version to avoid triggering an unnecessary rebuilds of modules +-- that depend on this one +F = io.open(non_static_fname, 'r') +if F ~= nil then + if F:read('*a') == non_static then + os.exit(0) + end + io.close(F) +end + +F = io.open(non_static_fname, 'w') +F:write(non_static) +F:close() diff --git a/src/nvim/generators/gen_eval.lua b/src/nvim/generators/gen_eval.lua new file mode 100644 index 0000000000..23435a1d0b --- /dev/null +++ b/src/nvim/generators/gen_eval.lua @@ -0,0 +1,67 @@ +mpack = require('mpack') + +local nvimsrcdir = arg[1] +local autodir = arg[2] +local metadata_file = arg[3] +local funcs_file = arg[4] + +if nvimsrcdir == '--help' then + print([[ +Usage: + lua geneval.lua src/nvim build/src/nvim/auto + +Will generate build/src/nvim/auto/funcs.generated.h with definition of functions +static const array. +]]) + os.exit(0) +end + +package.path = nvimsrcdir .. '/?.lua;' .. package.path + +local funcsfname = autodir .. '/funcs.generated.h' + +local gperfpipe = io.open(funcsfname .. '.gperf', 'wb') + +local funcs = require('eval').funcs +local metadata = mpack.unpack(io.open(arg[3], 'rb'):read("*all")) +for i,fun in ipairs(metadata) do + if not fun.remote_only then + funcs[fun.name] = { + args=#fun.parameters, + func='api_wrapper', + data='&handle_'..fun.name, + } + end +end + +local funcsdata = io.open(funcs_file, 'w') +funcsdata:write(mpack.pack(funcs)) +funcsdata:close() + +gperfpipe:write([[ +%language=ANSI-C +%global-table +%readonly-tables +%define initializer-suffix ,0,0,NULL,NULL +%define word-array-name functions +%define hash-function-name hash_internal_func_gperf +%define lookup-function-name find_internal_func_gperf +%omit-struct-type +%struct-type +VimLFuncDef; +%% +]]) + +for name, def in pairs(funcs) do + args = def.args or 0 + if type(args) == 'number' then + args = {args, args} + elseif #args == 1 then + args[2] = 'MAX_FUNC_ARGS' + end + func = def.func or ('f_' .. name) + data = def.data or "NULL" + gperfpipe:write(('%s, %s, %s, &%s, (FunPtr)%s\n') + :format(name, args[1], args[2], func, data)) +end +gperfpipe:close() diff --git a/src/nvim/generators/gen_events.lua b/src/nvim/generators/gen_events.lua new file mode 100644 index 0000000000..75e0b3da3a --- /dev/null +++ b/src/nvim/generators/gen_events.lua @@ -0,0 +1,65 @@ +if arg[1] == '--help' then + print('Usage: gen_events.lua src/nvim enum_file event_names_file') + os.exit(0) +end + +local nvimsrcdir = arg[1] +local fileio_enum_file = arg[2] +local names_file = arg[3] + +package.path = nvimsrcdir .. '/?.lua;' .. package.path + +local auevents = require('auevents') +local events = auevents.events +local aliases = auevents.aliases + +enum_tgt = io.open(fileio_enum_file, 'w') +names_tgt = io.open(names_file, 'w') + +enum_tgt:write('typedef enum auto_event {') +names_tgt:write([[ +static const struct event_name { + size_t len; + char *name; + event_T event; +} event_names[] = {]]) + +for i, event in ipairs(events) do + if i > 1 then + comma = ',\n' + else + comma = '\n' + end + enum_tgt:write(('%s EVENT_%s = %u'):format(comma, event:upper(), i - 1)) + names_tgt:write(('%s {%u, "%s", EVENT_%s}'):format(comma, #event, event, event:upper())) +end + +for alias, event in pairs(aliases) do + names_tgt:write((',\n {%u, "%s", EVENT_%s}'):format(#alias, alias, event:upper())) +end + +names_tgt:write(',\n {0, NULL, (event_T)0}') + +enum_tgt:write('\n} event_T;\n') +names_tgt:write('\n};\n') + +enum_tgt:write(('\n#define NUM_EVENTS %u\n'):format(#events)) +names_tgt:write('\nstatic AutoPat *first_autopat[NUM_EVENTS] = {\n ') +line_len = 1 +for i = 1,((#events) - 1) do + line_len = line_len + #(' NULL,') + if line_len > 80 then + names_tgt:write('\n ') + line_len = 1 + #(' NULL,') + end + names_tgt:write(' NULL,') +end +if line_len + #(' NULL') > 80 then + names_tgt:write('\n NULL') +else + names_tgt:write(' NULL') +end +names_tgt:write('\n};\n') + +enum_tgt:close() +names_tgt:close() diff --git a/src/nvim/generators/gen_ex_cmds.lua b/src/nvim/generators/gen_ex_cmds.lua new file mode 100644 index 0000000000..cb566d46ca --- /dev/null +++ b/src/nvim/generators/gen_ex_cmds.lua @@ -0,0 +1,88 @@ +local nvimsrcdir = arg[1] +local includedir = arg[2] +local autodir = arg[3] + +if nvimsrcdir == '--help' then + print ([[ +Usage: + lua genex_cmds.lua src/nvim build/include build/src/nvim/auto + +Will generate files build/include/ex_cmds_enum.generated.h with cmdidx_T +enum and build/src/nvim/auto/ex_cmds_defs.generated.h with main Ex commands +definitions. +]]) + os.exit(0) +end + +package.path = nvimsrcdir .. '/?.lua;' .. package.path + +local enumfname = includedir .. '/ex_cmds_enum.generated.h' +local defsfname = autodir .. '/ex_cmds_defs.generated.h' + +local enumfile = io.open(enumfname, 'w') +local defsfile = io.open(defsfname, 'w') + +local defs = require('ex_cmds') +local lastchar = nil + +local i +local cmd +local first = true +local prevfirstchar = nil + +local byte_a = string.byte('a') +local byte_z = string.byte('z') + +local cmdidxs = string.format([[ +static const cmdidx_T cmdidxs[%u] = { +]], byte_z - byte_a + 2) + +enumfile:write([[ +typedef enum CMD_index { +]]) +defsfile:write(string.format([[ +static CommandDefinition cmdnames[%u] = { +]], #defs)) +for i, cmd in ipairs(defs) do + local enumname = cmd.enum or ('CMD_' .. cmd.command) + firstchar = string.byte(cmd.command) + if firstchar ~= prevfirstchar then + if (not prevfirstchar + or (byte_a <= firstchar and firstchar <= byte_z) + or (byte_a <= prevfirstchar and prevfirstchar <= byte_z)) then + if not first then + cmdidxs = cmdidxs .. ',\n' + end + cmdidxs = cmdidxs .. ' ' .. enumname + end + prevfirstchar = firstchar + end + if first then + first = false + else + defsfile:write(',\n') + end + enumfile:write(' ' .. enumname .. ',\n') + defsfile:write(string.format([[ + [%s] = { + .cmd_name = (char_u *) "%s", + .cmd_func = (ex_func_T)&%s, + .cmd_argt = %uL, + .cmd_addr_type = %i + }]], enumname, cmd.command, cmd.func, cmd.flags, cmd.addr_type)) +end +defsfile:write([[ + +}; +]]) +enumfile:write([[ + CMD_SIZE, + CMD_USER = -1, + CMD_USER_BUF = -2 +} cmdidx_T; +]]) +cmdidxs = cmdidxs .. [[ + +}; +]] +defsfile:write(cmdidxs) diff --git a/src/nvim/generators/gen_options.lua b/src/nvim/generators/gen_options.lua new file mode 100644 index 0000000000..ca0134043c --- /dev/null +++ b/src/nvim/generators/gen_options.lua @@ -0,0 +1,190 @@ +if arg[1] == '--help' then + print('Usage: genoptions.lua src/nvim options_file') + os.exit(0) +end + +local nvimsrcdir = arg[1] +local options_file = arg[2] + +package.path = nvimsrcdir .. '/?.lua;' .. package.path + +local opt_fd = io.open(options_file, 'w') + +local w = function(s) + if s:match('^ %.') then + opt_fd:write(s .. ',\n') + else + opt_fd:write(s .. '\n') + end +end + +local options = require('options') + +cstr = options.cstr + +local type_flags={ + bool='P_BOOL', + number='P_NUM', + string='P_STRING', +} + +local redraw_flags={ + statuslines='P_RSTAT', + current_window='P_RWIN', + current_window_only='P_RWINONLY', + current_buffer='P_RBUF', + all_windows='P_RALL', + everything='P_RCLR', + curswant='P_CURSWANT', +} + +local list_flags={ + comma='P_COMMA', + onecomma='P_ONECOMMA', + flags='P_FLAGLIST', + flagscomma='P_COMMA|P_FLAGLIST', +} + +local get_flags = function(o) + local ret = {type_flags[o.type]} + local add_flag = function(f) + ret[1] = ret[1] .. '|' .. f + end + if o.list then + add_flag(list_flags[o.list]) + end + if o.redraw then + for _, r_flag in ipairs(o.redraw) do + add_flag(redraw_flags[r_flag]) + end + end + if o.expand then + add_flag('P_EXPAND') + if o.expand == 'nodefault' then + add_flag('P_NO_DEF_EXP') + end + end + for _, flag_desc in ipairs({ + {'alloced'}, + {'nodefault'}, + {'no_mkrc'}, + {'vi_def'}, + {'vim'}, + {'secure'}, + {'gettext'}, + {'noglob'}, + {'normal_fname_chars', 'P_NFNAME'}, + {'pri_mkrc'}, + {'deny_in_modelines', 'P_NO_ML'}, + {'deny_duplicates', 'P_NODUP'}, + }) do + local key_name = flag_desc[1] + local def_name = flag_desc[2] or ('P_' .. key_name:upper()) + if o[key_name] then + add_flag(def_name) + end + end + return ret[1] +end + +local get_cond +get_cond = function(c, base_string) + local cond_string = base_string or '#if ' + if type(c) == 'table' then + cond_string = cond_string .. get_cond(c[1], '') + for i, subc in ipairs(c) do + if i > 1 then + cond_string = cond_string .. ' && ' .. get_cond(subc, '') + end + end + elseif c:sub(1, 1) == '!' then + cond_string = cond_string .. '!defined(' .. c:sub(2) .. ')' + else + cond_string = cond_string .. 'defined(' .. c .. ')' + end + return cond_string +end + +value_dumpers = { + ['function']=function(v) return v() end, + string=cstr, + boolean=function(v) return v and 'true' or 'false' end, + number=function(v) return ('%iL'):format(v) end, + ['nil']=function(v) return '0L' end, +} + +local get_value = function(v) + return '(char_u *) ' .. value_dumpers[type(v)](v) +end + +local get_defaults = function(d) + return ('{' .. get_value(d.vi) .. ', ' .. get_value(d.vim) .. '}') +end + +local defines = {} + +local dump_option = function(i, o) + w(' [' .. ('%u'):format(i - 1) .. ']={') + w(' .fullname=' .. cstr(o.full_name)) + if o.abbreviation then + w(' .shortname=' .. cstr(o.abbreviation)) + end + w(' .flags=' .. get_flags(o)) + if o.enable_if then + w(get_cond(o.enable_if)) + end + if o.varname then + w(' .var=(char_u *)&' .. o.varname) + elseif #o.scope == 1 and o.scope[1] == 'window' then + w(' .var=VAR_WIN') + end + if o.enable_if then + w('#endif') + end + if #o.scope == 1 and o.scope[1] == 'global' then + w(' .indir=PV_NONE') + else + assert (#o.scope == 1 or #o.scope == 2) + assert (#o.scope == 1 or o.scope[1] == 'global') + local min_scope = o.scope[#o.scope] + local varname = o.pv_name or o.varname or ( + 'p_' .. (o.abbreviation or o.full_name)) + local pv_name = ( + 'OPT_' .. min_scope:sub(1, 3):upper() .. '(' .. ( + min_scope:sub(1, 1):upper() .. 'V_' .. varname:sub(3):upper() + ) .. ')' + ) + if #o.scope == 2 then + pv_name = 'OPT_BOTH(' .. pv_name .. ')' + end + defines['PV_' .. varname:sub(3):upper()] = pv_name + w(' .indir=' .. pv_name) + end + if o.defaults then + if o.defaults.condition then + w(get_cond(o.defaults.condition)) + end + w(' .def_val=' .. get_defaults(o.defaults.if_true)) + if o.defaults.condition then + if o.defaults.if_false then + w('#else') + w(' .def_val=' .. get_defaults(o.defaults.if_false)) + end + w('#endif') + end + end + w(' },') +end + +w('static vimoption_T options[] = {') +for i, o in ipairs(options.options) do + dump_option(i, o) +end +w(' [' .. ('%u'):format(#options.options) .. ']={.fullname=NULL}') +w('};') +w('') + +for k, v in pairs(defines) do + w('#define ' .. k .. ' ' .. v) +end +opt_fd:close() diff --git a/src/nvim/generators/gen_unicode_tables.lua b/src/nvim/generators/gen_unicode_tables.lua new file mode 100644 index 0000000000..66430ba26e --- /dev/null +++ b/src/nvim/generators/gen_unicode_tables.lua @@ -0,0 +1,327 @@ +-- Script creates the following tables in unicode_tables.generated.h: +-- +-- 1. doublewidth and ambiguous tables: sorted list of non-overlapping closed +-- intervals. Codepoints in these intervals have double (W or F) or ambiguous +-- (A) east asian width respectively. +-- 2. combining table: same as the above, but characters inside are combining +-- characters (i.e. have general categories equal to Mn, Mc or Me). +-- 3. foldCase, toLower and toUpper tables used to convert characters to +-- folded/lower/upper variants. In these tables first two values are +-- character ranges: like in previous tables they are sorted and must be +-- non-overlapping. Third value means step inside the range: e.g. if it is +-- 2 then interval applies only to first, third, fifth, … character in range. +-- Fourth value is number that should be added to the codepoint to yield +-- folded/lower/upper codepoint. +-- 4. emoji_width and emoji_all tables: sorted lists of non-overlapping closed +-- intervals of Emoji characters. emoji_width contains all the characters +-- which don't have ambiguous or double width, and emoji_all has all Emojis. +if arg[1] == '--help' then + print('Usage:') + print(' genunicodetables.lua unicode/ unicode_tables.generated.h') + os.exit(0) +end + +local basedir = arg[1] +local pathsep = package.config:sub(1, 1) +local get_path = function(fname) + return basedir .. pathsep .. fname +end + +local unicodedata_fname = get_path('UnicodeData.txt') +local casefolding_fname = get_path('CaseFolding.txt') +local eastasianwidth_fname = get_path('EastAsianWidth.txt') +local emoji_fname = get_path('emoji-data.txt') + +local utf_tables_fname = arg[2] + +local split_on_semicolons = function(s) + local ret = {} + local idx = 1 + while idx <= #s + 1 do + item = s:match('^[^;]*', idx) + idx = idx + #item + 1 + if idx <= #s + 1 then + assert(s:sub(idx - 1, idx - 1) == ';') + end + item = item:gsub('^%s*', '') + item = item:gsub('%s*$', '') + table.insert(ret, item) + end + return ret +end + +local fp_lines_to_lists = function(fp, n, has_comments) + local ret = {} + local line + local i = 0 + while true do + i = i + 1 + line = fp:read('*l') + if not line then + break + end + if (not has_comments + or (line:sub(1, 1) ~= '#' and not line:match('^%s*$'))) then + local l = split_on_semicolons(line) + if #l ~= n then + io.stderr:write(('Found %s items in line %u, expected %u\n'):format( + #l, i, n)) + io.stderr:write('Line: ' .. line .. '\n') + return nil + end + table.insert(ret, l) + end + end + return ret +end + +local parse_data_to_props = function(ud_fp) + return fp_lines_to_lists(ud_fp, 15, false) +end + +local parse_fold_props = function(cf_fp) + return fp_lines_to_lists(cf_fp, 4, true) +end + +local parse_width_props = function(eaw_fp) + return fp_lines_to_lists(eaw_fp, 2, true) +end + +local parse_emoji_props = function(emoji_fp) + return fp_lines_to_lists(emoji_fp, 2, true) +end + +local make_range = function(start, end_, step, add) + if step and add then + return (' {0x%x, 0x%x, %d, %d},\n'):format( + start, end_, step == 0 and -1 or step, add) + else + return (' {0x%04x, 0x%04x},\n'):format(start, end_) + end +end + +local build_convert_table = function(ut_fp, props, cond_func, nl_index, + table_name) + ut_fp:write('static const convertStruct ' .. table_name .. '[] = {\n') + local start = -1 + local end_ = -1 + local step = 0 + local add = -1 + for _, p in ipairs(props) do + if cond_func(p) then + local n = tonumber(p[1], 16) + local nl = tonumber(p[nl_index], 16) + if start >= 0 and add == (nl - n) and (step == 0 or n - end_ == step) then + -- Continue with the same range. + step = n - end_ + end_ = n + else + if start >= 0 then + -- Produce previous range. + ut_fp:write(make_range(start, end_, step, add)) + end + start = n + end_ = n + step = 0 + add = nl - n + end + end + end + if start >= 0 then + ut_fp:write(make_range(start, end_, step, add)) + end + ut_fp:write('};\n') +end + +local build_case_table = function(ut_fp, dataprops, table_name, index) + local cond_func = function(p) + return p[index] ~= '' + end + return build_convert_table(ut_fp, dataprops, cond_func, index, + 'to' .. table_name) +end + +local build_fold_table = function(ut_fp, foldprops) + local cond_func = function(p) + return (p[2] == 'C' or p[2] == 'S') + end + return build_convert_table(ut_fp, foldprops, cond_func, 3, 'foldCase') +end + +local build_combining_table = function(ut_fp, dataprops) + ut_fp:write('static const struct interval combining[] = {\n') + local start = -1 + local end_ = -1 + for _, p in ipairs(dataprops) do + if (({Mn=true, Mc=true, Me=true})[p[3]]) then + local n = tonumber(p[1], 16) + if start >= 0 and end_ + 1 == n then + -- Continue with the same range. + end_ = n + else + if start >= 0 then + -- Produce previous range. + ut_fp:write(make_range(start, end_)) + end + start = n + end_ = n + end + end + end + if start >= 0 then + ut_fp:write(make_range(start, end_)) + end + ut_fp:write('};\n') +end + +local build_width_table = function(ut_fp, dataprops, widthprops, widths, + table_name) + ut_fp:write('static const struct interval ' .. table_name .. '[] = {\n') + local start = -1 + local end_ = -1 + local dataidx = 1 + local ret = {} + for _, p in ipairs(widthprops) do + if widths[p[2]:sub(1, 1)] then + local rng_start, rng_end = p[1]:find('%.%.') + local n, n_last + if rng_start then + -- It is a range. We don’t check for composing char then. + n = tonumber(p[1]:sub(1, rng_start - 1), 16) + n_last = tonumber(p[1]:sub(rng_end + 1), 16) + else + n = tonumber(p[1], 16) + n_last = n + end + local dn + while true do + dn = tonumber(dataprops[dataidx][1], 16) + if dn >= n then + break + end + dataidx = dataidx + 1 + end + if dn ~= n and n_last == n then + io.stderr:write('Cannot find character ' .. n .. ' in data table.\n') + end + -- Only use the char when it’s not a composing char. + -- But use all chars from a range. + local dp = dataprops[dataidx] + if (n_last > n) or (not (({Mn=true, Mc=true, Me=true})[dp[3]])) then + if start >= 0 and end_ + 1 == n then + -- Continue with the same range. + else + if start >= 0 then + ut_fp:write(make_range(start, end_)) + table.insert(ret, {start, end_}) + end + start = n + end + end_ = n_last + end + end + end + if start >= 0 then + ut_fp:write(make_range(start, end_)) + table.insert(ret, {start, end_}) + end + ut_fp:write('};\n') + return ret +end + +local build_emoji_table = function(ut_fp, emojiprops, doublewidth, ambiwidth) + local emojiwidth = {} + local emoji = {} + for _, p in ipairs(emojiprops) do + if p[2]:match('Emoji%s+#') then + local rng_start, rng_end = p[1]:find('%.%.') + if rng_start then + n = tonumber(p[1]:sub(1, rng_start - 1), 16) + n_last = tonumber(p[1]:sub(rng_end + 1), 16) + else + n = tonumber(p[1], 16) + n_last = n + end + if #emoji > 0 and n - 1 == emoji[#emoji][2] then + emoji[#emoji][2] = n_last + else + table.insert(emoji, { n, n_last }) + end + + -- Characters below 1F000 may be considered single width traditionally, + -- making them double width causes problems. + if n >= 0x1f000 then + -- exclude characters that are in the ambiguous/doublewidth table + for _, ambi in ipairs(ambiwidth) do + if n >= ambi[1] and n <= ambi[2] then + n = ambi[2] + 1 + end + if n_last >= ambi[1] and n_last <= ambi[2] then + n_last = ambi[1] - 1 + end + end + for _, double in ipairs(doublewidth) do + if n >= double[1] and n <= double[2] then + n = double[2] + 1 + end + if n_last >= double[1] and n_last <= double[2] then + n_last = double[1] - 1 + end + end + + if n <= n_last then + if #emojiwidth > 0 and n - 1 == emojiwidth[#emojiwidth][2] then + emojiwidth[#emojiwidth][2] = n_last + else + table.insert(emojiwidth, { n, n_last }) + end + end + end + end + end + + ut_fp:write('static const struct interval emoji_all[] = {\n') + for _, p in ipairs(emoji) do + ut_fp:write(make_range(p[1], p[2])) + end + ut_fp:write('};\n') + + ut_fp:write('static const struct interval emoji_width[] = {\n') + for _, p in ipairs(emojiwidth) do + ut_fp:write(make_range(p[1], p[2])) + end + ut_fp:write('};\n') +end + +local ud_fp = io.open(unicodedata_fname, 'r') +local dataprops = parse_data_to_props(ud_fp) +ud_fp:close() + +local ut_fp = io.open(utf_tables_fname, 'w') + +build_case_table(ut_fp, dataprops, 'Lower', 14) +build_case_table(ut_fp, dataprops, 'Upper', 13) +build_combining_table(ut_fp, dataprops) + +local cf_fp = io.open(casefolding_fname, 'r') +local foldprops = parse_fold_props(cf_fp) +cf_fp:close() + +build_fold_table(ut_fp, foldprops) + +local eaw_fp = io.open(eastasianwidth_fname, 'r') +local widthprops = parse_width_props(eaw_fp) +eaw_fp:close() + +local doublewidth = build_width_table(ut_fp, dataprops, widthprops, + {W=true, F=true}, 'doublewidth') +local ambiwidth = build_width_table(ut_fp, dataprops, widthprops, + {A=true}, 'ambiguous') + +local emoji_fp = io.open(emoji_fname, 'r') +local emojiprops = parse_emoji_props(emoji_fp) +emoji_fp:close() + +build_emoji_table(ut_fp, emojiprops, doublewidth, ambiwidth) + +ut_fp:close() diff --git a/src/nvim/getchar.c b/src/nvim/getchar.c index 9d32df5a68..4e42042959 100644 --- a/src/nvim/getchar.c +++ b/src/nvim/getchar.c @@ -18,6 +18,7 @@ #include "nvim/vim.h" #include "nvim/ascii.h" #include "nvim/getchar.h" +#include "nvim/buffer_defs.h" #include "nvim/charset.h" #include "nvim/cursor.h" #include "nvim/edit.h" @@ -47,6 +48,7 @@ #include "nvim/event/loop.h" #include "nvim/os/input.h" #include "nvim/os/os.h" +#include "nvim/api/private/handle.h" /* * These buffers are used for storing: @@ -102,11 +104,10 @@ static int block_redo = FALSE; (NORMAL + VISUAL + SELECTMODE + \ OP_PENDING)) ? (c1) : ((c1) ^ 0x80)) -/* - * Each mapping is put in one of the 256 hash lists, to speed up finding it. - */ -static mapblock_T *(maphash[256]); -static int maphash_valid = FALSE; +// Each mapping is put in one of the MAX_MAPHASH hash lists, +// to speed up finding it. +static mapblock_T *(maphash[MAX_MAPHASH]); +static bool maphash_valid = false; /* * List used for abbreviations. @@ -1592,7 +1593,7 @@ vungetc ( /* unget one character (can only be done once!) */ /// This may do a blocking wait if "advance" is TRUE. /// /// if "advance" is TRUE (vgetc()): -/// really get the character. +/// Really get the character. /// KeyTyped is set to TRUE in the case the user typed the key. /// KeyStuffed is TRUE if the character comes from the stuff buffer. /// if "advance" is FALSE (vpeekc()): @@ -1907,7 +1908,7 @@ static int vgetorpeek(int advance) } if ((mp == NULL || max_mlen >= mp_match_len) - && keylen != KEYLEN_PART_MAP && keylen != KEYLEN_PART_KEY) { + && keylen != KEYLEN_PART_MAP) { // No matching mapping found or found a non-matching mapping that // matches at least what the matching mapping matched keylen = 0; @@ -3168,6 +3169,10 @@ showmap ( { size_t len = 1; + if (message_filtered(mp->m_keys) && message_filtered(mp->m_str)) { + return; + } + if (msg_didout || msg_silent != 0) { msg_putchar('\n'); if (got_int) /* 'q' typed at MORE prompt */ @@ -3592,8 +3597,8 @@ int check_abbr(int c, char_u *ptr, int col, int mincol) char_u *q = mp->m_keys; int match; - if (vim_strbyte(mp->m_keys, K_SPECIAL) != NULL) { - /* might have CSI escaped mp->m_keys */ + if (strchr((const char *)mp->m_keys, K_SPECIAL) != NULL) { + // Might have CSI escaped mp->m_keys. q = vim_strsave(mp->m_keys); vim_unescape_csi(q); qlen = (int)STRLEN(q); @@ -3790,8 +3795,7 @@ makemap ( char *cmd; int abbr; int hash; - int did_cpo = FALSE; - int i; + bool did_cpo = false; validate_maphash(); @@ -3919,13 +3923,15 @@ makemap ( /* When outputting <> form, need to make sure that 'cpo' * is set to the Vim default. */ if (!did_cpo) { - if (*mp->m_str == NUL) /* will use <Nop> */ - did_cpo = TRUE; - else - for (i = 0; i < 2; ++i) - for (p = (i ? mp->m_str : mp->m_keys); *p; ++p) - if (*p == K_SPECIAL || *p == NL) - did_cpo = TRUE; + if (*mp->m_str == NUL) { // Will use <Nop>. + did_cpo = true; + } else { + const char specials[] = { (char)(uint8_t)K_SPECIAL, NL, NUL }; + if (strpbrk((const char *)mp->m_str, specials) != NULL + || strpbrk((const char *)mp->m_keys, specials) != NULL) { + did_cpo = true; + } + } if (did_cpo) { if (fprintf(fd, "let s:cpo_save=&cpo") < 0 || put_eol(fd) < 0 @@ -4232,3 +4238,17 @@ static bool typebuf_match_len(const uint8_t *str, int *mlen) *mlen = i; return str[i] == NUL; // matched the whole string } + +/// Retrieve the mapblock at the index either globally or for a certain buffer +/// +/// @param index The index in the maphash[] +/// @param buf The buffer to get the maphash from. NULL for global +mapblock_T *get_maphash(int index, buf_T *buf) + FUNC_ATTR_PURE +{ + if (index > MAX_MAPHASH) { + return NULL; + } + + return (buf == NULL) ? maphash[index] : buf->b_maphash[index]; +} diff --git a/src/nvim/globals.h b/src/nvim/globals.h index df9f418951..6d1bd1de12 100644 --- a/src/nvim/globals.h +++ b/src/nvim/globals.h @@ -97,6 +97,34 @@ typedef enum { EXTERN long Rows INIT(= DFLT_ROWS); // nr of rows in the screen EXTERN long Columns INIT(= DFLT_COLS); // nr of columns in the screen +// We use 64-bit file functions here, if available. E.g. ftello() returns +// off_t instead of long, which helps if long is 32 bit and off_t is 64 bit. +// We assume that when fseeko() is available then ftello() is too. +// Note that Windows has different function names. +#if (defined(_MSC_VER) && (_MSC_VER >= 1300)) || defined(__MINGW32__) +typedef __int64 off_T; +# ifdef __MINGW32__ +# define vim_lseek lseek64 +# define vim_fseek fseeko64 +# define vim_ftell ftello64 +# else +# define vim_lseek _lseeki64 +# define vim_fseek _fseeki64 +# define vim_ftell _ftelli64 +# endif +#else +typedef off_t off_T; +# ifdef HAVE_FSEEKO +# define vim_lseek lseek +# define vim_ftell ftello +# define vim_fseek fseeko +# else +# define vim_lseek lseek +# define vim_ftell ftell +# define vim_fseek(a, b, c) fseek(a, (long)b, c) +# endif +#endif + /* * The characters and attributes cached for the screen. */ @@ -411,80 +439,6 @@ EXTERN int did_check_timestamps INIT(= FALSE); /* did check timestamps recently */ EXTERN int no_check_timestamps INIT(= 0); /* Don't check timestamps */ -/* - * Values for index in highlight_attr[]. - * When making changes, also update HL_FLAGS below! And update the default - * value of 'highlight' in option.c. - */ -typedef enum { - HLF_8 = 0 /* Meta & special keys listed with ":map", text that is - displayed different from what it is */ - , HLF_EOB // after the last line in the buffer - , HLF_TERM // terminal cursor focused - , HLF_TERMNC // terminal cursor unfocused - , HLF_AT // @ characters at end of screen, characters that - // don't really exist in the text - , HLF_D // directories in CTRL-D listing - , HLF_E // error messages - , HLF_I // incremental search - , HLF_L // last search string - , HLF_M // "--More--" message - , HLF_CM // Mode (e.g., "-- INSERT --") - , HLF_N // line number for ":number" and ":#" commands - , HLF_CLN // current line number - , HLF_R // return to continue message and yes/no questions - , HLF_S // status lines - , HLF_SNC // status lines of not-current windows - , HLF_C // column to separate vertically split windows - , HLF_T // Titles for output from ":set all", ":autocmd" etc. - , HLF_V // Visual mode - , HLF_VNC // Visual mode, autoselecting and not clipboard owner - , HLF_W // warning messages - , HLF_WM // Wildmenu highlight - , HLF_FL // Folded line - , HLF_FC // Fold column - , HLF_ADD // Added diff line - , HLF_CHD // Changed diff line - , HLF_DED // Deleted diff line - , HLF_TXD // Text Changed in diff line - , HLF_CONCEAL // Concealed text - , HLF_SC // Sign column - , HLF_SPB // SpellBad - , HLF_SPC // SpellCap - , HLF_SPR // SpellRare - , HLF_SPL // SpellLocal - , HLF_PNI // popup menu normal item - , HLF_PSI // popup menu selected item - , HLF_PSB // popup menu scrollbar - , HLF_PST // popup menu scrollbar thumb - , HLF_TP // tabpage line - , HLF_TPS // tabpage line selected - , HLF_TPF // tabpage line filler - , HLF_CUC // 'cursurcolumn' - , HLF_CUL // 'cursurline' - , HLF_MC // 'colorcolumn' - , HLF_QFL // selected quickfix line - , HLF_0 // Whitespace - , HLF_COUNT // MUST be the last one -} hlf_T; - -/* The HL_FLAGS must be in the same order as the HLF_ enums! - * When changing this also adjust the default for 'highlight'. */ -#define HL_FLAGS { '8', '~', 'z', 'Z', '@', 'd', 'e', 'i', 'l', 'm', 'M', 'n', \ - 'N', 'r', 's', 'S', 'c', 't', 'v', 'V', 'w', 'W', 'f', 'F', \ - 'A', 'C', 'D', 'T', '-', '>', 'B', 'P', 'R', 'L', '+', '=', \ - 'x', 'X', '*', '#', '_', '!', '.', 'o', 'q', '0' } - -EXTERN int highlight_attr[HLF_COUNT]; /* Highl. attr for each context. */ -EXTERN int highlight_user[9]; /* User[1-9] attributes */ -EXTERN int highlight_stlnc[9]; /* On top of user */ -EXTERN int cterm_normal_fg_color INIT(= 0); -EXTERN int cterm_normal_fg_bold INIT(= 0); -EXTERN int cterm_normal_bg_color INIT(= 0); -EXTERN RgbValue normal_fg INIT(= -1); -EXTERN RgbValue normal_bg INIT(= -1); -EXTERN RgbValue normal_sp INIT(= -1); - EXTERN int autocmd_busy INIT(= FALSE); /* Is apply_autocmds() busy? */ EXTERN int autocmd_no_enter INIT(= FALSE); /* *Enter autocmds disabled */ EXTERN int autocmd_no_leave INIT(= FALSE); /* *Leave autocmds disabled */ @@ -496,7 +450,7 @@ EXTERN int keep_filetype INIT(= FALSE); /* value for did_filetype when // When deleting the current buffer, another one must be loaded. // If we know which one is preferred, au_new_curbuf is set to it. -EXTERN bufref_T au_new_curbuf INIT(= { NULL, 0 }); +EXTERN bufref_T au_new_curbuf INIT(= { NULL, 0, 0 }); // When deleting a buffer/window and autocmd_busy is TRUE, do not free the // buffer/window. but link it in the list starting with @@ -943,7 +897,7 @@ EXTERN int did_cursorhold INIT(= false); // set when CursorHold t'gerd // for CursorMoved event EXTERN pos_T last_cursormoved INIT(= INIT_POS_T(0, 0, 0)); -EXTERN int last_changedtick INIT(= 0); // for TextChanged event +EXTERN varnumber_T last_changedtick INIT(= 0); // for TextChanged event EXTERN buf_T *last_changedtick_buf INIT(= NULL); EXTERN int postponed_split INIT(= 0); /* for CTRL-W CTRL-] command */ @@ -1177,6 +1131,7 @@ EXTERN char_u e_longname[] INIT(= N_("E75: Name too long")); EXTERN char_u e_toomsbra[] INIT(= N_("E76: Too many [")); EXTERN char_u e_toomany[] INIT(= N_("E77: Too many file names")); EXTERN char_u e_trailing[] INIT(= N_("E488: Trailing characters")); +EXTERN char_u e_trailing2[] INIT(= N_("E488: Trailing characters: %s")); EXTERN char_u e_umark[] INIT(= N_("E78: Unknown mark")); EXTERN char_u e_wildexpand[] INIT(= N_("E79: Cannot expand wildcards")); EXTERN char_u e_winheight[] INIT(= N_( diff --git a/src/nvim/highlight_defs.h b/src/nvim/highlight_defs.h new file mode 100644 index 0000000000..927fc94bbe --- /dev/null +++ b/src/nvim/highlight_defs.h @@ -0,0 +1,126 @@ +#ifndef NVIM_HIGHLIGHT_DEFS_H +#define NVIM_HIGHLIGHT_DEFS_H + +#include <inttypes.h> + +#include "nvim/macros.h" + +typedef int32_t RgbValue; + +/// Values for index in highlight_attr[]. +/// When making changes, also update hlf_names below! +typedef enum { + HLF_8 = 0 // Meta & special keys listed with ":map", text that is + // displayed different from what it is + , HLF_EOB // after the last line in the buffer + , HLF_TERM // terminal cursor focused + , HLF_TERMNC // terminal cursor unfocused + , HLF_AT // @ characters at end of screen, characters that + // don't really exist in the text + , HLF_D // directories in CTRL-D listing + , HLF_E // error messages + , HLF_I // incremental search + , HLF_L // last search string + , HLF_M // "--More--" message + , HLF_CM // Mode (e.g., "-- INSERT --") + , HLF_N // line number for ":number" and ":#" commands + , HLF_CLN // current line number + , HLF_R // return to continue message and yes/no questions + , HLF_S // status lines + , HLF_SNC // status lines of not-current windows + , HLF_C // column to separate vertically split windows + , HLF_T // Titles for output from ":set all", ":autocmd" etc. + , HLF_V // Visual mode + , HLF_VNC // Visual mode, autoselecting and not clipboard owner + , HLF_W // warning messages + , HLF_WM // Wildmenu highlight + , HLF_FL // Folded line + , HLF_FC // Fold column + , HLF_ADD // Added diff line + , HLF_CHD // Changed diff line + , HLF_DED // Deleted diff line + , HLF_TXD // Text Changed in diff line + , HLF_SC // Sign column + , HLF_CONCEAL // Concealed text + , HLF_SPB // SpellBad + , HLF_SPC // SpellCap + , HLF_SPR // SpellRare + , HLF_SPL // SpellLocal + , HLF_PNI // popup menu normal item + , HLF_PSI // popup menu selected item + , HLF_PSB // popup menu scrollbar + , HLF_PST // popup menu scrollbar thumb + , HLF_TP // tabpage line + , HLF_TPS // tabpage line selected + , HLF_TPF // tabpage line filler + , HLF_CUC // 'cursurcolumn' + , HLF_CUL // 'cursurline' + , HLF_MC // 'colorcolumn' + , HLF_QFL // selected quickfix line + , HLF_0 // Whitespace + , HLF_INACTIVE // NormalNC: Normal text in non-current windows + , HLF_COUNT // MUST be the last one +} hlf_T; + +EXTERN const char *hlf_names[] INIT(= { + [HLF_8] = "SpecialKey", + [HLF_EOB] = "EndOfBuffer", + [HLF_TERM] = "TermCursor", + [HLF_TERMNC] = "TermCursorNC", + [HLF_AT] = "NonText", + [HLF_D] = "Directory", + [HLF_E] = "ErrorMsg", + [HLF_I] = "IncSearch", + [HLF_L] = "Search", + [HLF_M] = "MoreMsg", + [HLF_CM] = "ModeMsg", + [HLF_N] = "LineNr", + [HLF_CLN] = "CursorLineNr", + [HLF_R] = "Question", + [HLF_S] = "StatusLine", + [HLF_SNC] = "StatusLineNC", + [HLF_C] = "VertSplit", + [HLF_T] = "Title", + [HLF_V] = "Visual", + [HLF_VNC] = "VisualNC", + [HLF_W] = "WarningMsg", + [HLF_WM] = "WildMenu", + [HLF_FL] = "Folded", + [HLF_FC] = "FoldColumn", + [HLF_ADD] = "DiffAdd", + [HLF_CHD] = "DiffChange", + [HLF_DED] = "DiffDelete", + [HLF_TXD] = "DiffText", + [HLF_SC] = "SignColumn", + [HLF_CONCEAL] = "Conceal", + [HLF_SPB] = "SpellBad", + [HLF_SPC] = "SpellCap", + [HLF_SPR] = "SpellRare", + [HLF_SPL] = "SpellLocal", + [HLF_PNI] = "Pmenu", + [HLF_PSI] = "PmenuSel", + [HLF_PSB] = "PmenuSbar", + [HLF_PST] = "PmenuThumb", + [HLF_TP] = "TabLine", + [HLF_TPS] = "TabLineSel", + [HLF_TPF] = "TabLineFill", + [HLF_CUC] = "CursorColumn", + [HLF_CUL] = "CursorLine", + [HLF_MC] = "ColorColumn", + [HLF_QFL] = "QuickFixLine", + [HLF_0] = "Whitespace", + [HLF_INACTIVE] = "NormalNC" +}); + + +EXTERN int highlight_attr[HLF_COUNT]; // Highl. attr for each context. +EXTERN int highlight_user[9]; // User[1-9] attributes +EXTERN int highlight_stlnc[9]; // On top of user +EXTERN int cterm_normal_fg_color INIT(= 0); +EXTERN int cterm_normal_fg_bold INIT(= 0); +EXTERN int cterm_normal_bg_color INIT(= 0); +EXTERN RgbValue normal_fg INIT(= -1); +EXTERN RgbValue normal_bg INIT(= -1); +EXTERN RgbValue normal_sp INIT(= -1); + +#endif // NVIM_HIGHLIGHT_DEFS_H diff --git a/src/nvim/if_cscope.c b/src/nvim/if_cscope.c index e1c7df9175..f7706f5a0d 100644 --- a/src/nvim/if_cscope.c +++ b/src/nvim/if_cscope.c @@ -1972,7 +1972,7 @@ static void cs_release_csp(size_t i, int freefnpp) static int cs_reset(exarg_T *eap) { char **dblist = NULL, **pplist = NULL, **fllist = NULL; - char buf[20]; /* for snprintf " (#%zu)" */ + char buf[25]; // for snprintf " (#%zu)" if (csinfo_size == 0) return CSCOPE_SUCCESS; diff --git a/src/nvim/if_cscope_defs.h b/src/nvim/if_cscope_defs.h index f9d06eaea3..fa18866840 100644 --- a/src/nvim/if_cscope_defs.h +++ b/src/nvim/if_cscope_defs.h @@ -18,6 +18,7 @@ #include "nvim/os/os_defs.h" #include "nvim/os/fs_defs.h" +#include "nvim/ex_cmds_defs.h" #define CSCOPE_SUCCESS 0 #define CSCOPE_FAILURE -1 diff --git a/src/nvim/indent.c b/src/nvim/indent.c index 5471b41b2c..efca739c2d 100644 --- a/src/nvim/indent.c +++ b/src/nvim/indent.c @@ -471,7 +471,7 @@ int get_breakindent_win(win_T *wp, char_u *line) { || prev_tick != wp->w_buffer->b_changedtick) { prev_line = line; prev_ts = wp->w_buffer->b_p_ts; - prev_tick = wp->w_buffer->b_changedtick; + prev_tick = (int)wp->w_buffer->b_changedtick; prev_indent = get_indent_str(line, (int)wp->w_buffer->b_p_ts, wp->w_p_list); } @@ -538,7 +538,7 @@ int get_expr_indent(void) sandbox++; } textlock++; - indent = eval_to_number(curbuf->b_p_inde); + indent = (int)eval_to_number(curbuf->b_p_inde); if (use_sandbox) { sandbox--; diff --git a/src/nvim/indent_c.c b/src/nvim/indent_c.c index 4806f46705..fd194a4080 100644 --- a/src/nvim/indent_c.c +++ b/src/nvim/indent_c.c @@ -822,21 +822,22 @@ cin_isterminated ( return found_start; } -/* - * Recognize the basic picture of a function declaration -- it needs to - * have an open paren somewhere and a close paren at the end of the line and - * no semicolons anywhere. - * When a line ends in a comma we continue looking in the next line. - * "sp" points to a string with the line. When looking at other lines it must - * be restored to the line. When it's NULL fetch lines here. - * "lnum" is where we start looking. - * "min_lnum" is the line before which we will not be looking. - */ +/// Recognizes the basic picture of a function declaration -- it needs to +/// have an open paren somewhere and a close paren at the end of the line and +/// no semicolons anywhere. +/// When a line ends in a comma we continue looking in the next line. +/// +/// @param[in] sp Points to a string with the line. When looking at other +/// lines it must be restored to the line. When it's NULL fetch +/// lines here. +/// @param[in] first_lnum Where to start looking. +/// @param[in] min_lnum The line before which we will not be looking. static int cin_isfuncdecl(char_u **sp, linenr_T first_lnum, linenr_T min_lnum) { char_u *s; linenr_T lnum = first_lnum; - int retval = FALSE; + linenr_T save_lnum = curwin->w_cursor.lnum; + int retval = false; pos_T *trypos; int just_started = TRUE; @@ -845,18 +846,22 @@ static int cin_isfuncdecl(char_u **sp, linenr_T first_lnum, linenr_T min_lnum) else s = *sp; + curwin->w_cursor.lnum = lnum; if (find_last_paren(s, '(', ')') && (trypos = find_match_paren(curbuf->b_ind_maxparen)) != NULL) { lnum = trypos->lnum; - if (lnum < min_lnum) - return FALSE; - + if (lnum < min_lnum) { + curwin->w_cursor.lnum = save_lnum; + return false; + } s = ml_get(lnum); } - /* Ignore line starting with #. */ - if (cin_ispreproc(s)) - return FALSE; + curwin->w_cursor.lnum = save_lnum; + // Ignore line starting with #. + if (cin_ispreproc(s)) { + return false; + } while (*s && *s != '(' && *s != ';' && *s != '\'' && *s != '"') { // ignore comments diff --git a/src/nvim/keymap.c b/src/nvim/keymap.c index 9c5fe78c7c..ee67b4c19d 100644 --- a/src/nvim/keymap.c +++ b/src/nvim/keymap.c @@ -557,7 +557,7 @@ int find_special_key(const char_u **srcp, const size_t src_len, int *const modp, int modifiers; int bit; int key; - unsigned long n; + uvarnumber_T n; int l; if (src_len == 0) { diff --git a/src/nvim/lib/kbtree.h b/src/nvim/lib/kbtree.h new file mode 100644 index 0000000000..a3943054e6 --- /dev/null +++ b/src/nvim/lib/kbtree.h @@ -0,0 +1,451 @@ +/*- + * Copyright 1997-1999, 2001, John-Mark Gurney. + * 2008-2009, Attractive Chaos <attractor@live.co.uk> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef NVIM_LIB_KBTREE_H +#define NVIM_LIB_KBTREE_H + +#include <stdlib.h> +#include <string.h> +#include <stdint.h> + +#include "nvim/memory.h" + +#define KB_MAX_DEPTH 64 + +#define __KB_KEY(type, x) (x->key) +#define __KB_PTR(btr, x) (x->ptr) + +#define __KB_TREE_T(name,key_t,T) \ + typedef struct kbnode_##name##_s kbnode_##name##_t; \ + struct kbnode_##name##_s { \ + int32_t n; \ + bool is_internal; \ + key_t key[2*T-1]; \ + kbnode_##name##_t *ptr[]; \ + } ; \ + \ + typedef struct { \ + kbnode_##name##_t *root; \ + int n_keys, n_nodes; \ + } kbtree_##name##_t; \ + \ + typedef struct { \ + kbnode_##name##_t *x; \ + int i; \ + } kbpos_##name##_t; \ + typedef struct { \ + kbpos_##name##_t stack[KB_MAX_DEPTH], *p; \ + } kbitr_##name##_t; \ + + +#define __kb_destroy(kbnode_t,b) do { \ + int i; \ + unsigned int max = 8; \ + kbnode_t *x, **top, **stack = 0; \ + if (b->root) { \ + top = stack = (kbnode_t**)xcalloc(max, sizeof(kbnode_t*)); \ + *top++ = (b)->root; \ + while (top != stack) { \ + x = *--top; \ + if (x->is_internal == 0) { xfree(x); continue; } \ + for (i = 0; i <= x->n; ++i) \ + if (__KB_PTR(b, x)[i]) { \ + if (top - stack == (int)max) { \ + max <<= 1; \ + stack = (kbnode_t**)xrealloc(stack, max * sizeof(kbnode_t*)); \ + top = stack + (max>>1); \ + } \ + *top++ = __KB_PTR(b, x)[i]; \ + } \ + xfree(x); \ + } \ + } \ + xfree(stack); \ + } while (0) + +#define __KB_GET_AUX1(name, key_t, kbnode_t, __cmp) \ + static inline int __kb_getp_aux_##name(const kbnode_t * __restrict x, key_t * __restrict k, int *r) \ + { \ + int tr, *rr, begin = 0, end = x->n; \ + if (x->n == 0) return -1; \ + rr = r? r : &tr; \ + while (begin < end) { \ + int mid = (begin + end) >> 1; \ + if (__cmp(__KB_KEY(key_t, x)[mid], *k) < 0) begin = mid + 1; \ + else end = mid; \ + } \ + if (begin == x->n) { *rr = 1; return x->n - 1; } \ + if ((*rr = __cmp(*k, __KB_KEY(key_t, x)[begin])) < 0) --begin; \ + return begin; \ + } + +#define __KB_GET(name, key_t, kbnode_t) \ + static key_t *kb_getp_##name(kbtree_##name##_t *b, key_t * __restrict k) \ + { \ + if (!b->root) { \ + return 0; \ + } \ + int i, r = 0; \ + kbnode_t *x = b->root; \ + while (x) { \ + i = __kb_getp_aux_##name(x, k, &r); \ + if (i >= 0 && r == 0) return &__KB_KEY(key_t, x)[i]; \ + if (x->is_internal == 0) return 0; \ + x = __KB_PTR(b, x)[i + 1]; \ + } \ + return 0; \ + } \ + static inline key_t *kb_get_##name(kbtree_##name##_t *b, key_t k) \ + { \ + return kb_getp_##name(b, &k); \ + } + +#define __KB_INTERVAL(name, key_t, kbnode_t) \ + static inline void kb_intervalp_##name(kbtree_##name##_t *b, key_t * __restrict k, key_t **lower, key_t **upper) \ + { \ + if (!b->root) { \ + return; \ + } \ + int i, r = 0; \ + kbnode_t *x = b->root; \ + *lower = *upper = 0; \ + while (x) { \ + i = __kb_getp_aux_##name(x, k, &r); \ + if (i >= 0 && r == 0) { \ + *lower = *upper = &__KB_KEY(key_t, x)[i]; \ + return; \ + } \ + if (i >= 0) *lower = &__KB_KEY(key_t, x)[i]; \ + if (i < x->n - 1) *upper = &__KB_KEY(key_t, x)[i + 1]; \ + if (x->is_internal == 0) return; \ + x = __KB_PTR(b, x)[i + 1]; \ + } \ + } \ + static inline void kb_interval_##name(kbtree_##name##_t *b, key_t k, key_t **lower, key_t **upper) \ + { \ + kb_intervalp_##name(b, &k, lower, upper); \ + } + +#define __KB_PUT(name, key_t, kbnode_t, __cmp, T, ILEN) \ + /* x must be an internal node */ \ + static inline void __kb_split_##name(kbtree_##name##_t *b, kbnode_t *x, int i, kbnode_t *y) \ + { \ + kbnode_t *z; \ + z = (kbnode_t*)xcalloc(1, y->is_internal? ILEN : sizeof(kbnode_##name##_t)); \ + ++b->n_nodes; \ + z->is_internal = y->is_internal; \ + z->n = T - 1; \ + memcpy(__KB_KEY(key_t, z), &__KB_KEY(key_t, y)[T], sizeof(key_t) * (T - 1)); \ + if (y->is_internal) memcpy(__KB_PTR(b, z), &__KB_PTR(b, y)[T], sizeof(void*) * T); \ + y->n = T - 1; \ + memmove(&__KB_PTR(b, x)[i + 2], &__KB_PTR(b, x)[i + 1], sizeof(void*) * (unsigned int)(x->n - i)); \ + __KB_PTR(b, x)[i + 1] = z; \ + memmove(&__KB_KEY(key_t, x)[i + 1], &__KB_KEY(key_t, x)[i], sizeof(key_t) * (unsigned int)(x->n - i)); \ + __KB_KEY(key_t, x)[i] = __KB_KEY(key_t, y)[T - 1]; \ + ++x->n; \ + } \ + static inline key_t *__kb_putp_aux_##name(kbtree_##name##_t *b, kbnode_t *x, key_t * __restrict k) \ + { \ + int i = x->n - 1; \ + key_t *ret; \ + if (x->is_internal == 0) { \ + i = __kb_getp_aux_##name(x, k, 0); \ + if (i != x->n - 1) \ + memmove(&__KB_KEY(key_t, x)[i + 2], &__KB_KEY(key_t, x)[i + 1], (unsigned int)(x->n - i - 1) * sizeof(key_t)); \ + ret = &__KB_KEY(key_t, x)[i + 1]; \ + *ret = *k; \ + ++x->n; \ + } else { \ + i = __kb_getp_aux_##name(x, k, 0) + 1; \ + if (__KB_PTR(b, x)[i]->n == 2 * T - 1) { \ + __kb_split_##name(b, x, i, __KB_PTR(b, x)[i]); \ + if (__cmp(*k, __KB_KEY(key_t, x)[i]) > 0) ++i; \ + } \ + ret = __kb_putp_aux_##name(b, __KB_PTR(b, x)[i], k); \ + } \ + return ret; \ + } \ + static inline key_t *kb_putp_##name(kbtree_##name##_t *b, key_t * __restrict k) \ + { \ + if (!b->root) { \ + b->root = (kbnode_t*)xcalloc(1, ILEN); \ + ++b->n_nodes; \ + } \ + kbnode_t *r, *s; \ + ++b->n_keys; \ + r = b->root; \ + if (r->n == 2 * T - 1) { \ + ++b->n_nodes; \ + s = (kbnode_t*)xcalloc(1, ILEN); \ + b->root = s; s->is_internal = 1; s->n = 0; \ + __KB_PTR(b, s)[0] = r; \ + __kb_split_##name(b, s, 0, r); \ + r = s; \ + } \ + return __kb_putp_aux_##name(b, r, k); \ + } \ + static inline void kb_put_##name(kbtree_##name##_t *b, key_t k) \ + { \ + kb_putp_##name(b, &k); \ + } + + +#define __KB_DEL(name, key_t, kbnode_t, T) \ + static inline key_t __kb_delp_aux_##name(kbtree_##name##_t *b, kbnode_t *x, key_t * __restrict k, int s) \ + { \ + int yn, zn, i, r = 0; \ + kbnode_t *xp, *y, *z; \ + key_t kp; \ + if (x == 0) return *k; \ + if (s) { /* s can only be 0, 1 or 2 */ \ + r = x->is_internal == 0? 0 : s == 1? 1 : -1; \ + i = s == 1? x->n - 1 : -1; \ + } else i = __kb_getp_aux_##name(x, k, &r); \ + if (x->is_internal == 0) { \ + if (s == 2) ++i; \ + kp = __KB_KEY(key_t, x)[i]; \ + memmove(&__KB_KEY(key_t, x)[i], &__KB_KEY(key_t, x)[i + 1], (unsigned int)(x->n - i - 1) * sizeof(key_t)); \ + --x->n; \ + return kp; \ + } \ + if (r == 0) { \ + if ((yn = __KB_PTR(b, x)[i]->n) >= T) { \ + xp = __KB_PTR(b, x)[i]; \ + kp = __KB_KEY(key_t, x)[i]; \ + __KB_KEY(key_t, x)[i] = __kb_delp_aux_##name(b, xp, 0, 1); \ + return kp; \ + } else if ((zn = __KB_PTR(b, x)[i + 1]->n) >= T) { \ + xp = __KB_PTR(b, x)[i + 1]; \ + kp = __KB_KEY(key_t, x)[i]; \ + __KB_KEY(key_t, x)[i] = __kb_delp_aux_##name(b, xp, 0, 2); \ + return kp; \ + } else if (yn == T - 1 && zn == T - 1) { \ + y = __KB_PTR(b, x)[i]; z = __KB_PTR(b, x)[i + 1]; \ + __KB_KEY(key_t, y)[y->n++] = *k; \ + memmove(&__KB_KEY(key_t, y)[y->n], __KB_KEY(key_t, z), (unsigned int)z->n * sizeof(key_t)); \ + if (y->is_internal) memmove(&__KB_PTR(b, y)[y->n], __KB_PTR(b, z), (unsigned int)(z->n + 1) * sizeof(void*)); \ + y->n += z->n; \ + memmove(&__KB_KEY(key_t, x)[i], &__KB_KEY(key_t, x)[i + 1], (unsigned int)(x->n - i - 1) * sizeof(key_t)); \ + memmove(&__KB_PTR(b, x)[i + 1], &__KB_PTR(b, x)[i + 2], (unsigned int)(x->n - i - 1) * sizeof(void*)); \ + --x->n; \ + xfree(z); \ + return __kb_delp_aux_##name(b, y, k, s); \ + } \ + } \ + ++i; \ + if ((xp = __KB_PTR(b, x)[i])->n == T - 1) { \ + if (i > 0 && (y = __KB_PTR(b, x)[i - 1])->n >= T) { \ + memmove(&__KB_KEY(key_t, xp)[1], __KB_KEY(key_t, xp), (unsigned int)xp->n * sizeof(key_t)); \ + if (xp->is_internal) memmove(&__KB_PTR(b, xp)[1], __KB_PTR(b, xp), (unsigned int)(xp->n + 1) * sizeof(void*)); \ + __KB_KEY(key_t, xp)[0] = __KB_KEY(key_t, x)[i - 1]; \ + __KB_KEY(key_t, x)[i - 1] = __KB_KEY(key_t, y)[y->n - 1]; \ + if (xp->is_internal) __KB_PTR(b, xp)[0] = __KB_PTR(b, y)[y->n]; \ + --y->n; ++xp->n; \ + } else if (i < x->n && (y = __KB_PTR(b, x)[i + 1])->n >= T) { \ + __KB_KEY(key_t, xp)[xp->n++] = __KB_KEY(key_t, x)[i]; \ + __KB_KEY(key_t, x)[i] = __KB_KEY(key_t, y)[0]; \ + if (xp->is_internal) __KB_PTR(b, xp)[xp->n] = __KB_PTR(b, y)[0]; \ + --y->n; \ + memmove(__KB_KEY(key_t, y), &__KB_KEY(key_t, y)[1], (unsigned int)y->n * sizeof(key_t)); \ + if (y->is_internal) memmove(__KB_PTR(b, y), &__KB_PTR(b, y)[1], (unsigned int)(y->n + 1) * sizeof(void*)); \ + } else if (i > 0 && (y = __KB_PTR(b, x)[i - 1])->n == T - 1) { \ + __KB_KEY(key_t, y)[y->n++] = __KB_KEY(key_t, x)[i - 1]; \ + memmove(&__KB_KEY(key_t, y)[y->n], __KB_KEY(key_t, xp), (unsigned int)xp->n * sizeof(key_t)); \ + if (y->is_internal) memmove(&__KB_PTR(b, y)[y->n], __KB_PTR(b, xp), (unsigned int)(xp->n + 1) * sizeof(void*)); \ + y->n += xp->n; \ + memmove(&__KB_KEY(key_t, x)[i - 1], &__KB_KEY(key_t, x)[i], (unsigned int)(x->n - i) * sizeof(key_t)); \ + memmove(&__KB_PTR(b, x)[i], &__KB_PTR(b, x)[i + 1], (unsigned int)(x->n - i) * sizeof(void*)); \ + --x->n; \ + xfree(xp); \ + xp = y; \ + } else if (i < x->n && (y = __KB_PTR(b, x)[i + 1])->n == T - 1) { \ + __KB_KEY(key_t, xp)[xp->n++] = __KB_KEY(key_t, x)[i]; \ + memmove(&__KB_KEY(key_t, xp)[xp->n], __KB_KEY(key_t, y), (unsigned int)y->n * sizeof(key_t)); \ + if (xp->is_internal) memmove(&__KB_PTR(b, xp)[xp->n], __KB_PTR(b, y), (unsigned int)(y->n + 1) * sizeof(void*)); \ + xp->n += y->n; \ + memmove(&__KB_KEY(key_t, x)[i], &__KB_KEY(key_t, x)[i + 1], (unsigned int)(x->n - i - 1) * sizeof(key_t)); \ + memmove(&__KB_PTR(b, x)[i + 1], &__KB_PTR(b, x)[i + 2], (unsigned int)(x->n - i - 1) * sizeof(void*)); \ + --x->n; \ + xfree(y); \ + } \ + } \ + return __kb_delp_aux_##name(b, xp, k, s); \ + } \ + static inline key_t kb_delp_##name(kbtree_##name##_t *b, key_t * __restrict k) \ + { \ + kbnode_t *x; \ + key_t ret; \ + ret = __kb_delp_aux_##name(b, b->root, k, 0); \ + --b->n_keys; \ + if (b->root->n == 0 && b->root->is_internal) { \ + --b->n_nodes; \ + x = b->root; \ + b->root = __KB_PTR(b, x)[0]; \ + xfree(x); \ + } \ + return ret; \ + } \ + static inline key_t kb_del_##name(kbtree_##name##_t *b, key_t k) \ + { \ + return kb_delp_##name(b, &k); \ + } + +#define __KB_ITR(name, key_t, kbnode_t) \ + static inline void kb_itr_first_##name(kbtree_##name##_t *b, kbitr_##name##_t *itr) \ + { \ + itr->p = 0; \ + if (b->n_keys == 0) return; \ + itr->p = itr->stack; \ + itr->p->x = b->root; itr->p->i = 0; \ + while (itr->p->x->is_internal && __KB_PTR(b, itr->p->x)[0] != 0) { \ + kbnode_t *x = itr->p->x; \ + ++itr->p; \ + itr->p->x = __KB_PTR(b, x)[0]; itr->p->i = 0; \ + } \ + } \ + static inline int kb_itr_next_##name(kbtree_##name##_t *b, kbitr_##name##_t *itr) \ + { \ + if (itr->p < itr->stack) return 0; \ + for (;;) { \ + ++itr->p->i; \ + while (itr->p->x && itr->p->i <= itr->p->x->n) { \ + itr->p[1].i = 0; \ + itr->p[1].x = itr->p->x->is_internal? __KB_PTR(b, itr->p->x)[itr->p->i] : 0; \ + ++itr->p; \ + } \ + --itr->p; \ + if (itr->p < itr->stack) return 0; \ + if (itr->p->x && itr->p->i < itr->p->x->n) return 1; \ + } \ + } \ + static inline int kb_itr_prev_##name(kbtree_##name##_t *b, kbitr_##name##_t *itr) \ + { \ + if (itr->p < itr->stack) return 0; \ + for (;;) { \ + while (itr->p->x && itr->p->i >= 0) { \ + itr->p[1].x = itr->p->x->is_internal? __KB_PTR(b, itr->p->x)[itr->p->i] : 0; \ + itr->p[1].i = itr->p[1].x ? itr->p[1].x->n : -1; \ + ++itr->p; \ + } \ + --itr->p; \ + if (itr->p < itr->stack) return 0; \ + --itr->p->i; \ + if (itr->p->x && itr->p->i >= 0) return 1; \ + } \ + } \ + static inline int kb_itr_getp_##name(kbtree_##name##_t *b, key_t * __restrict k, kbitr_##name##_t *itr) \ + { \ + if (b->n_keys == 0) { \ + itr->p = NULL; \ + return 0; \ + } \ + int i, r = 0; \ + itr->p = itr->stack; \ + itr->p->x = b->root; \ + while (itr->p->x) { \ + i = __kb_getp_aux_##name(itr->p->x, k, &r); \ + itr->p->i = i; \ + if (i >= 0 && r == 0) return 1; \ + ++itr->p->i; \ + itr->p[1].x = itr->p->x->is_internal? __KB_PTR(b, itr->p->x)[i + 1] : 0; \ + ++itr->p; \ + } \ + return 0; \ + } \ + static inline int kb_itr_get_##name(kbtree_##name##_t *b, key_t k, kbitr_##name##_t *itr) \ + { \ + return kb_itr_getp_##name(b,&k,itr); \ + } \ + static inline void kb_del_itr_##name(kbtree_##name##_t *b, kbitr_##name##_t *itr) \ + { \ + key_t k = kb_itr_key(itr); \ + kb_delp_##name(b, &k); \ + kb_itr_getp_##name(b, &k, itr); \ + } + +#define KBTREE_INIT(name, key_t, __cmp, T) \ + KBTREE_INIT_IMPL(name, key_t, kbnode_##name##_t, __cmp, T, (sizeof(kbnode_##name##_t)+(2*T)*sizeof(void *))) + +#if (!defined(__clang__) && !defined(__INTEL_COMPILER)) && (__GNUC__ > 4 ) + +// The index trickery shouldn't be UB anymore, +// still it is to much for gcc:s -Werror=array-bounds +# define __KB_PRAGMA_START \ + _Pragma("GCC diagnostic push") \ + _Pragma("GCC diagnostic ignored \"-Warray-bounds\"") + +# define __KB_PRAGMA_END \ + _Pragma("GCC diagnostic pop") \ + +#else + +# define __KB_PRAGMA_START +# define __KB_PRAGMA_END + +#endif + +#define KBTREE_INIT_IMPL(name, key_t, kbnode_t, __cmp, T, ILEN) \ + __KB_PRAGMA_START \ + __KB_TREE_T(name, key_t, T) \ + __KB_GET_AUX1(name, key_t, kbnode_t, __cmp) \ + __KB_GET(name, key_t, kbnode_t) \ + __KB_INTERVAL(name, key_t, kbnode_t) \ + __KB_PUT(name, key_t, kbnode_t, __cmp, T, ILEN) \ + __KB_DEL(name, key_t, kbnode_t, T) \ + __KB_ITR(name, key_t, kbnode_t) \ + __KB_PRAGMA_END + +#define KB_DEFAULT_SIZE 512 + +#define kbtree_t(name) kbtree_##name##_t +#define kbitr_t(name) kbitr_##name##_t +#define kb_init(b) ((b)->n_keys = (b)->n_nodes = 0, (b)->root = 0) +#define kb_destroy(name, b) __kb_destroy(kbnode_##name##_t, b) +#define kb_get(name, b, k) kb_get_##name(b, k) +#define kb_put(name, b, k) kb_put_##name(b, k) +#define kb_del(name, b, k) kb_del_##name(b, k) +#define kb_interval(name, b, k, l, u) kb_interval_##name(b, k, l, u) +#define kb_getp(name, b, k) kb_getp_##name(b, k) +#define kb_putp(name, b, k) kb_putp_##name(b, k) +#define kb_delp(name, b, k) kb_delp_##name(b, k) +#define kb_intervalp(name, b, k, l, u) kb_intervalp_##name(b, k, l, u) + +#define kb_itr_first(name, b, i) kb_itr_first_##name(b, i) +#define kb_itr_get(name, b, k, i) kb_itr_get_##name(b, k, i) +#define kb_itr_getp(name, b, k, i) kb_itr_getp_##name(b, k, i) +#define kb_itr_next(name, b, i) kb_itr_next_##name(b, i) +#define kb_itr_prev(name, b, i) kb_itr_prev_##name(b, i) +#define kb_del_itr(name, b, i) kb_del_itr_##name(b, i) +#define kb_itr_key(itr) __KB_KEY(dummy, (itr)->p->x)[(itr)->p->i] +#define kb_itr_valid(itr) ((itr)->p >= (itr)->stack) + +#define kb_size(b) ((b)->n_keys) + +#define kb_generic_cmp(a, b) (((b) < (a)) - ((a) < (b))) +#define kb_str_cmp(a, b) strcmp(a, b) + +#endif // NVIM_LIB_KBTREE_H diff --git a/src/nvim/log.c b/src/nvim/log.c index d059e28d5d..f1dbe61dda 100644 --- a/src/nvim/log.c +++ b/src/nvim/log.c @@ -7,20 +7,17 @@ #include <stdbool.h> #include <stdint.h> #include <stdio.h> +#include <uv.h> #include "nvim/log.h" #include "nvim/types.h" #include "nvim/os/os.h" #include "nvim/os/time.h" -/// First location of the log file used by log_path_init() -#define USR_LOG_FILE "$NVIM_LOG_FILE" +#define LOG_FILE_ENV "NVIM_LOG_FILE" -/// Fall back location of the log file used by log_path_init() -#define USR_LOG_FILE_2 "$HOME" _PATHSEPSTR ".nvimlog" - -/// Cached location of the log file set by log_path_init() -static char expanded_log_file_path[MAXPATHL + 1] = { 0 }; +/// Cached location of the expanded log file path decided by log_path_init(). +static char log_file_path[MAXPATHL + 1] = { 0 }; static uv_mutex_t mutex; @@ -28,31 +25,53 @@ static uv_mutex_t mutex; # include "log.c.generated.h" #endif -/// Initialize path to log file +static bool log_try_create(char *fname) +{ + if (fname == NULL || fname[0] == '\0') { + return false; + } + FILE *log_file = fopen(fname, "a"); + if (log_file == NULL) { + return false; + } + fclose(log_file); + return true; +} + +/// Initializes path to log file. Sets $NVIM_LOG_FILE if empty. /// -/// Tries to use #USR_LOG_FILE, then falls back #USR_LOG_FILE_2. Path to log +/// Tries $NVIM_LOG_FILE, or falls back to $XDG_DATA_HOME/nvim/log. Path to log /// file is cached, so only the first call has effect, unless first call was not -/// successful. To make initialization not succeed either a bug in expand_env() -/// is needed or both `$NVIM_LOG_FILE` and `$HOME` environment variables -/// undefined. +/// successful. Failed initialization indicates either a bug in expand_env() +/// or both $NVIM_LOG_FILE and $HOME environment variables are undefined. /// /// @return true if path was initialized, false otherwise. static bool log_path_init(void) { - if (expanded_log_file_path[0]) { + if (log_file_path[0]) { return true; } - expand_env((char_u *)USR_LOG_FILE, (char_u *)expanded_log_file_path, - sizeof(expanded_log_file_path) - 1); - // if the log file path expansion failed then fall back to stderr - if (strcmp(USR_LOG_FILE, expanded_log_file_path) == 0) { - memset(expanded_log_file_path, 0, sizeof(expanded_log_file_path)); - expand_env((char_u *)USR_LOG_FILE_2, (char_u *)expanded_log_file_path, - sizeof(expanded_log_file_path) - 1); - if (strcmp(USR_LOG_FILE_2, expanded_log_file_path) == 0) { - memset(expanded_log_file_path, 0, sizeof(expanded_log_file_path)); + size_t size = sizeof(log_file_path); + expand_env((char_u *)"$" LOG_FILE_ENV, (char_u *)log_file_path, + (int)size - 1); + if (strequal("$" LOG_FILE_ENV, log_file_path) + || log_file_path[0] == '\0' + || os_isdir((char_u *)log_file_path) + || !log_try_create(log_file_path)) { + // Invalid $NVIM_LOG_FILE or failed to expand; fall back to default. + char *defaultpath = stdpaths_user_data_subpath("log", 0, true); + size_t len = xstrlcpy(log_file_path, defaultpath, size); + xfree(defaultpath); + // Fall back to .nvimlog + if (len >= size || !log_try_create(log_file_path)) { + len = xstrlcpy(log_file_path, ".nvimlog", size); + } + // Fall back to stderr + if (len >= size || !log_try_create(log_file_path)) { + log_file_path[0] = '\0'; return false; } + os_setenv(LOG_FILE_ENV, log_file_path, true); } return true; } @@ -75,6 +94,10 @@ void log_unlock(void) bool do_log(int log_level, const char *func_name, int line_num, bool eol, const char* fmt, ...) FUNC_ATTR_UNUSED { + if (log_level < MIN_LOG_LEVEL) { + return false; + } + log_lock(); bool ret = false; FILE *log_file = open_log_file(); @@ -97,26 +120,42 @@ end: return ret; } +void log_uv_handles(void *loop) +{ + uv_loop_t *l = loop; + log_lock(); + FILE *log_file = open_log_file(); + + if (log_file == NULL) { + goto end; + } + + uv_print_all_handles(l, log_file); + + if (log_file != stderr && log_file != stdout) { + fclose(log_file); + } +end: + log_unlock(); +} + /// Open the log file for appending. /// -/// @return The FILE* specified by the USR_LOG_FILE path or stderr in case of -/// error +/// @return FILE* decided by log_path_init() or stderr in case of error FILE *open_log_file(void) { static bool opening_log_file = false; - // check if it's a recursive call if (opening_log_file) { do_log_to_file(stderr, ERROR_LOG_LEVEL, __func__, __LINE__, true, - "Trying to LOG() recursively! Please fix it."); + "Cannot LOG() recursively."); return stderr; } - // expand USR_LOG_FILE if needed and open the file FILE *log_file = NULL; opening_log_file = true; if (log_path_init()) { - log_file = fopen(expanded_log_file_path, "a"); + log_file = fopen(log_file_path, "a"); } opening_log_file = false; @@ -124,10 +163,13 @@ FILE *open_log_file(void) return log_file; } + // May happen if: + // - LOG() is called before early_init() + // - Directory does not exist + // - File is not writable do_log_to_file(stderr, ERROR_LOG_LEVEL, __func__, __LINE__, true, - "Couldn't open USR_LOG_FILE, logging to stderr! This may be " - "caused by attempting to LOG() before initialization " - "functions are called (e.g. init_homedir())."); + "Logging to stderr, failed to open $" LOG_FILE_ENV ": %s", + log_file_path); return stderr; } @@ -152,7 +194,7 @@ static bool v_do_log_to_file(FILE *log_file, int log_level, [DEBUG_LOG_LEVEL] = "DEBUG", [INFO_LOG_LEVEL] = "INFO ", [WARNING_LOG_LEVEL] = "WARN ", - [ERROR_LOG_LEVEL] = "ERROR" + [ERROR_LOG_LEVEL] = "ERROR", }; assert(log_level >= DEBUG_LOG_LEVEL && log_level <= ERROR_LOG_LEVEL); diff --git a/src/nvim/log.h b/src/nvim/log.h index 32b7276f14..221f0bbaf6 100644 --- a/src/nvim/log.h +++ b/src/nvim/log.h @@ -18,55 +18,47 @@ #define ELOG(...) #define ELOGN(...) -// Logging is disabled if NDEBUG or DISABLE_LOG is defined. -#if !defined(DISABLE_LOG) && defined(NDEBUG) -# define DISABLE_LOG -#endif - -// MIN_LOG_LEVEL can be defined during compilation to adjust the desired level -// of logging. INFO_LOG_LEVEL is used by default. #ifndef MIN_LOG_LEVEL # define MIN_LOG_LEVEL INFO_LOG_LEVEL #endif -#ifndef DISABLE_LOG - -# if MIN_LOG_LEVEL <= DEBUG_LOG_LEVEL -# undef DLOG -# undef DLOGN -# define DLOG(...) do_log(DEBUG_LOG_LEVEL, __func__, __LINE__, true, \ - __VA_ARGS__) -# define DLOGN(...) do_log(DEBUG_LOG_LEVEL, __func__, __LINE__, false, \ - __VA_ARGS__) -# endif +#define LOG(level, ...) do_log((level), __func__, __LINE__, true, \ + __VA_ARGS__) -# if MIN_LOG_LEVEL <= INFO_LOG_LEVEL -# undef ILOG -# undef ILOGN -# define ILOG(...) do_log(INFO_LOG_LEVEL, __func__, __LINE__, true, \ - __VA_ARGS__) -# define ILOGN(...) do_log(INFO_LOG_LEVEL, __func__, __LINE__, false, \ - __VA_ARGS__) -# endif +#if MIN_LOG_LEVEL <= DEBUG_LOG_LEVEL +# undef DLOG +# undef DLOGN +# define DLOG(...) do_log(DEBUG_LOG_LEVEL, __func__, __LINE__, true, \ + __VA_ARGS__) +# define DLOGN(...) do_log(DEBUG_LOG_LEVEL, __func__, __LINE__, false, \ + __VA_ARGS__) +#endif -# if MIN_LOG_LEVEL <= WARNING_LOG_LEVEL -# undef WLOG -# undef WLOGN -# define WLOG(...) do_log(WARNING_LOG_LEVEL, __func__, __LINE__, true, \ - __VA_ARGS__) -# define WLOGN(...) do_log(WARNING_LOG_LEVEL, __func__, __LINE__, false, \ - __VA_ARGS__) -# endif +#if MIN_LOG_LEVEL <= INFO_LOG_LEVEL +# undef ILOG +# undef ILOGN +# define ILOG(...) do_log(INFO_LOG_LEVEL, __func__, __LINE__, true, \ + __VA_ARGS__) +# define ILOGN(...) do_log(INFO_LOG_LEVEL, __func__, __LINE__, false, \ + __VA_ARGS__) +#endif -# if MIN_LOG_LEVEL <= ERROR_LOG_LEVEL -# undef ELOG -# undef ELOGN -# define ELOG(...) do_log(ERROR_LOG_LEVEL, __func__, __LINE__, true, \ - __VA_ARGS__) -# define ELOGN(...) do_log(ERROR_LOG_LEVEL, __func__, __LINE__, false, \ - __VA_ARGS__) -# endif +#if MIN_LOG_LEVEL <= WARNING_LOG_LEVEL +# undef WLOG +# undef WLOGN +# define WLOG(...) do_log(WARNING_LOG_LEVEL, __func__, __LINE__, true, \ + __VA_ARGS__) +# define WLOGN(...) do_log(WARNING_LOG_LEVEL, __func__, __LINE__, false, \ + __VA_ARGS__) +#endif +#if MIN_LOG_LEVEL <= ERROR_LOG_LEVEL +# undef ELOG +# undef ELOGN +# define ELOG(...) do_log(ERROR_LOG_LEVEL, __func__, __LINE__, true, \ + __VA_ARGS__) +# define ELOGN(...) do_log(ERROR_LOG_LEVEL, __func__, __LINE__, false, \ + __VA_ARGS__) #endif #ifdef INCLUDE_GENERATED_DECLARATIONS diff --git a/src/nvim/lua/converter.c b/src/nvim/lua/converter.c new file mode 100644 index 0000000000..cacba3ce87 --- /dev/null +++ b/src/nvim/lua/converter.c @@ -0,0 +1,1189 @@ +// This is an open source non-commercial project. Dear PVS-Studio, please check +// it. PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com + +#include <lua.h> +#include <lualib.h> +#include <lauxlib.h> +#include <assert.h> +#include <stdint.h> +#include <stdbool.h> + +#include "nvim/api/private/defs.h" +#include "nvim/api/private/helpers.h" +#include "nvim/func_attr.h" +#include "nvim/memory.h" +#include "nvim/assert.h" +// FIXME: vim.h is not actually needed, but otherwise it states MAXPATHL is +// redefined +#include "nvim/vim.h" +#include "nvim/globals.h" +#include "nvim/message.h" +#include "nvim/eval/typval.h" +#include "nvim/ascii.h" +#include "nvim/macros.h" + +#include "nvim/lib/kvec.h" +#include "nvim/eval/decode.h" + +#include "nvim/lua/converter.h" +#include "nvim/lua/executor.h" + +/// Determine, which keys lua table contains +typedef struct { + size_t maxidx; ///< Maximum positive integral value found. + size_t string_keys_num; ///< Number of string keys. + bool has_string_with_nul; ///< True if there is string key with NUL byte. + ObjectType type; ///< If has_type_key is true then attached value. Otherwise + ///< either kObjectTypeNil, kObjectTypeDictionary or + ///< kObjectTypeArray, depending on other properties. + lua_Number val; ///< If has_val_key and val_type == LUA_TNUMBER: value. + bool has_type_key; ///< True if type key is present. +} LuaTableProps; + +#ifdef INCLUDE_GENERATED_DECLARATIONS +# include "lua/converter.c.generated.h" +#endif + +#define TYPE_IDX_VALUE true +#define VAL_IDX_VALUE false + +#define LUA_PUSH_STATIC_STRING(lstate, s) \ + lua_pushlstring(lstate, s, sizeof(s) - 1) + +static LuaTableProps nlua_traverse_table(lua_State *const lstate) + FUNC_ATTR_NONNULL_ALL FUNC_ATTR_WARN_UNUSED_RESULT +{ + size_t tsize = 0; // Total number of keys. + int val_type = 0; // If has_val_key: lua type of the value. + bool has_val_key = false; // True if val key was found, + // @see nlua_push_val_idx(). + size_t other_keys_num = 0; // Number of keys that are not string, integral + // or type keys. + LuaTableProps ret; + memset(&ret, 0, sizeof(ret)); + if (!lua_checkstack(lstate, lua_gettop(lstate) + 3)) { + emsgf(_("E1502: Lua failed to grow stack to %i"), lua_gettop(lstate) + 2); + ret.type = kObjectTypeNil; + return ret; + } + lua_pushnil(lstate); + while (lua_next(lstate, -2)) { + switch (lua_type(lstate, -2)) { + case LUA_TSTRING: { + size_t len; + const char *s = lua_tolstring(lstate, -2, &len); + if (memchr(s, NUL, len) != NULL) { + ret.has_string_with_nul = true; + } + ret.string_keys_num++; + break; + } + case LUA_TNUMBER: { + const lua_Number n = lua_tonumber(lstate, -2); + if (n > (lua_Number)SIZE_MAX || n <= 0 + || ((lua_Number)((size_t)n)) != n) { + other_keys_num++; + } else { + const size_t idx = (size_t)n; + if (idx > ret.maxidx) { + ret.maxidx = idx; + } + } + break; + } + case LUA_TBOOLEAN: { + const bool b = lua_toboolean(lstate, -2); + if (b == TYPE_IDX_VALUE) { + if (lua_type(lstate, -1) == LUA_TNUMBER) { + lua_Number n = lua_tonumber(lstate, -1); + if (n == (lua_Number)kObjectTypeFloat + || n == (lua_Number)kObjectTypeArray + || n == (lua_Number)kObjectTypeDictionary) { + ret.has_type_key = true; + ret.type = (ObjectType)n; + } else { + other_keys_num++; + } + } else { + other_keys_num++; + } + } else { + has_val_key = true; + val_type = lua_type(lstate, -1); + if (val_type == LUA_TNUMBER) { + ret.val = lua_tonumber(lstate, -1); + } + } + break; + } + default: { + other_keys_num++; + break; + } + } + tsize++; + lua_pop(lstate, 1); + } + if (ret.has_type_key) { + if (ret.type == kObjectTypeFloat + && (!has_val_key || val_type != LUA_TNUMBER)) { + ret.type = kObjectTypeNil; + } else if (ret.type == kObjectTypeArray) { + // Determine what is the last number in a *sequence* of keys. + // This condition makes sure that Neovim will not crash when it gets table + // {[vim.type_idx]=vim.types.array, [SIZE_MAX]=1}: without it maxidx will + // be SIZE_MAX, with this condition it should be zero and [SIZE_MAX] key + // should be ignored. + if (ret.maxidx != 0 + && ret.maxidx != (tsize + - ret.has_type_key + - other_keys_num + - has_val_key + - ret.string_keys_num)) { + for (ret.maxidx = 0;; ret.maxidx++) { + lua_rawgeti(lstate, -1, (int)ret.maxidx + 1); + if (lua_isnil(lstate, -1)) { + lua_pop(lstate, 1); + break; + } + lua_pop(lstate, 1); + } + } + } + } else { + if (tsize == 0 + || (tsize == ret.maxidx + && other_keys_num == 0 + && ret.string_keys_num == 0)) { + ret.type = kObjectTypeArray; + } else if (ret.string_keys_num == tsize) { + ret.type = kObjectTypeDictionary; + } else { + ret.type = kObjectTypeNil; + } + } + return ret; +} + +/// Helper structure for nlua_pop_typval +typedef struct { + typval_T *tv; ///< Location where conversion result is saved. + bool container; ///< True if tv is a container. + bool special; ///< If true then tv is a _VAL part of special dictionary + ///< that represents mapping. + int idx; ///< Container index (used to detect self-referencing structures). +} TVPopStackItem; + +/// Convert lua object to VimL typval_T +/// +/// Should pop exactly one value from lua stack. +/// +/// @param lstate Lua state. +/// @param[out] ret_tv Where to put the result. +/// +/// @return `true` in case of success, `false` in case of failure. Error is +/// reported automatically. +bool nlua_pop_typval(lua_State *lstate, typval_T *ret_tv) +{ + bool ret = true; + const int initial_size = lua_gettop(lstate); + kvec_t(TVPopStackItem) stack = KV_INITIAL_VALUE; + kv_push(stack, ((TVPopStackItem) { ret_tv, false, false, 0 })); + while (ret && kv_size(stack)) { + if (!lua_checkstack(lstate, lua_gettop(lstate) + 3)) { + emsgf(_("E1502: Lua failed to grow stack to %i"), lua_gettop(lstate) + 3); + ret = false; + break; + } + TVPopStackItem cur = kv_pop(stack); + if (cur.container) { + if (cur.special || cur.tv->v_type == VAR_DICT) { + assert(cur.tv->v_type == (cur.special ? VAR_LIST : VAR_DICT)); + bool next_key_found = false; + while (lua_next(lstate, -2)) { + if (lua_type(lstate, -2) == LUA_TSTRING) { + next_key_found = true; + break; + } + lua_pop(lstate, 1); + } + if (next_key_found) { + size_t len; + const char *s = lua_tolstring(lstate, -2, &len); + if (cur.special) { + list_T *const kv_pair = tv_list_alloc(); + tv_list_append_list(cur.tv->vval.v_list, kv_pair); + listitem_T *const key = tv_list_item_alloc(); + key->li_tv = decode_string(s, len, kTrue, false, false); + tv_list_append(kv_pair, key); + if (key->li_tv.v_type == VAR_UNKNOWN) { + ret = false; + tv_list_unref(kv_pair); + continue; + } + listitem_T *const val = tv_list_item_alloc(); + tv_list_append(kv_pair, val); + kv_push(stack, cur); + cur = (TVPopStackItem) { &val->li_tv, false, false, 0 }; + } else { + dictitem_T *const di = tv_dict_item_alloc_len(s, len); + if (tv_dict_add(cur.tv->vval.v_dict, di) == FAIL) { + assert(false); + } + kv_push(stack, cur); + cur = (TVPopStackItem) { &di->di_tv, false, false, 0 }; + } + } else { + lua_pop(lstate, 1); + continue; + } + } else { + assert(cur.tv->v_type == VAR_LIST); + lua_rawgeti(lstate, -1, cur.tv->vval.v_list->lv_len + 1); + if (lua_isnil(lstate, -1)) { + lua_pop(lstate, 2); + continue; + } + listitem_T *const li = tv_list_item_alloc(); + tv_list_append(cur.tv->vval.v_list, li); + kv_push(stack, cur); + cur = (TVPopStackItem) { &li->li_tv, false, false, 0 }; + } + } + assert(!cur.container); + *cur.tv = (typval_T) { + .v_type = VAR_NUMBER, + .v_lock = VAR_UNLOCKED, + .vval = { .v_number = 0 }, + }; + switch (lua_type(lstate, -1)) { + case LUA_TNIL: { + cur.tv->v_type = VAR_SPECIAL; + cur.tv->vval.v_special = kSpecialVarNull; + break; + } + case LUA_TBOOLEAN: { + cur.tv->v_type = VAR_SPECIAL; + cur.tv->vval.v_special = (lua_toboolean(lstate, -1) + ? kSpecialVarTrue + : kSpecialVarFalse); + break; + } + case LUA_TSTRING: { + size_t len; + const char *s = lua_tolstring(lstate, -1, &len); + *cur.tv = decode_string(s, len, kNone, true, false); + if (cur.tv->v_type == VAR_UNKNOWN) { + ret = false; + } + break; + } + case LUA_TNUMBER: { + const lua_Number n = lua_tonumber(lstate, -1); + if (n > (lua_Number)VARNUMBER_MAX || n < (lua_Number)VARNUMBER_MIN + || ((lua_Number)((varnumber_T)n)) != n) { + cur.tv->v_type = VAR_FLOAT; + cur.tv->vval.v_float = (float_T)n; + } else { + cur.tv->v_type = VAR_NUMBER; + cur.tv->vval.v_number = (varnumber_T)n; + } + break; + } + case LUA_TTABLE: { + const LuaTableProps table_props = nlua_traverse_table(lstate); + + for (size_t i = 0; i < kv_size(stack); i++) { + const TVPopStackItem item = kv_A(stack, i); + if (item.container && lua_rawequal(lstate, -1, item.idx)) { + tv_copy(item.tv, cur.tv); + cur.container = false; + goto nlua_pop_typval_table_processing_end; + } + } + + switch (table_props.type) { + case kObjectTypeArray: { + cur.tv->v_type = VAR_LIST; + cur.tv->vval.v_list = tv_list_alloc(); + cur.tv->vval.v_list->lv_refcount++; + if (table_props.maxidx != 0) { + cur.container = true; + cur.idx = lua_gettop(lstate); + kv_push(stack, cur); + } + break; + } + case kObjectTypeDictionary: { + if (table_props.string_keys_num == 0) { + cur.tv->v_type = VAR_DICT; + cur.tv->vval.v_dict = tv_dict_alloc(); + cur.tv->vval.v_dict->dv_refcount++; + } else { + cur.special = table_props.has_string_with_nul; + if (table_props.has_string_with_nul) { + decode_create_map_special_dict(cur.tv); + assert(cur.tv->v_type == VAR_DICT); + dictitem_T *const val_di = tv_dict_find(cur.tv->vval.v_dict, + S_LEN("_VAL")); + assert(val_di != NULL); + cur.tv = &val_di->di_tv; + assert(cur.tv->v_type == VAR_LIST); + } else { + cur.tv->v_type = VAR_DICT; + cur.tv->vval.v_dict = tv_dict_alloc(); + cur.tv->vval.v_dict->dv_refcount++; + } + cur.container = true; + cur.idx = lua_gettop(lstate); + kv_push(stack, cur); + lua_pushnil(lstate); + } + break; + } + case kObjectTypeFloat: { + cur.tv->v_type = VAR_FLOAT; + cur.tv->vval.v_float = (float_T)table_props.val; + break; + } + case kObjectTypeNil: { + EMSG(_("E5100: Cannot convert given lua table: table " + "should either have a sequence of positive integer keys " + "or contain only string keys")); + ret = false; + break; + } + default: { + assert(false); + } + } +nlua_pop_typval_table_processing_end: + break; + } + default: { + EMSG(_("E5101: Cannot convert given lua type")); + ret = false; + break; + } + } + if (!cur.container) { + lua_pop(lstate, 1); + } + } + kv_destroy(stack); + if (!ret) { + tv_clear(ret_tv); + *ret_tv = (typval_T) { + .v_type = VAR_NUMBER, + .v_lock = VAR_UNLOCKED, + .vval = { .v_number = 0 }, + }; + lua_pop(lstate, lua_gettop(lstate) - initial_size + 1); + } + assert(lua_gettop(lstate) == initial_size - 1); + return ret; +} + +#define TYPVAL_ENCODE_ALLOW_SPECIALS true + +#define TYPVAL_ENCODE_CONV_NIL(tv) \ + lua_pushnil(lstate) + +#define TYPVAL_ENCODE_CONV_BOOL(tv, num) \ + lua_pushboolean(lstate, (bool)(num)) + +#define TYPVAL_ENCODE_CONV_NUMBER(tv, num) \ + lua_pushnumber(lstate, (lua_Number)(num)) + +#define TYPVAL_ENCODE_CONV_UNSIGNED_NUMBER TYPVAL_ENCODE_CONV_NUMBER + +#define TYPVAL_ENCODE_CONV_FLOAT(tv, flt) \ + TYPVAL_ENCODE_CONV_NUMBER(tv, flt) + +#define TYPVAL_ENCODE_CONV_STRING(tv, str, len) \ + lua_pushlstring(lstate, (const char *)(str), (len)) + +#define TYPVAL_ENCODE_CONV_STR_STRING TYPVAL_ENCODE_CONV_STRING + +#define TYPVAL_ENCODE_CONV_EXT_STRING(tv, str, len, type) \ + TYPVAL_ENCODE_CONV_NIL() + +#define TYPVAL_ENCODE_CONV_FUNC_START(tv, fun) \ + do { \ + TYPVAL_ENCODE_CONV_NIL(tv); \ + goto typval_encode_stop_converting_one_item; \ + } while (0) + +#define TYPVAL_ENCODE_CONV_FUNC_BEFORE_ARGS(tv, len) +#define TYPVAL_ENCODE_CONV_FUNC_BEFORE_SELF(tv, len) +#define TYPVAL_ENCODE_CONV_FUNC_END(tv) + +#define TYPVAL_ENCODE_CONV_EMPTY_LIST(tv) \ + lua_createtable(lstate, 0, 0) + +#define TYPVAL_ENCODE_CONV_EMPTY_DICT(tv, dict) \ + nlua_create_typed_table(lstate, 0, 0, kObjectTypeDictionary) + +#define TYPVAL_ENCODE_CONV_LIST_START(tv, len) \ + do { \ + if (!lua_checkstack(lstate, lua_gettop(lstate) + 3)) { \ + emsgf(_("E5102: Lua failed to grow stack to %i"), \ + lua_gettop(lstate) + 3); \ + return false; \ + } \ + lua_createtable(lstate, (int)(len), 0); \ + lua_pushnumber(lstate, 1); \ + } while (0) + +#define TYPVAL_ENCODE_CONV_REAL_LIST_AFTER_START(tv, mpsv) + +#define TYPVAL_ENCODE_CONV_LIST_BETWEEN_ITEMS(tv) \ + do { \ + lua_Number idx = lua_tonumber(lstate, -2); \ + lua_rawset(lstate, -3); \ + lua_pushnumber(lstate, idx + 1); \ + } while (0) + +#define TYPVAL_ENCODE_CONV_LIST_END(tv) \ + lua_rawset(lstate, -3) + +#define TYPVAL_ENCODE_CONV_DICT_START(tv, dict, len) \ + do { \ + if (!lua_checkstack(lstate, lua_gettop(lstate) + 3)) { \ + emsgf(_("E5102: Lua failed to grow stack to %i"), \ + lua_gettop(lstate) + 3); \ + return false; \ + } \ + lua_createtable(lstate, 0, (int)(len)); \ + } while (0) + +#define TYPVAL_ENCODE_SPECIAL_DICT_KEY_CHECK(label, kv_pair) + +#define TYPVAL_ENCODE_CONV_REAL_DICT_AFTER_START(tv, dict, mpsv) + +#define TYPVAL_ENCODE_CONV_DICT_AFTER_KEY(tv, dict) + +#define TYPVAL_ENCODE_CONV_DICT_BETWEEN_ITEMS(tv, dict) \ + lua_rawset(lstate, -3) + +#define TYPVAL_ENCODE_CONV_DICT_END(tv, dict) \ + TYPVAL_ENCODE_CONV_DICT_BETWEEN_ITEMS(tv, dict) + +#define TYPVAL_ENCODE_CONV_RECURSE(val, conv_type) \ + do { \ + for (size_t backref = kv_size(*mpstack); backref; backref--) { \ + const MPConvStackVal mpval = kv_A(*mpstack, backref - 1); \ + if (mpval.type == conv_type) { \ + if (conv_type == kMPConvDict \ + ? (void *)mpval.data.d.dict == (void *)(val) \ + : (void *)mpval.data.l.list == (void *)(val)) { \ + lua_pushvalue(lstate, \ + -((int)((kv_size(*mpstack) - backref + 1) * 2))); \ + break; \ + } \ + } \ + } \ + } while (0) + +#define TYPVAL_ENCODE_SCOPE static +#define TYPVAL_ENCODE_NAME lua +#define TYPVAL_ENCODE_FIRST_ARG_TYPE lua_State *const +#define TYPVAL_ENCODE_FIRST_ARG_NAME lstate +#include "nvim/eval/typval_encode.c.h" +#undef TYPVAL_ENCODE_SCOPE +#undef TYPVAL_ENCODE_NAME +#undef TYPVAL_ENCODE_FIRST_ARG_TYPE +#undef TYPVAL_ENCODE_FIRST_ARG_NAME + +#undef TYPVAL_ENCODE_CONV_STRING +#undef TYPVAL_ENCODE_CONV_STR_STRING +#undef TYPVAL_ENCODE_CONV_EXT_STRING +#undef TYPVAL_ENCODE_CONV_NUMBER +#undef TYPVAL_ENCODE_CONV_FLOAT +#undef TYPVAL_ENCODE_CONV_FUNC_START +#undef TYPVAL_ENCODE_CONV_FUNC_BEFORE_ARGS +#undef TYPVAL_ENCODE_CONV_FUNC_BEFORE_SELF +#undef TYPVAL_ENCODE_CONV_FUNC_END +#undef TYPVAL_ENCODE_CONV_EMPTY_LIST +#undef TYPVAL_ENCODE_CONV_LIST_START +#undef TYPVAL_ENCODE_CONV_REAL_LIST_AFTER_START +#undef TYPVAL_ENCODE_CONV_EMPTY_DICT +#undef TYPVAL_ENCODE_CONV_NIL +#undef TYPVAL_ENCODE_CONV_BOOL +#undef TYPVAL_ENCODE_CONV_UNSIGNED_NUMBER +#undef TYPVAL_ENCODE_CONV_DICT_START +#undef TYPVAL_ENCODE_CONV_REAL_DICT_AFTER_START +#undef TYPVAL_ENCODE_CONV_DICT_END +#undef TYPVAL_ENCODE_CONV_DICT_AFTER_KEY +#undef TYPVAL_ENCODE_CONV_DICT_BETWEEN_ITEMS +#undef TYPVAL_ENCODE_SPECIAL_DICT_KEY_CHECK +#undef TYPVAL_ENCODE_CONV_LIST_END +#undef TYPVAL_ENCODE_CONV_LIST_BETWEEN_ITEMS +#undef TYPVAL_ENCODE_CONV_RECURSE +#undef TYPVAL_ENCODE_ALLOW_SPECIALS + +/// Convert VimL typval_T to lua value +/// +/// Should leave single value in lua stack. May only fail if lua failed to grow +/// stack. +/// +/// @param lstate Lua interpreter state. +/// @param[in] tv typval_T to convert. +/// +/// @return true in case of success, false otherwise. +bool nlua_push_typval(lua_State *lstate, typval_T *const tv) +{ + const int initial_size = lua_gettop(lstate); + if (!lua_checkstack(lstate, initial_size + 2)) { + emsgf(_("E1502: Lua failed to grow stack to %i"), initial_size + 4); + return false; + } + if (encode_vim_to_lua(lstate, tv, "nlua_push_typval argument") == FAIL) { + return false; + } + assert(lua_gettop(lstate) == initial_size + 1); + return true; +} + +/// Push value which is a type index +/// +/// Used for all “typed†tables: i.e. for all tables which represent VimL +/// values. +static inline void nlua_push_type_idx(lua_State *lstate) + FUNC_ATTR_NONNULL_ALL +{ + lua_pushboolean(lstate, TYPE_IDX_VALUE); +} + +/// Push value which is a value index +/// +/// Used for tables which represent scalar values, like float value. +static inline void nlua_push_val_idx(lua_State *lstate) + FUNC_ATTR_NONNULL_ALL +{ + lua_pushboolean(lstate, VAL_IDX_VALUE); +} + +/// Push type +/// +/// Type is a value in vim.types table. +/// +/// @param[out] lstate Lua state. +/// @param[in] type Type to push. +static inline void nlua_push_type(lua_State *lstate, ObjectType type) + FUNC_ATTR_NONNULL_ALL +{ + lua_pushnumber(lstate, (lua_Number)type); +} + +/// Create lua table which has an entry that determines its VimL type +/// +/// @param[out] lstate Lua state. +/// @param[in] narr Number of “array†entries to be populated later. +/// @param[in] nrec Number of “dictionary†entries to be populated later. +/// @param[in] type Type of the table. +static inline void nlua_create_typed_table(lua_State *lstate, + const size_t narr, + const size_t nrec, + const ObjectType type) + FUNC_ATTR_NONNULL_ALL +{ + lua_createtable(lstate, (int)narr, (int)(1 + nrec)); + nlua_push_type_idx(lstate); + nlua_push_type(lstate, type); + lua_rawset(lstate, -3); +} + + +/// Convert given String to lua string +/// +/// Leaves converted string on top of the stack. +void nlua_push_String(lua_State *lstate, const String s) + FUNC_ATTR_NONNULL_ALL +{ + lua_pushlstring(lstate, s.data, s.size); +} + +/// Convert given Integer to lua number +/// +/// Leaves converted number on top of the stack. +void nlua_push_Integer(lua_State *lstate, const Integer n) + FUNC_ATTR_NONNULL_ALL +{ + lua_pushnumber(lstate, (lua_Number)n); +} + +/// Convert given Float to lua table +/// +/// Leaves converted table on top of the stack. +void nlua_push_Float(lua_State *lstate, const Float f) + FUNC_ATTR_NONNULL_ALL +{ + nlua_create_typed_table(lstate, 0, 1, kObjectTypeFloat); + nlua_push_val_idx(lstate); + lua_pushnumber(lstate, (lua_Number)f); + lua_rawset(lstate, -3); +} + +/// Convert given Float to lua boolean +/// +/// Leaves converted value on top of the stack. +void nlua_push_Boolean(lua_State *lstate, const Boolean b) + FUNC_ATTR_NONNULL_ALL +{ + lua_pushboolean(lstate, b); +} + +/// Convert given Dictionary to lua table +/// +/// Leaves converted table on top of the stack. +void nlua_push_Dictionary(lua_State *lstate, const Dictionary dict) + FUNC_ATTR_NONNULL_ALL +{ + if (dict.size == 0) { + nlua_create_typed_table(lstate, 0, 0, kObjectTypeDictionary); + } else { + lua_createtable(lstate, 0, (int)dict.size); + } + for (size_t i = 0; i < dict.size; i++) { + nlua_push_String(lstate, dict.items[i].key); + nlua_push_Object(lstate, dict.items[i].value); + lua_rawset(lstate, -3); + } +} + +/// Convert given Array to lua table +/// +/// Leaves converted table on top of the stack. +void nlua_push_Array(lua_State *lstate, const Array array) + FUNC_ATTR_NONNULL_ALL +{ + lua_createtable(lstate, (int)array.size, 0); + for (size_t i = 0; i < array.size; i++) { + nlua_push_Object(lstate, array.items[i]); + lua_rawseti(lstate, -2, (int)i + 1); + } +} + +#define GENERATE_INDEX_FUNCTION(type) \ +void nlua_push_##type(lua_State *lstate, const type item) \ + FUNC_ATTR_NONNULL_ALL \ +{ \ + lua_pushnumber(lstate, (lua_Number)(item)); \ +} + +GENERATE_INDEX_FUNCTION(Buffer) +GENERATE_INDEX_FUNCTION(Window) +GENERATE_INDEX_FUNCTION(Tabpage) + +#undef GENERATE_INDEX_FUNCTION + +/// Convert given Object to lua value +/// +/// Leaves converted value on top of the stack. +void nlua_push_Object(lua_State *lstate, const Object obj) + FUNC_ATTR_NONNULL_ALL +{ + switch (obj.type) { + case kObjectTypeNil: { + lua_pushnil(lstate); + break; + } +#define ADD_TYPE(type, data_key) \ + case kObjectType##type: { \ + nlua_push_##type(lstate, obj.data.data_key); \ + break; \ + } + ADD_TYPE(Boolean, boolean) + ADD_TYPE(Integer, integer) + ADD_TYPE(Float, floating) + ADD_TYPE(String, string) + ADD_TYPE(Array, array) + ADD_TYPE(Dictionary, dictionary) +#undef ADD_TYPE +#define ADD_REMOTE_TYPE(type) \ + case kObjectType##type: { \ + nlua_push_##type(lstate, (type)obj.data.integer); \ + break; \ + } + ADD_REMOTE_TYPE(Buffer) + ADD_REMOTE_TYPE(Window) + ADD_REMOTE_TYPE(Tabpage) +#undef ADD_REMOTE_TYPE + } +} + + +/// Convert lua value to string +/// +/// Always pops one value from the stack. +String nlua_pop_String(lua_State *lstate, Error *err) + FUNC_ATTR_NONNULL_ALL FUNC_ATTR_WARN_UNUSED_RESULT +{ + if (lua_type(lstate, -1) != LUA_TSTRING) { + lua_pop(lstate, 1); + api_set_error(err, kErrorTypeValidation, "Expected lua string"); + return (String) { .size = 0, .data = NULL }; + } + String ret; + + ret.data = (char *)lua_tolstring(lstate, -1, &(ret.size)); + assert(ret.data != NULL); + ret.data = xmemdupz(ret.data, ret.size); + lua_pop(lstate, 1); + + return ret; +} + +/// Convert lua value to integer +/// +/// Always pops one value from the stack. +Integer nlua_pop_Integer(lua_State *lstate, Error *err) + FUNC_ATTR_NONNULL_ALL FUNC_ATTR_WARN_UNUSED_RESULT +{ + if (lua_type(lstate, -1) != LUA_TNUMBER) { + lua_pop(lstate, 1); + api_set_error(err, kErrorTypeValidation, "Expected lua number"); + return 0; + } + const lua_Number n = lua_tonumber(lstate, -1); + lua_pop(lstate, 1); + if (n > (lua_Number)API_INTEGER_MAX || n < (lua_Number)API_INTEGER_MIN + || ((lua_Number)((Integer)n)) != n) { + api_set_error(err, kErrorTypeException, "Number is not integral"); + return 0; + } + return (Integer)n; +} + +/// Convert lua value to boolean +/// +/// Always pops one value from the stack. +Boolean nlua_pop_Boolean(lua_State *lstate, Error *err) + FUNC_ATTR_NONNULL_ALL FUNC_ATTR_WARN_UNUSED_RESULT +{ + const Boolean ret = lua_toboolean(lstate, -1); + lua_pop(lstate, 1); + return ret; +} + +/// Check whether typed table on top of the stack has given type +/// +/// @param[in] lstate Lua state. +/// @param[out] err Location where error will be saved. May be NULL. +/// @param[in] type Type to check. +/// +/// @return @see nlua_traverse_table(). +static inline LuaTableProps nlua_check_type(lua_State *const lstate, + Error *const err, + const ObjectType type) + FUNC_ATTR_NONNULL_ARG(1) FUNC_ATTR_WARN_UNUSED_RESULT +{ + if (lua_type(lstate, -1) != LUA_TTABLE) { + if (err) { + api_set_error(err, kErrorTypeValidation, "Expected lua table"); + } + return (LuaTableProps) { .type = kObjectTypeNil }; + } + LuaTableProps table_props = nlua_traverse_table(lstate); + + if (type == kObjectTypeDictionary && table_props.type == kObjectTypeArray + && table_props.maxidx == 0 && !table_props.has_type_key) { + table_props.type = kObjectTypeDictionary; + } + + if (table_props.type != type) { + if (err) { + api_set_error(err, kErrorTypeValidation, "Unexpected type"); + } + } + + return table_props; +} + +/// Convert lua table to float +/// +/// Always pops one value from the stack. +Float nlua_pop_Float(lua_State *lstate, Error *err) + FUNC_ATTR_NONNULL_ALL FUNC_ATTR_WARN_UNUSED_RESULT +{ + if (lua_type(lstate, -1) == LUA_TNUMBER) { + const Float ret = (Float)lua_tonumber(lstate, -1); + lua_pop(lstate, 1); + return ret; + } + + const LuaTableProps table_props = nlua_check_type(lstate, err, + kObjectTypeFloat); + lua_pop(lstate, 1); + if (table_props.type != kObjectTypeFloat) { + return 0; + } else { + return (Float)table_props.val; + } +} + +/// Convert lua table to array without determining whether it is array +/// +/// @param lstate Lua state. +/// @param[in] table_props nlua_traverse_table() output. +/// @param[out] err Location where error will be saved. +static Array nlua_pop_Array_unchecked(lua_State *const lstate, + const LuaTableProps table_props, + Error *const err) +{ + Array ret = { .size = table_props.maxidx, .items = NULL }; + + if (ret.size == 0) { + lua_pop(lstate, 1); + return ret; + } + + ret.items = xcalloc(ret.size, sizeof(*ret.items)); + for (size_t i = 1; i <= ret.size; i++) { + Object val; + + lua_rawgeti(lstate, -1, (int)i); + + val = nlua_pop_Object(lstate, err); + if (ERROR_SET(err)) { + ret.size = i - 1; + lua_pop(lstate, 1); + api_free_array(ret); + return (Array) { .size = 0, .items = NULL }; + } + ret.items[i - 1] = val; + } + lua_pop(lstate, 1); + + return ret; +} + +/// Convert lua table to array +/// +/// Always pops one value from the stack. +Array nlua_pop_Array(lua_State *lstate, Error *err) + FUNC_ATTR_NONNULL_ALL FUNC_ATTR_WARN_UNUSED_RESULT +{ + const LuaTableProps table_props = nlua_check_type(lstate, err, + kObjectTypeArray); + if (table_props.type != kObjectTypeArray) { + return (Array) { .size = 0, .items = NULL }; + } + return nlua_pop_Array_unchecked(lstate, table_props, err); +} + +/// Convert lua table to dictionary +/// +/// Always pops one value from the stack. Does not check whether whether topmost +/// value on the stack is a table. +/// +/// @param lstate Lua interpreter state. +/// @param[in] table_props nlua_traverse_table() output. +/// @param[out] err Location where error will be saved. +static Dictionary nlua_pop_Dictionary_unchecked(lua_State *lstate, + const LuaTableProps table_props, + Error *err) + FUNC_ATTR_NONNULL_ALL FUNC_ATTR_WARN_UNUSED_RESULT +{ + Dictionary ret = { .size = table_props.string_keys_num, .items = NULL }; + + if (ret.size == 0) { + lua_pop(lstate, 1); + return ret; + } + ret.items = xcalloc(ret.size, sizeof(*ret.items)); + + lua_pushnil(lstate); + for (size_t i = 0; lua_next(lstate, -2) && i < ret.size;) { + // stack: dict, key, value + + if (lua_type(lstate, -2) == LUA_TSTRING) { + lua_pushvalue(lstate, -2); + // stack: dict, key, value, key + + ret.items[i].key = nlua_pop_String(lstate, err); + // stack: dict, key, value + + if (!ERROR_SET(err)) { + ret.items[i].value = nlua_pop_Object(lstate, err); + // stack: dict, key + } else { + lua_pop(lstate, 1); + // stack: dict, key + } + + if (ERROR_SET(err)) { + ret.size = i; + api_free_dictionary(ret); + lua_pop(lstate, 2); + // stack: + return (Dictionary) { .size = 0, .items = NULL }; + } + i++; + } else { + lua_pop(lstate, 1); + // stack: dict, key + } + } + lua_pop(lstate, 1); + + return ret; +} + +/// Convert lua table to dictionary +/// +/// Always pops one value from the stack. +Dictionary nlua_pop_Dictionary(lua_State *lstate, Error *err) + FUNC_ATTR_NONNULL_ALL FUNC_ATTR_WARN_UNUSED_RESULT +{ + const LuaTableProps table_props = nlua_check_type(lstate, err, + kObjectTypeDictionary); + if (table_props.type != kObjectTypeDictionary) { + lua_pop(lstate, 1); + return (Dictionary) { .size = 0, .items = NULL }; + } + + return nlua_pop_Dictionary_unchecked(lstate, table_props, err); +} + +/// Helper structure for nlua_pop_Object +typedef struct { + Object *obj; ///< Location where conversion result is saved. + bool container; ///< True if tv is a container. +} ObjPopStackItem; + +/// Convert lua table to object +/// +/// Always pops one value from the stack. +Object nlua_pop_Object(lua_State *const lstate, Error *const err) +{ + Object ret = NIL; + const int initial_size = lua_gettop(lstate); + kvec_t(ObjPopStackItem) stack = KV_INITIAL_VALUE; + kv_push(stack, ((ObjPopStackItem) { &ret, false })); + while (!ERROR_SET(err) && kv_size(stack)) { + if (!lua_checkstack(lstate, lua_gettop(lstate) + 3)) { + api_set_error(err, kErrorTypeException, "Lua failed to grow stack"); + break; + } + ObjPopStackItem cur = kv_pop(stack); + if (cur.container) { + if (cur.obj->type == kObjectTypeDictionary) { + // stack: …, dict, key + if (cur.obj->data.dictionary.size + == cur.obj->data.dictionary.capacity) { + lua_pop(lstate, 2); + continue; + } + bool next_key_found = false; + while (lua_next(lstate, -2)) { + // stack: …, dict, new key, val + if (lua_type(lstate, -2) == LUA_TSTRING) { + next_key_found = true; + break; + } + lua_pop(lstate, 1); + // stack: …, dict, new key + } + if (next_key_found) { + // stack: …, dict, new key, val + size_t len; + const char *s = lua_tolstring(lstate, -2, &len); + const size_t idx = cur.obj->data.dictionary.size++; + cur.obj->data.dictionary.items[idx].key = (String) { + .data = xmemdupz(s, len), + .size = len, + }; + kv_push(stack, cur); + cur = (ObjPopStackItem) { + .obj = &cur.obj->data.dictionary.items[idx].value, + .container = false, + }; + } else { + // stack: …, dict + lua_pop(lstate, 1); + // stack: … + continue; + } + } else { + if (cur.obj->data.array.size == cur.obj->data.array.capacity) { + lua_pop(lstate, 1); + continue; + } + const size_t idx = cur.obj->data.array.size++; + lua_rawgeti(lstate, -1, (int)idx + 1); + if (lua_isnil(lstate, -1)) { + lua_pop(lstate, 2); + continue; + } + kv_push(stack, cur); + cur = (ObjPopStackItem) { + .obj = &cur.obj->data.array.items[idx], + .container = false, + }; + } + } + assert(!cur.container); + *cur.obj = NIL; + switch (lua_type(lstate, -1)) { + case LUA_TNIL: { + break; + } + case LUA_TBOOLEAN: { + *cur.obj = BOOLEAN_OBJ(lua_toboolean(lstate, -1)); + break; + } + case LUA_TSTRING: { + size_t len; + const char *s = lua_tolstring(lstate, -1, &len); + *cur.obj = STRING_OBJ(((String) { + .data = xmemdupz(s, len), + .size = len, + })); + break; + } + case LUA_TNUMBER: { + const lua_Number n = lua_tonumber(lstate, -1); + if (n > (lua_Number)API_INTEGER_MAX || n < (lua_Number)API_INTEGER_MIN + || ((lua_Number)((Integer)n)) != n) { + *cur.obj = FLOAT_OBJ((Float)n); + } else { + *cur.obj = INTEGER_OBJ((Integer)n); + } + break; + } + case LUA_TTABLE: { + const LuaTableProps table_props = nlua_traverse_table(lstate); + + switch (table_props.type) { + case kObjectTypeArray: { + *cur.obj = ARRAY_OBJ(((Array) { + .items = NULL, + .size = 0, + .capacity = 0, + })); + if (table_props.maxidx != 0) { + cur.obj->data.array.items = + xcalloc(table_props.maxidx, + sizeof(cur.obj->data.array.items[0])); + cur.obj->data.array.capacity = table_props.maxidx; + cur.container = true; + kv_push(stack, cur); + } + break; + } + case kObjectTypeDictionary: { + *cur.obj = DICTIONARY_OBJ(((Dictionary) { + .items = NULL, + .size = 0, + .capacity = 0, + })); + if (table_props.string_keys_num != 0) { + cur.obj->data.dictionary.items = + xcalloc(table_props.string_keys_num, + sizeof(cur.obj->data.dictionary.items[0])); + cur.obj->data.dictionary.capacity = table_props.string_keys_num; + cur.container = true; + kv_push(stack, cur); + lua_pushnil(lstate); + } + break; + } + case kObjectTypeFloat: { + *cur.obj = FLOAT_OBJ((Float)table_props.val); + break; + } + case kObjectTypeNil: { + api_set_error(err, kErrorTypeValidation, + "Cannot convert given lua table"); + break; + } + default: { + assert(false); + } + } + break; + } + default: { + api_set_error(err, kErrorTypeValidation, + "Cannot convert given lua type"); + break; + } + } + if (!cur.container) { + lua_pop(lstate, 1); + } + } + kv_destroy(stack); + if (ERROR_SET(err)) { + api_free_object(ret); + ret = NIL; + lua_pop(lstate, lua_gettop(lstate) - initial_size + 1); + } + assert(lua_gettop(lstate) == initial_size - 1); + return ret; +} + +#define GENERATE_INDEX_FUNCTION(type) \ +type nlua_pop_##type(lua_State *lstate, Error *err) \ + FUNC_ATTR_NONNULL_ALL FUNC_ATTR_WARN_UNUSED_RESULT \ +{ \ + type ret; \ + ret = (type)lua_tonumber(lstate, -1); \ + lua_pop(lstate, 1); \ + return ret; \ +} + +GENERATE_INDEX_FUNCTION(Buffer) +GENERATE_INDEX_FUNCTION(Window) +GENERATE_INDEX_FUNCTION(Tabpage) + +#undef GENERATE_INDEX_FUNCTION + +/// Record some auxilary values in vim module +/// +/// Assumes that module table is on top of the stack. +/// +/// Recorded values: +/// +/// `vim.type_idx`: @see nlua_push_type_idx() +/// `vim.val_idx`: @see nlua_push_val_idx() +/// `vim.types`: table mapping possible values of `vim.type_idx` to string +/// names (i.e. `array`, `float`, `dictionary`) and back. +void nlua_init_types(lua_State *const lstate) +{ + LUA_PUSH_STATIC_STRING(lstate, "type_idx"); + nlua_push_type_idx(lstate); + lua_rawset(lstate, -3); + + LUA_PUSH_STATIC_STRING(lstate, "val_idx"); + nlua_push_val_idx(lstate); + lua_rawset(lstate, -3); + + LUA_PUSH_STATIC_STRING(lstate, "types"); + lua_createtable(lstate, 0, 3); + + LUA_PUSH_STATIC_STRING(lstate, "float"); + lua_pushnumber(lstate, (lua_Number)kObjectTypeFloat); + lua_rawset(lstate, -3); + lua_pushnumber(lstate, (lua_Number)kObjectTypeFloat); + LUA_PUSH_STATIC_STRING(lstate, "float"); + lua_rawset(lstate, -3); + + LUA_PUSH_STATIC_STRING(lstate, "array"); + lua_pushnumber(lstate, (lua_Number)kObjectTypeArray); + lua_rawset(lstate, -3); + lua_pushnumber(lstate, (lua_Number)kObjectTypeArray); + LUA_PUSH_STATIC_STRING(lstate, "array"); + lua_rawset(lstate, -3); + + LUA_PUSH_STATIC_STRING(lstate, "dictionary"); + lua_pushnumber(lstate, (lua_Number)kObjectTypeDictionary); + lua_rawset(lstate, -3); + lua_pushnumber(lstate, (lua_Number)kObjectTypeDictionary); + LUA_PUSH_STATIC_STRING(lstate, "dictionary"); + lua_rawset(lstate, -3); + + lua_rawset(lstate, -3); +} diff --git a/src/nvim/lua/converter.h b/src/nvim/lua/converter.h new file mode 100644 index 0000000000..542c56ea3e --- /dev/null +++ b/src/nvim/lua/converter.h @@ -0,0 +1,15 @@ +#ifndef NVIM_LUA_CONVERTER_H +#define NVIM_LUA_CONVERTER_H + +#include <lua.h> +#include <stdbool.h> +#include <stdint.h> + +#include "nvim/api/private/defs.h" +#include "nvim/func_attr.h" +#include "nvim/eval.h" + +#ifdef INCLUDE_GENERATED_DECLARATIONS +# include "lua/converter.h.generated.h" +#endif +#endif // NVIM_LUA_CONVERTER_H diff --git a/src/nvim/lua/executor.c b/src/nvim/lua/executor.c new file mode 100644 index 0000000000..9ec5bfb8ad --- /dev/null +++ b/src/nvim/lua/executor.c @@ -0,0 +1,662 @@ +// This is an open source non-commercial project. Dear PVS-Studio, please check +// it. PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com + +#include <lua.h> +#include <lualib.h> +#include <lauxlib.h> + +#include "nvim/misc1.h" +#include "nvim/getchar.h" +#include "nvim/garray.h" +#include "nvim/func_attr.h" +#include "nvim/api/private/defs.h" +#include "nvim/api/private/helpers.h" +#include "nvim/api/vim.h" +#include "nvim/vim.h" +#include "nvim/ex_getln.h" +#include "nvim/ex_cmds2.h" +#include "nvim/message.h" +#include "nvim/memline.h" +#include "nvim/buffer_defs.h" +#include "nvim/macros.h" +#include "nvim/screen.h" +#include "nvim/cursor.h" +#include "nvim/undo.h" +#include "nvim/ascii.h" + +#include "nvim/lua/executor.h" +#include "nvim/lua/converter.h" + +typedef struct { + Error err; + String lua_err_str; +} LuaError; + +#ifdef INCLUDE_GENERATED_DECLARATIONS +# include "lua/vim_module.generated.h" +# include "lua/executor.c.generated.h" +#endif + +/// Name of the run code for use in messages +#define NLUA_EVAL_NAME "<VimL compiled string>" + +/// Call C function which does not expect any arguments +/// +/// @param function Called function +/// @param numret Number of returned arguments +#define NLUA_CALL_C_FUNCTION_0(lstate, function, numret) \ + do { \ + lua_pushcfunction(lstate, &function); \ + lua_call(lstate, 0, numret); \ + } while (0) +/// Call C function which expects one argument +/// +/// @param function Called function +/// @param numret Number of returned arguments +/// @param a… Supplied argument (should be a void* pointer) +#define NLUA_CALL_C_FUNCTION_1(lstate, function, numret, a1) \ + do { \ + lua_pushcfunction(lstate, &function); \ + lua_pushlightuserdata(lstate, a1); \ + lua_call(lstate, 1, numret); \ + } while (0) +/// Call C function which expects two arguments +/// +/// @param function Called function +/// @param numret Number of returned arguments +/// @param a… Supplied argument (should be a void* pointer) +#define NLUA_CALL_C_FUNCTION_2(lstate, function, numret, a1, a2) \ + do { \ + lua_pushcfunction(lstate, &function); \ + lua_pushlightuserdata(lstate, a1); \ + lua_pushlightuserdata(lstate, a2); \ + lua_call(lstate, 2, numret); \ + } while (0) +/// Call C function which expects three arguments +/// +/// @param function Called function +/// @param numret Number of returned arguments +/// @param a… Supplied argument (should be a void* pointer) +#define NLUA_CALL_C_FUNCTION_3(lstate, function, numret, a1, a2, a3) \ + do { \ + lua_pushcfunction(lstate, &function); \ + lua_pushlightuserdata(lstate, a1); \ + lua_pushlightuserdata(lstate, a2); \ + lua_pushlightuserdata(lstate, a3); \ + lua_call(lstate, 3, numret); \ + } while (0) +/// Call C function which expects five arguments +/// +/// @param function Called function +/// @param numret Number of returned arguments +/// @param a… Supplied argument (should be a void* pointer) +#define NLUA_CALL_C_FUNCTION_4(lstate, function, numret, a1, a2, a3, a4) \ + do { \ + lua_pushcfunction(lstate, &function); \ + lua_pushlightuserdata(lstate, a1); \ + lua_pushlightuserdata(lstate, a2); \ + lua_pushlightuserdata(lstate, a3); \ + lua_pushlightuserdata(lstate, a4); \ + lua_call(lstate, 4, numret); \ + } while (0) + +/// Convert lua error into a Vim error message +/// +/// @param lstate Lua interpreter state. +/// @param[in] msg Message base, must contain one `%s`. +static void nlua_error(lua_State *const lstate, const char *const msg) + FUNC_ATTR_NONNULL_ALL +{ + size_t len; + const char *const str = lua_tolstring(lstate, -1, &len); + + emsgf(msg, (int)len, str); + + lua_pop(lstate, 1); +} + +/// Compare two strings, ignoring case +/// +/// Expects two values on the stack: compared strings. Returns one of the +/// following numbers: 0, -1 or 1. +/// +/// Does no error handling: never call it with non-string or with some arguments +/// omitted. +static int nlua_stricmp(lua_State *const lstate) FUNC_ATTR_NONNULL_ALL +{ + const char *s1 = luaL_checklstring(lstate, 1, NULL); + const char *s2 = luaL_checklstring(lstate, 2, NULL); + const int ret = STRICMP(s1, s2); + lua_pop(lstate, 2); + lua_pushnumber(lstate, (lua_Number)((ret > 0) - (ret < 0))); + return 1; +} + +/// Evaluate lua string +/// +/// Expects two values on the stack: string to evaluate, pointer to the +/// location where result is saved. Always returns nothing (from the lua point +/// of view). +static int nlua_exec_lua_string(lua_State *const lstate) FUNC_ATTR_NONNULL_ALL +{ + const String *const str = (const String *)lua_touserdata(lstate, 1); + typval_T *const ret_tv = (typval_T *)lua_touserdata(lstate, 2); + lua_pop(lstate, 2); + + if (luaL_loadbuffer(lstate, str->data, str->size, NLUA_EVAL_NAME)) { + nlua_error(lstate, _("E5104: Error while creating lua chunk: %.*s")); + return 0; + } + if (lua_pcall(lstate, 0, 1, 0)) { + nlua_error(lstate, _("E5105: Error while calling lua chunk: %.*s")); + return 0; + } + if (!nlua_pop_typval(lstate, ret_tv)) { + return 0; + } + return 0; +} + +/// Evaluate lua string for each line in range +/// +/// Expects two values on the stack: string to evaluate and pointer to integer +/// array with line range. Always returns nothing (from the lua point of view). +static int nlua_exec_luado_string(lua_State *const lstate) FUNC_ATTR_NONNULL_ALL +{ + const String *const str = (const String *)lua_touserdata(lstate, 1); + const linenr_T *const range = (const linenr_T *)lua_touserdata(lstate, 2); + lua_pop(lstate, 2); + +#define DOSTART "return function(line, linenr) " +#define DOEND " end" + const size_t lcmd_len = (str->size + + (sizeof(DOSTART) - 1) + + (sizeof(DOEND) - 1)); + char *lcmd; + if (lcmd_len < IOSIZE) { + lcmd = (char *)IObuff; + } else { + lcmd = xmalloc(lcmd_len + 1); + } + memcpy(lcmd, DOSTART, sizeof(DOSTART) - 1); + memcpy(lcmd + sizeof(DOSTART) - 1, str->data, str->size); + memcpy(lcmd + sizeof(DOSTART) - 1 + str->size, DOEND, sizeof(DOEND) - 1); +#undef DOSTART +#undef DOEND + + if (luaL_loadbuffer(lstate, lcmd, lcmd_len, NLUA_EVAL_NAME)) { + nlua_error(lstate, _("E5109: Error while creating lua chunk: %.*s")); + if (lcmd_len >= IOSIZE) { + xfree(lcmd); + } + return 0; + } + if (lcmd_len >= IOSIZE) { + xfree(lcmd); + } + if (lua_pcall(lstate, 0, 1, 0)) { + nlua_error(lstate, _("E5110: Error while creating lua function: %.*s")); + return 0; + } + for (linenr_T l = range[0]; l <= range[1]; l++) { + if (l > curbuf->b_ml.ml_line_count) { + break; + } + lua_pushvalue(lstate, -1); + lua_pushstring(lstate, (const char *)ml_get_buf(curbuf, l, false)); + lua_pushnumber(lstate, (lua_Number)l); + if (lua_pcall(lstate, 2, 1, 0)) { + nlua_error(lstate, _("E5111: Error while calling lua function: %.*s")); + break; + } + if (lua_isstring(lstate, -1)) { + size_t new_line_len; + const char *const new_line = lua_tolstring(lstate, -1, &new_line_len); + char *const new_line_transformed = xmemdupz(new_line, new_line_len); + for (size_t i = 0; i < new_line_len; i++) { + if (new_line_transformed[i] == NUL) { + new_line_transformed[i] = '\n'; + } + } + ml_replace(l, (char_u *)new_line_transformed, false); + changed_bytes(l, 0); + } + lua_pop(lstate, 1); + } + lua_pop(lstate, 1); + check_cursor(); + update_screen(NOT_VALID); + return 0; +} + +/// Evaluate lua file +/// +/// Expects one value on the stack: file to evaluate. Always returns nothing +/// (from the lua point of view). +static int nlua_exec_lua_file(lua_State *const lstate) FUNC_ATTR_NONNULL_ALL +{ + const char *const filename = (const char *)lua_touserdata(lstate, 1); + lua_pop(lstate, 1); + + if (luaL_loadfile(lstate, filename)) { + nlua_error(lstate, _("E5112: Error while creating lua chunk: %.*s")); + return 0; + } + if (lua_pcall(lstate, 0, 0, 0)) { + nlua_error(lstate, _("E5113: Error while calling lua chunk: %.*s")); + return 0; + } + return 0; +} + +/// Initialize lua interpreter state +/// +/// Called by lua interpreter itself to initialize state. +static int nlua_state_init(lua_State *const lstate) FUNC_ATTR_NONNULL_ALL +{ + // stricmp + lua_pushcfunction(lstate, &nlua_stricmp); + lua_setglobal(lstate, "stricmp"); + + // print + lua_pushcfunction(lstate, &nlua_print); + lua_setglobal(lstate, "print"); + + // debug.debug + lua_getglobal(lstate, "debug"); + lua_pushcfunction(lstate, &nlua_debug); + lua_setfield(lstate, -2, "debug"); + lua_pop(lstate, 1); + + // vim + if (luaL_dostring(lstate, (char *)&vim_module[0])) { + nlua_error(lstate, _("E5106: Error while creating vim module: %.*s")); + return 1; + } + // vim.api + nlua_add_api_functions(lstate); + // vim.types, vim.type_idx, vim.val_idx + nlua_init_types(lstate); + lua_setglobal(lstate, "vim"); + return 0; +} + +/// Initialize lua interpreter +/// +/// Crashes NeoVim if initialization fails. Should be called once per lua +/// interpreter instance. +/// +/// @return New lua interpreter instance. +static lua_State *nlua_init(void) + FUNC_ATTR_NONNULL_RET FUNC_ATTR_WARN_UNUSED_RESULT +{ + lua_State *lstate = luaL_newstate(); + if (lstate == NULL) { + EMSG(_("E970: Failed to initialize lua interpreter")); + preserve_exit(); + } + luaL_openlibs(lstate); + NLUA_CALL_C_FUNCTION_0(lstate, nlua_state_init, 0); + return lstate; +} + +/// Enter lua interpreter +/// +/// Calls nlua_init() if needed. Is responsible for pre-lua call initalization +/// like updating `package.[c]path` with directories derived from &runtimepath. +/// +/// @return Interprter instance to use. Will either be initialized now or taken +/// from previous initalization. +static lua_State *nlua_enter(void) + FUNC_ATTR_NONNULL_RET FUNC_ATTR_WARN_UNUSED_RESULT +{ + static lua_State *global_lstate = NULL; + if (global_lstate == NULL) { + global_lstate = nlua_init(); + } + lua_State *const lstate = global_lstate; + // Last used p_rtp value. Must not be dereferenced because value pointed to + // may already be freed. Used to check whether &runtimepath option value + // changed. + static const void *last_p_rtp = NULL; + if (last_p_rtp != (const void *)p_rtp) { + // stack: (empty) + lua_getglobal(lstate, "vim"); + // stack: vim + lua_getfield(lstate, -1, "_update_package_paths"); + // stack: vim, vim._update_package_paths + if (lua_pcall(lstate, 0, 0, 0)) { + // stack: vim, error + nlua_error(lstate, _("E5117: Error while updating package paths: %.*s")); + // stack: vim + } + // stack: vim + lua_pop(lstate, 1); + // stack: (empty) + last_p_rtp = (const void *)p_rtp; + } + return lstate; +} + +/// Execute lua string +/// +/// @param[in] str String to execute. +/// @param[out] ret_tv Location where result will be saved. +/// +/// @return Result of the execution. +void executor_exec_lua(const String str, typval_T *const ret_tv) + FUNC_ATTR_NONNULL_ALL +{ + NLUA_CALL_C_FUNCTION_2(nlua_enter(), nlua_exec_lua_string, 0, + (void *)&str, ret_tv); +} + +/// Evaluate lua string +/// +/// Used for luaeval(). Expects three values on the stack: +/// +/// 1. String to evaluate. +/// 2. _A value. +/// 3. Pointer to location where result is saved. +/// +/// @param[in,out] lstate Lua interpreter state. +static int nlua_eval_lua_string(lua_State *const lstate) + FUNC_ATTR_NONNULL_ALL +{ + const String *const str = (const String *)lua_touserdata(lstate, 1); + typval_T *const arg = (typval_T *)lua_touserdata(lstate, 2); + typval_T *const ret_tv = (typval_T *)lua_touserdata(lstate, 3); + lua_pop(lstate, 3); + + garray_T str_ga; + ga_init(&str_ga, 1, 80); +#define EVALHEADER "local _A=select(1,...) return (" + const size_t lcmd_len = sizeof(EVALHEADER) - 1 + str->size + 1; + char *lcmd; + if (lcmd_len < IOSIZE) { + lcmd = (char *)IObuff; + } else { + lcmd = xmalloc(lcmd_len); + } + memcpy(lcmd, EVALHEADER, sizeof(EVALHEADER) - 1); + memcpy(lcmd + sizeof(EVALHEADER) - 1, str->data, str->size); + lcmd[lcmd_len - 1] = ')'; +#undef EVALHEADER + if (luaL_loadbuffer(lstate, lcmd, lcmd_len, NLUA_EVAL_NAME)) { + nlua_error(lstate, + _("E5107: Error while creating lua chunk for luaeval(): %.*s")); + if (lcmd != (char *)IObuff) { + xfree(lcmd); + } + return 0; + } + if (lcmd != (char *)IObuff) { + xfree(lcmd); + } + + if (arg == NULL || arg->v_type == VAR_UNKNOWN) { + lua_pushnil(lstate); + } else { + nlua_push_typval(lstate, arg); + } + if (lua_pcall(lstate, 1, 1, 0)) { + nlua_error(lstate, + _("E5108: Error while calling lua chunk for luaeval(): %.*s")); + return 0; + } + if (!nlua_pop_typval(lstate, ret_tv)) { + return 0; + } + + return 0; +} + +/// Evaluate lua string +/// +/// Expects four values on the stack: string to evaluate, pointer to args array, +/// and locations where result and error are saved, respectively. Always +/// returns nothing (from the lua point of view). +static int nlua_exec_lua_string_api(lua_State *const lstate) + FUNC_ATTR_NONNULL_ALL +{ + const String *str = (const String *)lua_touserdata(lstate, 1); + const Array *args = (const Array *)lua_touserdata(lstate, 2); + Object *retval = (Object *)lua_touserdata(lstate, 3); + Error *err = (Error *)lua_touserdata(lstate, 4); + + lua_pop(lstate, 4); + + if (luaL_loadbuffer(lstate, str->data, str->size, "<nvim>")) { + size_t len; + const char *str = lua_tolstring(lstate, -1, &len); + api_set_error(err, kErrorTypeValidation, + "Error loading lua: %.*s", (int)len, str); + return 0; + } + + for (size_t i = 0; i < args->size; i++) { + nlua_push_Object(lstate, args->items[i]); + } + + if (lua_pcall(lstate, (int)args->size, 1, 0)) { + size_t len; + const char *str = lua_tolstring(lstate, -1, &len); + api_set_error(err, kErrorTypeException, + "Error executing lua: %.*s", (int)len, str); + return 0; + } + + *retval = nlua_pop_Object(lstate, err); + + return 0; +} + +/// Print as a Vim message +/// +/// @param lstate Lua interpreter state. +static int nlua_print(lua_State *const lstate) + FUNC_ATTR_NONNULL_ALL +{ +#define PRINT_ERROR(msg) \ + do { \ + errmsg = msg; \ + errmsg_len = sizeof(msg) - 1; \ + goto nlua_print_error; \ + } while (0) + const int nargs = lua_gettop(lstate); + lua_getglobal(lstate, "tostring"); + const char *errmsg = NULL; + size_t errmsg_len = 0; + garray_T msg_ga; + ga_init(&msg_ga, 1, 80); + int curargidx = 1; + for (; curargidx <= nargs; curargidx++) { + lua_pushvalue(lstate, -1); // tostring + lua_pushvalue(lstate, curargidx); // arg + if (lua_pcall(lstate, 1, 1, 0)) { + errmsg = lua_tolstring(lstate, -1, &errmsg_len); + goto nlua_print_error; + } + size_t len; + const char *const s = lua_tolstring(lstate, -1, &len); + if (s == NULL) { + PRINT_ERROR( + "<Unknown error: lua_tolstring returned NULL for tostring result>"); + } + ga_concat_len(&msg_ga, s, len); + if (curargidx < nargs) { + ga_append(&msg_ga, ' '); + } + lua_pop(lstate, 1); + } +#undef PRINT_ERROR + lua_pop(lstate, nargs + 1); + ga_append(&msg_ga, NUL); + { + const size_t len = (size_t)msg_ga.ga_len - 1; + char *const str = (char *)msg_ga.ga_data; + + for (size_t i = 0; i < len;) { + const size_t start = i; + while (i < len) { + switch (str[i]) { + case NUL: { + str[i] = NL; + i++; + continue; + } + case NL: { + str[i] = NUL; + i++; + break; + } + default: { + i++; + continue; + } + } + break; + } + msg((char_u *)str + start); + } + if (str[len - 1] == NUL) { // Last was newline + msg((char_u *)""); + } + } + ga_clear(&msg_ga); + return 0; +nlua_print_error: + emsgf(_("E5114: Error while converting print argument #%i: %.*s"), + curargidx, errmsg_len, errmsg); + ga_clear(&msg_ga); + lua_pop(lstate, lua_gettop(lstate)); + return 0; +} + +/// debug.debug implementation: interaction with user while debugging +/// +/// @param lstate Lua interpreter state. +int nlua_debug(lua_State *lstate) + FUNC_ATTR_NONNULL_ALL +{ + const typval_T input_args[] = { + { + .v_lock = VAR_FIXED, + .v_type = VAR_STRING, + .vval.v_string = (char_u *)"lua_debug> ", + }, + { + .v_type = VAR_UNKNOWN, + }, + }; + for (;;) { + lua_settop(lstate, 0); + typval_T input; + get_user_input(input_args, &input, false); + msg_putchar('\n'); // Avoid outputting on input line. + if (input.v_type != VAR_STRING + || input.vval.v_string == NULL + || *input.vval.v_string == NUL + || STRCMP(input.vval.v_string, "cont") == 0) { + tv_clear(&input); + return 0; + } + if (luaL_loadbuffer(lstate, (const char *)input.vval.v_string, + STRLEN(input.vval.v_string), "=(debug command)")) { + nlua_error(lstate, _("E5115: Error while loading debug string: %.*s")); + } + tv_clear(&input); + if (lua_pcall(lstate, 0, 0, 0)) { + nlua_error(lstate, _("E5116: Error while calling debug string: %.*s")); + } + } + return 0; +} + +/// Evaluate lua string +/// +/// Used for luaeval(). +/// +/// @param[in] str String to execute. +/// @param[in] arg Second argument to `luaeval()`. +/// @param[out] ret_tv Location where result will be saved. +/// +/// @return Result of the execution. +void executor_eval_lua(const String str, typval_T *const arg, + typval_T *const ret_tv) + FUNC_ATTR_NONNULL_ALL +{ + NLUA_CALL_C_FUNCTION_3(nlua_enter(), nlua_eval_lua_string, 0, + (void *)&str, arg, ret_tv); +} + +/// Execute lua string +/// +/// Used for nvim_execute_lua(). +/// +/// @param[in] str String to execute. +/// @param[in] args array of ... args +/// @param[out] err Location where error will be saved. +/// +/// @return Return value of the execution. +Object executor_exec_lua_api(const String str, const Array args, Error *err) +{ + Object retval = NIL; + NLUA_CALL_C_FUNCTION_4(nlua_enter(), nlua_exec_lua_string_api, 0, + (void *)&str, (void *)&args, &retval, err); + return retval; +} + + +/// Run lua string +/// +/// Used for :lua. +/// +/// @param eap VimL command being run. +void ex_lua(exarg_T *const eap) + FUNC_ATTR_NONNULL_ALL +{ + size_t len; + char *const code = script_get(eap, &len); + if (eap->skip) { + xfree(code); + return; + } + typval_T tv = { .v_type = VAR_UNKNOWN }; + executor_exec_lua((String) { .data = code, .size = len }, &tv); + tv_clear(&tv); + xfree(code); +} + +/// Run lua string for each line in range +/// +/// Used for :luado. +/// +/// @param eap VimL command being run. +void ex_luado(exarg_T *const eap) + FUNC_ATTR_NONNULL_ALL +{ + if (u_save(eap->line1 - 1, eap->line2 + 1) == FAIL) { + EMSG(_("cannot save undo information")); + return; + } + const String cmd = { + .size = STRLEN(eap->arg), + .data = (char *)eap->arg, + }; + const linenr_T range[] = { eap->line1, eap->line2 }; + NLUA_CALL_C_FUNCTION_2(nlua_enter(), nlua_exec_luado_string, 0, + (void *)&cmd, (void *)range); +} + +/// Run lua file +/// +/// Used for :luafile. +/// +/// @param eap VimL command being run. +void ex_luafile(exarg_T *const eap) + FUNC_ATTR_NONNULL_ALL +{ + NLUA_CALL_C_FUNCTION_1(nlua_enter(), nlua_exec_lua_file, 0, + (void *)eap->arg); +} diff --git a/src/nvim/lua/executor.h b/src/nvim/lua/executor.h new file mode 100644 index 0000000000..0cbf290f64 --- /dev/null +++ b/src/nvim/lua/executor.h @@ -0,0 +1,25 @@ +#ifndef NVIM_LUA_EXECUTOR_H +#define NVIM_LUA_EXECUTOR_H + +#include <lua.h> + +#include "nvim/api/private/defs.h" +#include "nvim/func_attr.h" +#include "nvim/eval/typval.h" +#include "nvim/ex_cmds_defs.h" + +// Generated by msgpack-gen.lua +void nlua_add_api_functions(lua_State *lstate) REAL_FATTR_NONNULL_ALL; + +#define set_api_error(s, err) \ + do { \ + Error *err_ = (err); \ + err_->type = kErrorTypeException; \ + err_->set = true; \ + memcpy(&err_->msg[0], s, sizeof(s)); \ + } while (0) + +#ifdef INCLUDE_GENERATED_DECLARATIONS +# include "lua/executor.h.generated.h" +#endif +#endif // NVIM_LUA_EXECUTOR_H diff --git a/src/nvim/lua/vim.lua b/src/nvim/lua/vim.lua new file mode 100644 index 0000000000..c7952520b0 --- /dev/null +++ b/src/nvim/lua/vim.lua @@ -0,0 +1,64 @@ +-- TODO(ZyX-I): Create compatibility layer. +--{{{1 package.path updater function +-- Last inserted paths. Used to clear out items from package.[c]path when they +-- are no longer in &runtimepath. +local last_nvim_paths = {} +local function _update_package_paths() + local cur_nvim_paths = {} + local rtps = vim.api.nvim_list_runtime_paths() + local sep = package.config:sub(1, 1) + for _, key in ipairs({'path', 'cpath'}) do + local orig_str = package[key] .. ';' + local pathtrails_ordered = {} + local orig = {} + -- Note: ignores trailing item without trailing `;`. Not using something + -- simpler in order to preserve empty items (stand for default path). + for s in orig_str:gmatch('[^;]*;') do + s = s:sub(1, -2) -- Strip trailing semicolon + orig[#orig + 1] = s + end + if key == 'path' then + -- /?.lua and /?/init.lua + pathtrails_ordered = {sep .. '?.lua', sep .. '?' .. sep .. 'init.lua'} + else + local pathtrails = {} + for _, s in ipairs(orig) do + -- Find out path patterns. pathtrail should contain something like + -- /?.so, \?.dll. This allows not to bother determining what correct + -- suffixes are. + local pathtrail = s:match('[/\\][^/\\]*%?.*$') + if pathtrail and not pathtrails[pathtrail] then + pathtrails[pathtrail] = true + pathtrails_ordered[#pathtrails_ordered + 1] = pathtrail + end + end + end + local new = {} + for _, rtp in ipairs(rtps) do + if not rtp:match(';') then + for _, pathtrail in pairs(pathtrails_ordered) do + local new_path = rtp .. sep .. 'lua' .. pathtrail + -- Always keep paths from &runtimepath at the start: + -- append them here disregarding orig possibly containing one of them. + new[#new + 1] = new_path + cur_nvim_paths[new_path] = true + end + end + end + for _, orig_path in ipairs(orig) do + -- Handle removing obsolete paths originating from &runtimepath: such + -- paths either belong to cur_nvim_paths and were already added above or + -- to last_nvim_paths and should not be added at all if corresponding + -- entry was removed from &runtimepath list. + if not (cur_nvim_paths[orig_path] or last_nvim_paths[orig_path]) then + new[#new + 1] = orig_path + end + end + package[key] = table.concat(new, ';') + end + last_nvim_paths = cur_nvim_paths +end +--{{{1 Module definition +return { + _update_package_paths = _update_package_paths, +} diff --git a/src/nvim/macros.h b/src/nvim/macros.h index 214af82422..26d4f74b6a 100644 --- a/src/nvim/macros.h +++ b/src/nvim/macros.h @@ -153,4 +153,34 @@ #define STR_(x) #x #define STR(x) STR_(x) +#ifndef __has_attribute +# define NVIM_HAS_ATTRIBUTE(x) 0 +#elif defined(__clang__) && __clang__ == 1 \ + && (__clang_major__ < 3 || (__clang_major__ == 3 && __clang_minor__ <= 5)) +// Starting in Clang 3.6, __has_attribute was fixed to only report true for +// GNU-style attributes. Prior to that, it reported true if _any_ backend +// supported the attribute. +# define NVIM_HAS_ATTRIBUTE(x) 0 +#else +# define NVIM_HAS_ATTRIBUTE __has_attribute +#endif + +#if NVIM_HAS_ATTRIBUTE(fallthrough) +# define FALLTHROUGH __attribute__((fallthrough)) +#else +# define FALLTHROUGH +#endif + +// -V:STRUCT_CAST:641 + +/// Change type of structure pointers: cast `struct a *` to `struct b *` +/// +/// Used to silence PVS errors. +/// +/// @param Type Structure to cast to. +/// @param obj Object to cast. +/// +/// @return ((Type *)obj). +#define STRUCT_CAST(Type, obj) ((Type *)(obj)) + #endif // NVIM_MACROS_H diff --git a/src/nvim/main.c b/src/nvim/main.c index 1095d4d3b5..19a661d7db 100644 --- a/src/nvim/main.c +++ b/src/nvim/main.c @@ -124,7 +124,7 @@ typedef struct { Loop main_loop; -static char *argv0; +static char *argv0 = NULL; // Error messages static const char *err_arg_missing = N_("Argument missing after"); @@ -153,10 +153,11 @@ void event_init(void) terminal_init(); } -void event_teardown(void) +/// @returns false if main_loop could not be closed gracefully +bool event_teardown(void) { if (!main_loop.events) { - return; + return true; } multiqueue_process_events(main_loop.events); @@ -168,7 +169,7 @@ void event_teardown(void) signal_teardown(); terminal_teardown(); - loop_close(&main_loop, true); + return loop_close(&main_loop, true); } /// Performs early initialization. @@ -179,11 +180,9 @@ void early_init(void) log_init(); fs_init(); handle_init(); - eval_init(); // init global variables - - // Init the table of Normal mode commands. - init_normal_cmds(); + init_path(argv0 ? argv0 : "nvim"); + init_normal_cmds(); // Init the table of Normal mode commands. #if defined(HAVE_LOCALE_H) // Setup to use the current locale (for ctype() and many other things). @@ -221,7 +220,7 @@ int nvim_main(int argc, char **argv) int main(int argc, char **argv) #endif { - argv0 = (char *)path_tail((char_u *)argv[0]); + argv0 = argv[0]; char_u *fname = NULL; // file name from command line mparm_T params; // various parameters passed between @@ -241,8 +240,6 @@ int main(int argc, char **argv) // Check if we have an interactive window. check_and_set_isatty(¶ms); - init_path(argv[0]); - event_init(); /* * Process the command line arguments. File names are put in the global @@ -660,8 +657,9 @@ void getout(int exitval) /// /// @return argument's numeric value otherwise static int get_number_arg(const char *p, int *idx, int def) + FUNC_ATTR_NONNULL_ALL FUNC_ATTR_WARN_UNUSED_RESULT { - if (ascii_isdigit(p[*idx])) { + if (ascii_isdigit(p[*idx])) { // -V522 def = atoi(&(p[*idx])); while (ascii_isdigit(p[*idx])) { *idx = *idx + 1; @@ -1217,13 +1215,15 @@ static void check_and_set_isatty(mparm_T *paramp) } // Sets v:progname and v:progpath. Also modifies $PATH on Windows. -static void init_path(char *exename) +static void init_path(const char *exename) + FUNC_ATTR_NONNULL_ALL { char exepath[MAXPATHL] = { 0 }; size_t exepathlen = MAXPATHL; // Make v:progpath absolute. if (os_exepath(exepath, &exepathlen) != 0) { - EMSG2(e_intern2, "init_path()"); + // Fall back to argv[0]. Missing procfs? #6734 + path_guess_exepath(exename, exepath, sizeof(exepath)); } set_vim_var_string(VV_PROGPATH, exepath, -1); set_vim_var_string(VV_PROGNAME, (char *)path_tail((char_u *)exename), -1); @@ -1303,8 +1303,8 @@ static void handle_quickfix(mparm_T *paramp) set_string_option_direct((char_u *)"ef", -1, paramp->use_ef, OPT_FREE, SID_CARG); vim_snprintf((char *)IObuff, IOSIZE, "cfile %s", p_ef); - if (qf_init(NULL, p_ef, p_efm, TRUE, IObuff) < 0) { - ui_putc('\n'); + if (qf_init(NULL, p_ef, p_efm, true, IObuff) < 0) { + ui_linefeed(); mch_exit(3); } TIME_MSG("reading errorfile"); @@ -1684,7 +1684,7 @@ static bool do_user_initialization(void) do { const char *dir; size_t dir_len; - iter = vim_colon_env_iter(config_dirs, iter, &dir, &dir_len); + iter = vim_env_iter(':', config_dirs, iter, &dir, &dir_len); if (dir == NULL || dir_len == 0) { break; } @@ -1833,9 +1833,11 @@ static bool file_owned(const char *fname) /// @param str string to append to the primary error message, or NULL static void mainerr(const char *errstr, const char *str) { + char *prgname = (char *)path_tail((char_u *)argv0); + signal_stop(); // kill us with CTRL-C here, if you like - mch_errmsg(argv0); + mch_errmsg(prgname); mch_errmsg(": "); mch_errmsg(_(errstr)); if (str != NULL) { @@ -1844,7 +1846,7 @@ static void mainerr(const char *errstr, const char *str) mch_errmsg("\""); } mch_errmsg(_("\nMore info with \"")); - mch_errmsg(argv0); + mch_errmsg(prgname); mch_errmsg(" -h\"\n"); mch_exit(1); diff --git a/src/nvim/map.c b/src/nvim/map.c index 366b286d14..537b6751e2 100644 --- a/src/nvim/map.c +++ b/src/nvim/map.c @@ -149,4 +149,3 @@ MAP_IMPL(handle_T, ptr_t, DEFAULT_INITIALIZER) #define MSGPACK_HANDLER_INITIALIZER { .fn = NULL, .async = false } MAP_IMPL(String, MsgpackRpcRequestHandler, MSGPACK_HANDLER_INITIALIZER) #define KVEC_INITIALIZER { .size = 0, .capacity = 0, .items = NULL } -MAP_IMPL(linenr_T, bufhl_vec_T, KVEC_INITIALIZER) diff --git a/src/nvim/map.h b/src/nvim/map.h index a4fccf47f9..047aa163ce 100644 --- a/src/nvim/map.h +++ b/src/nvim/map.h @@ -30,7 +30,6 @@ MAP_DECLS(ptr_t, ptr_t) MAP_DECLS(uint64_t, ptr_t) MAP_DECLS(handle_T, ptr_t) MAP_DECLS(String, MsgpackRpcRequestHandler) -MAP_DECLS(linenr_T, bufhl_vec_T) #define map_new(T, U) map_##T##_##U##_new #define map_free(T, U) map_##T##_##U##_free diff --git a/src/nvim/mark.c b/src/nvim/mark.c index 675fe4d57f..7889fabd45 100644 --- a/src/nvim/mark.c +++ b/src/nvim/mark.c @@ -888,9 +888,13 @@ void ex_changes(exarg_T *eap) * Example: Insert two lines below 55: mark_adjust(56, MAXLNUM, 2, 0); * or: mark_adjust(56, 55, MAXLNUM, 2); */ -void mark_adjust(linenr_T line1, linenr_T line2, long amount, long amount_after) +void mark_adjust(linenr_T line1, + linenr_T line2, + long amount, + long amount_after, + bool end_temp) { - mark_adjust_internal(line1, line2, amount, amount_after, true); + mark_adjust_internal(line1, line2, amount, amount_after, true, end_temp); } // mark_adjust_nofold() does the same as mark_adjust() but without adjusting @@ -899,13 +903,14 @@ void mark_adjust(linenr_T line1, linenr_T line2, long amount, long amount_after) // calling foldMarkAdjust() with arguments line1, line2, amount, amount_after, // for an example of why this may be necessary, see do_move(). void mark_adjust_nofold(linenr_T line1, linenr_T line2, long amount, - long amount_after) + long amount_after, bool end_temp) { - mark_adjust_internal(line1, line2, amount, amount_after, false); + mark_adjust_internal(line1, line2, amount, amount_after, false, end_temp); } -static void mark_adjust_internal(linenr_T line1, linenr_T line2, long amount, - long amount_after, bool adjust_folds) +static void mark_adjust_internal(linenr_T line1, linenr_T line2, + long amount, long amount_after, + bool adjust_folds, bool end_temp) { int i; int fnum = curbuf->b_fnum; @@ -954,7 +959,7 @@ static void mark_adjust_internal(linenr_T line1, linenr_T line2, long amount, } sign_mark_adjust(line1, line2, amount, amount_after); - bufhl_mark_adjust(curbuf, line1, line2, amount, amount_after); + bufhl_mark_adjust(curbuf, line1, line2, amount, amount_after, end_temp); } /* previous context mark */ diff --git a/src/nvim/mark.h b/src/nvim/mark.h index a356c1f398..ed4e47907b 100644 --- a/src/nvim/mark.h +++ b/src/nvim/mark.h @@ -81,7 +81,8 @@ static inline bool equalpos(pos_T, pos_T) REAL_FATTR_CONST REAL_FATTR_ALWAYS_INLINE; static inline bool ltoreq(pos_T, pos_T) REAL_FATTR_CONST REAL_FATTR_ALWAYS_INLINE; -static inline void clearpos(pos_T *) REAL_FATTR_ALWAYS_INLINE; +static inline void clearpos(pos_T *) + REAL_FATTR_ALWAYS_INLINE; /// Return true if position a is before (less than) position b. static inline bool lt(pos_T a, pos_T b) diff --git a/src/nvim/mbyte.c b/src/nvim/mbyte.c index b21ec944c1..d5907da2ed 100644 --- a/src/nvim/mbyte.c +++ b/src/nvim/mbyte.c @@ -359,10 +359,10 @@ int bomb_size(void) */ void remove_bom(char_u *s) { - char_u *p = s; + char *p = (char *)s; - while ((p = vim_strbyte(p, 0xef)) != NULL) { - if (p[1] == 0xbb && p[2] == 0xbf) { + while ((p = strchr(p, 0xef)) != NULL) { + if ((uint8_t)p[1] == 0xbb && (uint8_t)p[2] == 0xbf) { STRMOVE(p, p + 3); } else { p++; @@ -1367,7 +1367,7 @@ int utf16_to_utf8(const WCHAR *strw, char **str) return GetLastError(); } - *str = xmalloc(utf8_len); + *str = xmallocz(utf8_len); // Convert to UTF-8. utf8_len = WideCharToMultiByte(CP_UTF8, diff --git a/src/nvim/memfile.c b/src/nvim/memfile.c index efaf1f94c5..9429703620 100644 --- a/src/nvim/memfile.c +++ b/src/nvim/memfile.c @@ -54,6 +54,7 @@ #include "nvim/memory.h" #include "nvim/os_unix.h" #include "nvim/path.h" +#include "nvim/assert.h" #include "nvim/os/os.h" #include "nvim/os/input.h" @@ -108,23 +109,24 @@ memfile_T *mf_open(char_u *fname, int flags) if (mfp->mf_fd >= 0 && os_fileinfo_fd(mfp->mf_fd, &file_info)) { uint64_t blocksize = os_fileinfo_blocksize(&file_info); if (blocksize >= MIN_SWAP_PAGE_SIZE && blocksize <= MAX_SWAP_PAGE_SIZE) { - assert(blocksize <= UINT_MAX); + STATIC_ASSERT(MAX_SWAP_PAGE_SIZE <= UINT_MAX, + "MAX_SWAP_PAGE_SIZE must fit into an unsigned"); mfp->mf_page_size = (unsigned)blocksize; } } - off_t size; + off_T size; // When recovering, the actual block size will be retrieved from block 0 // in ml_recover(). The size used here may be wrong, therefore mf_blocknr_max // must be rounded up. if (mfp->mf_fd < 0 || (flags & (O_TRUNC|O_EXCL)) - || (size = lseek(mfp->mf_fd, (off_t)0L, SEEK_END)) <= 0) { + || (size = vim_lseek(mfp->mf_fd, 0L, SEEK_END)) <= 0) { // no file or empty file mfp->mf_blocknr_max = 0; } else { - assert(sizeof(off_t) <= sizeof(blocknr_T) + assert(sizeof(off_T) <= sizeof(blocknr_T) && mfp->mf_page_size > 0 && mfp->mf_page_size - 1 <= INT64_MAX - size); mfp->mf_blocknr_max = (((blocknr_T)size + mfp->mf_page_size - 1) @@ -687,9 +689,9 @@ static int mf_read(memfile_T *mfp, bhdr_T *hp) return FAIL; unsigned page_size = mfp->mf_page_size; - // TODO(elmart): Check (page_size * hp->bh_bnum) within off_t bounds. - off_t offset = (off_t)(page_size * hp->bh_bnum); - if (lseek(mfp->mf_fd, offset, SEEK_SET) != offset) { + // TODO(elmart): Check (page_size * hp->bh_bnum) within off_T bounds. + off_T offset = (off_T)(page_size * hp->bh_bnum); + if (vim_lseek(mfp->mf_fd, offset, SEEK_SET) != offset) { PERROR(_("E294: Seek error in swap file read")); return FAIL; } @@ -714,7 +716,7 @@ static int mf_read(memfile_T *mfp, bhdr_T *hp) /// - Write error in swap file. static int mf_write(memfile_T *mfp, bhdr_T *hp) { - off_t offset; // offset in the file + off_T offset; // offset in the file blocknr_T nr; // block nr which is being written bhdr_T *hp2; unsigned page_size; // number of bytes in a page @@ -743,9 +745,9 @@ static int mf_write(memfile_T *mfp, bhdr_T *hp) hp2 = hp; } - // TODO(elmart): Check (page_size * nr) within off_t bounds. - offset = (off_t)(page_size * nr); - if (lseek(mfp->mf_fd, offset, SEEK_SET) != offset) { + // TODO(elmart): Check (page_size * nr) within off_T bounds. + offset = (off_T)(page_size * nr); + if (vim_lseek(mfp->mf_fd, offset, SEEK_SET) != offset) { PERROR(_("E296: Seek error in swap file write")); return FAIL; } diff --git a/src/nvim/memline.c b/src/nvim/memline.c index 40a6761225..55e7e01825 100644 --- a/src/nvim/memline.c +++ b/src/nvim/memline.c @@ -763,7 +763,7 @@ void ml_recover(void) int idx; int top; int txt_start; - off_t size; + off_T size; int called_from_main; int serious_error = TRUE; long mtime; @@ -914,10 +914,11 @@ void ml_recover(void) msg_end(); goto theend; } - if ((size = lseek(mfp->mf_fd, (off_t)0L, SEEK_END)) <= 0) - mfp->mf_blocknr_max = 0; /* no file or empty file */ - else + if ((size = vim_lseek(mfp->mf_fd, (off_T)0L, SEEK_END)) <= 0) { + mfp->mf_blocknr_max = 0; // no file or empty file + } else { mfp->mf_blocknr_max = size / mfp->mf_page_size; + } mfp->mf_infile_count = mfp->mf_blocknr_max; /* need to reallocate the memory used to store the data */ diff --git a/src/nvim/memory.c b/src/nvim/memory.c index 0ee4776581..74c58fb203 100644 --- a/src/nvim/memory.c +++ b/src/nvim/memory.c @@ -345,10 +345,6 @@ char *xstpcpy(char *restrict dst, const char *restrict src) /// WARNING: xstpncpy will ALWAYS write maxlen bytes. If src is shorter than /// maxlen, zeroes will be written to the remaining bytes. /// -/// TODO(aktau): I don't see a good reason to have this last behaviour, and -/// it is potentially wasteful. Could we perhaps deviate from the standard -/// and not zero the rest of the buffer? -/// /// @param dst /// @param src /// @param maxlen diff --git a/src/nvim/menu.c b/src/nvim/menu.c index 4e621b49c1..7e9e9e9e5c 100644 --- a/src/nvim/menu.c +++ b/src/nvim/menu.c @@ -247,7 +247,7 @@ ex_menu ( xfree(map_buf); } - ui_update_menu(); + ui_call_update_menu(); theend: ; diff --git a/src/nvim/message.c b/src/nvim/message.c index 146937c25a..057ce75f79 100644 --- a/src/nvim/message.c +++ b/src/nvim/message.c @@ -31,6 +31,7 @@ #include "nvim/ops.h" #include "nvim/option.h" #include "nvim/normal.h" +#include "nvim/regexp.h" #include "nvim/screen.h" #include "nvim/strings.h" #include "nvim/ui.h" @@ -148,6 +149,12 @@ msg_attr_keep ( int retval; char_u *buf = NULL; + // Skip messages not match ":filter pattern". + // Don't filter when there is an error. + if (!emsg_on_display && message_filtered(s)) { + return true; + } + if (attr == 0) { set_vim_var_string(VV_STATUSMSG, (char *) s, -1); } @@ -604,7 +611,7 @@ void msg_schedule_emsgf(const char *const fmt, ...) va_end(ap); char *s = xstrdup((char *)IObuff); - loop_schedule(&main_loop, event_create(1, msg_emsgf_event, 1, s)); + loop_schedule(&main_loop, event_create(msg_emsgf_event, 1, s)); } /* @@ -1783,6 +1790,18 @@ static void msg_puts_display(const char_u *str, int maxlen, int attr, msg_check(); } +/// Return true when ":filter pattern" was used and "msg" does not match +/// "pattern". +bool message_filtered(char_u *msg) +{ + if (cmdmod.filter_regmatch.regprog == NULL) { + return false; + } + + bool match = vim_regexec(&cmdmod.filter_regmatch, msg, (colnr_T)0); + return cmdmod.filter_force ? match : !match; +} + /* * Scroll the screen up one line for displaying the next message line. */ diff --git a/src/nvim/misc1.c b/src/nvim/misc1.c index 6de74fddf2..835b9c7b20 100644 --- a/src/nvim/misc1.c +++ b/src/nvim/misc1.c @@ -751,7 +751,7 @@ open_line ( // Skip mark_adjust when adding a line after the last one, there can't // be marks there. if (curwin->w_cursor.lnum + 1 < curbuf->b_ml.ml_line_count) { - mark_adjust(curwin->w_cursor.lnum + 1, (linenr_T)MAXLNUM, 1L, 0L); + mark_adjust(curwin->w_cursor.lnum + 1, (linenr_T)MAXLNUM, 1L, 0L, false); } did_append = true; } else { @@ -1866,7 +1866,7 @@ void appended_lines_mark(linenr_T lnum, long count) // Skip mark_adjust when adding a line after the last one, there can't // be marks there. if (lnum + count < curbuf->b_ml.ml_line_count) { - mark_adjust(lnum + 1, (linenr_T)MAXLNUM, count, 0L); + mark_adjust(lnum + 1, (linenr_T)MAXLNUM, count, 0L, false); } changed_lines(lnum + 1, 0, lnum + 1, count); } @@ -1888,7 +1888,7 @@ void deleted_lines(linenr_T lnum, long count) */ void deleted_lines_mark(linenr_T lnum, long count) { - mark_adjust(lnum, (linenr_T)(lnum + count - 1), (long)MAXLNUM, -count); + mark_adjust(lnum, (linenr_T)(lnum + count - 1), (long)MAXLNUM, -count, false); changed_lines(lnum, 0, lnum + count, -count); } @@ -2536,9 +2536,9 @@ void vim_beep(unsigned val) if (emsg_silent == 0) { if (!((bo_flags & val) || (bo_flags & BO_ALL))) { if (p_vb) { - ui_visual_bell(); + ui_call_visual_bell(); } else { - ui_putc(BELL); + ui_call_bell(); } } @@ -2691,7 +2691,7 @@ int call_shell(char_u *cmd, ShellOpts opts, char_u *extra_shell_arg) if (p_verbose > 3) { verbose_enter(); smsg(_("Calling shell to execute: \"%s\""), cmd == NULL ? p_sh : cmd); - ui_putc('\n'); + ui_linefeed(); verbose_leave(); } diff --git a/src/nvim/mouse.c b/src/nvim/mouse.c index b1c146d406..d908a022f1 100644 --- a/src/nvim/mouse.c +++ b/src/nvim/mouse.c @@ -479,9 +479,9 @@ void setmouse(void) checkfor = MOUSE_NORMAL; /* assume normal mode */ if (mouse_has(checkfor)) { - ui_mouse_on(); + ui_call_mouse_on(); } else { - ui_mouse_off(); + ui_call_mouse_off(); } } diff --git a/src/nvim/msgpack_rpc/channel.c b/src/nvim/msgpack_rpc/channel.c index 59594357de..68ac35bc4e 100644 --- a/src/nvim/msgpack_rpc/channel.c +++ b/src/nvim/msgpack_rpc/channel.c @@ -12,6 +12,7 @@ #include "nvim/api/vim.h" #include "nvim/api/ui.h" #include "nvim/msgpack_rpc/channel.h" +#include "nvim/msgpack_rpc/server.h" #include "nvim/event/loop.h" #include "nvim/event/libuv_process.h" #include "nvim/event/rstream.h" @@ -28,7 +29,9 @@ #include "nvim/map.h" #include "nvim/log.h" #include "nvim/misc1.h" +#include "nvim/path.h" #include "nvim/lib/kvec.h" +#include "nvim/os/input.h" #define CHANNEL_BUFFER_SIZE 0xffff @@ -40,7 +43,8 @@ typedef enum { kChannelTypeSocket, kChannelTypeProc, - kChannelTypeStdio + kChannelTypeStdio, + kChannelTypeInternal } ChannelType; typedef struct { @@ -89,6 +93,7 @@ static msgpack_sbuffer out_buffer; /// Initializes the module void channel_init(void) { + ch_before_blocking_events = multiqueue_new_child(main_loop.events); channels = pmap_new(uint64_t)(); event_strings = pmap_new(cstr_t)(); msgpack_sbuffer_init(&out_buffer); @@ -123,7 +128,7 @@ uint64_t channel_from_process(Process *proc, uint64_t id) wstream_init(proc->in, 0); rstream_init(proc->out, 0); - rstream_start(proc->out, parse_msgpack, channel); + rstream_start(proc->out, receive_msgpack, channel); return channel->id; } @@ -140,7 +145,36 @@ void channel_from_connection(SocketWatcher *watcher) channel->data.stream.internal_data = channel; wstream_init(&channel->data.stream, 0); rstream_init(&channel->data.stream, CHANNEL_BUFFER_SIZE); - rstream_start(&channel->data.stream, parse_msgpack, channel); + rstream_start(&channel->data.stream, receive_msgpack, channel); +} + +uint64_t channel_connect(bool tcp, const char *address, + int timeout, const char **error) +{ + if (!tcp) { + char *path = fix_fname(address); + if (server_owns_pipe_address(path)) { + // avoid deadlock + xfree(path); + return channel_create_internal(); + } + xfree(path); + } + + Channel *channel = register_channel(kChannelTypeSocket, 0, NULL); + if (!socket_connect(&main_loop, &channel->data.stream, + tcp, address, timeout, error)) { + decref(channel); + return 0; + } + + incref(channel); // close channel only after the stream is closed + channel->data.stream.internal_close_cb = close_cb; + channel->data.stream.internal_data = channel; + wstream_init(&channel->data.stream, 0); + rstream_init(&channel->data.stream, CHANNEL_BUFFER_SIZE); + rstream_start(&channel->data.stream, receive_msgpack, channel); + return channel->id; } /// Sends event/arguments to channel @@ -303,11 +337,20 @@ void channel_from_stdio(void) incref(channel); // stdio channels are only closed on exit // read stream rstream_init_fd(&main_loop, &channel->data.std.in, 0, CHANNEL_BUFFER_SIZE); - rstream_start(&channel->data.std.in, parse_msgpack, channel); + rstream_start(&channel->data.std.in, receive_msgpack, channel); // write stream wstream_init_fd(&main_loop, &channel->data.std.out, 1, 0); } +/// Creates a loopback channel. This is used to avoid deadlock +/// when an instance connects to its own named pipe. +uint64_t channel_create_internal(void) +{ + Channel *channel = register_channel(kChannelTypeInternal, 0, NULL); + incref(channel); // internal channel lives until process exit + return channel->id; +} + void channel_process_exit(uint64_t id, int status) { Channel *channel = pmap_get(uint64_t)(channels, id); @@ -316,8 +359,8 @@ void channel_process_exit(uint64_t id, int status) decref(channel); } -static void parse_msgpack(Stream *stream, RBuffer *rbuf, size_t c, void *data, - bool eof) +static void receive_msgpack(Stream *stream, RBuffer *rbuf, size_t c, + void *data, bool eof) { Channel *channel = data; incref(channel); @@ -327,7 +370,7 @@ static void parse_msgpack(Stream *stream, RBuffer *rbuf, size_t c, void *data, char buf[256]; snprintf(buf, sizeof(buf), "ch %" PRIu64 " was closed by the client", channel->id); - call_set_error(channel, buf); + call_set_error(channel, buf, WARNING_LOG_LEVEL); goto end; } @@ -339,6 +382,14 @@ static void parse_msgpack(Stream *stream, RBuffer *rbuf, size_t c, void *data, rbuffer_read(rbuf, msgpack_unpacker_buffer(channel->unpacker), count); msgpack_unpacker_buffer_consumed(channel->unpacker, count); + parse_msgpack(channel); + +end: + decref(channel); +} + +static void parse_msgpack(Channel *channel) +{ msgpack_unpacked unpacked; msgpack_unpacked_init(&unpacked); msgpack_unpack_return result; @@ -358,11 +409,11 @@ static void parse_msgpack(Stream *stream, RBuffer *rbuf, size_t c, void *data, "ch %" PRIu64 " returned a response with an unknown request " "id. Ensure the client is properly synchronized", channel->id); - call_set_error(channel, buf); + call_set_error(channel, buf, ERROR_LOG_LEVEL); } msgpack_unpacked_destroy(&unpacked); // Bail out from this event loop iteration - goto end; + return; } handle_request(channel, &unpacked.data); @@ -386,11 +437,9 @@ static void parse_msgpack(Stream *stream, RBuffer *rbuf, size_t c, void *data, "This error can also happen when deserializing " "an object with high level of nesting"); } - -end: - decref(channel); } + static void handle_request(Channel *channel, msgpack_object *request) FUNC_ATTR_NONNULL_ALL { @@ -410,7 +459,7 @@ static void handle_request(Channel *channel, msgpack_object *request) snprintf(buf, sizeof(buf), "ch %" PRIu64 " sent an invalid message, closed.", channel->id); - call_set_error(channel, buf); + call_set_error(channel, buf, ERROR_LOG_LEVEL); } api_clear_error(&error); return; @@ -433,16 +482,24 @@ static void handle_request(Channel *channel, msgpack_object *request) handler.async = true; } - RequestEvent *event_data = xmalloc(sizeof(RequestEvent)); - event_data->channel = channel; - event_data->handler = handler; - event_data->args = args; - event_data->request_id = request_id; + RequestEvent *evdata = xmalloc(sizeof(RequestEvent)); + evdata->channel = channel; + evdata->handler = handler; + evdata->args = args; + evdata->request_id = request_id; incref(channel); if (handler.async) { - on_request_event((void **)&event_data); + bool is_get_mode = handler.fn == handle_nvim_get_mode; + + if (is_get_mode && !input_blocking()) { + // Defer the event to a special queue used by os/input.c. #6247 + multiqueue_put(ch_before_blocking_events, on_request_event, 1, evdata); + } else { + // Invoke immediately. + on_request_event((void **)&evdata); + } } else { - multiqueue_put(channel->events, on_request_event, 1, event_data); + multiqueue_put(channel->events, on_request_event, 1, evdata); } } @@ -475,7 +532,7 @@ static void on_request_event(void **argv) static bool channel_write(Channel *channel, WBuffer *buffer) { - bool success; + bool success = false; if (channel->closed) { wstream_release_wbuffer(buffer); @@ -492,8 +549,11 @@ static bool channel_write(Channel *channel, WBuffer *buffer) case kChannelTypeStdio: success = wstream_write(&channel->data.std.out, buffer); break; - default: - abort(); + case kChannelTypeInternal: + incref(channel); + CREATE_EVENT(channel->events, internal_read_event, 2, channel, buffer); + success = true; + break; } if (!success) { @@ -504,12 +564,28 @@ static bool channel_write(Channel *channel, WBuffer *buffer) "Before returning from a RPC call, ch %" PRIu64 " was " "closed due to a failed write", channel->id); - call_set_error(channel, buf); + call_set_error(channel, buf, ERROR_LOG_LEVEL); } return success; } +static void internal_read_event(void **argv) +{ + Channel *channel = argv[0]; + WBuffer *buffer = argv[1]; + + msgpack_unpacker_reserve_buffer(channel->unpacker, buffer->size); + memcpy(msgpack_unpacker_buffer(channel->unpacker), + buffer->data, buffer->size); + msgpack_unpacker_buffer_consumed(channel->unpacker, buffer->size); + + parse_msgpack(channel); + + decref(channel); + wstream_release_wbuffer(buffer); +} + static void send_error(Channel *channel, uint64_t id, char *err) { Error e = ERROR_INIT; @@ -626,8 +702,9 @@ static void close_channel(Channel *channel) stream_close(&channel->data.std.out, NULL, NULL); multiqueue_put(main_loop.fast_events, exit_event, 1, channel); return; - default: - abort(); + case kChannelTypeInternal: + // nothing to free. + break; } decref(channel); @@ -718,9 +795,9 @@ static void complete_call(msgpack_object *obj, Channel *channel) } } -static void call_set_error(Channel *channel, char *msg) +static void call_set_error(Channel *channel, char *msg, int loglevel) { - ELOG("RPC: %s", msg); + LOG(loglevel, "RPC: %s", msg); for (size_t i = 0; i < kv_size(channel->call_stack); i++) { ChannelCallFrame *frame = kv_A(channel->call_stack, i); frame->returned = true; diff --git a/src/nvim/msgpack_rpc/channel.h b/src/nvim/msgpack_rpc/channel.h index 0d92976d02..f8fe6f129b 100644 --- a/src/nvim/msgpack_rpc/channel.h +++ b/src/nvim/msgpack_rpc/channel.h @@ -11,6 +11,11 @@ #define METHOD_MAXLEN 512 +/// HACK: os/input.c drains this queue immediately before blocking for input. +/// Events on this queue are async-safe, but they need the resolved state +/// of os_inchar(), so they are processed "just-in-time". +MultiQueue *ch_before_blocking_events; + #ifdef INCLUDE_GENERATED_DECLARATIONS # include "msgpack_rpc/channel.h.generated.h" #endif diff --git a/src/nvim/msgpack_rpc/helpers.c b/src/nvim/msgpack_rpc/helpers.c index 0228582d37..444c6cc256 100644 --- a/src/nvim/msgpack_rpc/helpers.c +++ b/src/nvim/msgpack_rpc/helpers.c @@ -24,12 +24,12 @@ static msgpack_zone zone; static msgpack_sbuffer sbuffer; #define HANDLE_TYPE_CONVERSION_IMPL(t, lt) \ - bool msgpack_rpc_to_##lt(const msgpack_object *const obj, \ - Integer *const arg) \ - FUNC_ATTR_NONNULL_ALL \ + static bool msgpack_rpc_to_##lt(const msgpack_object *const obj, \ + Integer *const arg) \ + FUNC_ATTR_NONNULL_ALL FUNC_ATTR_WARN_UNUSED_RESULT \ { \ if (obj->type != MSGPACK_OBJECT_EXT \ - || obj->via.ext.type != kObjectType##t) { \ + || obj->via.ext.type + EXT_OBJECT_TYPE_SHIFT != kObjectType##t) { \ return false; \ } \ \ @@ -48,13 +48,14 @@ static msgpack_sbuffer sbuffer; return true; \ } \ \ - void msgpack_rpc_from_##lt(Integer o, msgpack_packer *res) \ + static void msgpack_rpc_from_##lt(Integer o, msgpack_packer *res) \ FUNC_ATTR_NONNULL_ARG(2) \ { \ msgpack_packer pac; \ msgpack_packer_init(&pac, &sbuffer, msgpack_sbuffer_write); \ msgpack_pack_int64(&pac, (handle_T)o); \ - msgpack_pack_ext(res, sbuffer.size, kObjectType##t); \ + msgpack_pack_ext(res, sbuffer.size, \ + kObjectType##t - EXT_OBJECT_TYPE_SHIFT); \ msgpack_pack_ext_body(res, sbuffer.data, sbuffer.size); \ msgpack_sbuffer_clear(&sbuffer); \ } @@ -76,7 +77,7 @@ typedef struct { size_t idx; } MPToAPIObjectStackItem; -/// Convert type used by msgpack parser to Neovim own API type +/// Convert type used by msgpack parser to Nvim API type. /// /// @param[in] obj Msgpack value to convert. /// @param[out] arg Location where result of conversion will be saved. @@ -126,7 +127,7 @@ bool msgpack_rpc_to_object(const msgpack_object *const obj, Object *const arg) { STATIC_ASSERT(sizeof(Float) == sizeof(cur.mobj->via.f64), "Msgpack floating-point size does not match API integer"); - *cur.aobj = FLOATING_OBJ(cur.mobj->via.f64); + *cur.aobj = FLOAT_OBJ(cur.mobj->via.f64); break; } #define STR_CASE(type, attr, obj, dest, conv) \ @@ -225,7 +226,7 @@ bool msgpack_rpc_to_object(const msgpack_object *const obj, Object *const arg) break; } case MSGPACK_OBJECT_EXT: { - switch (cur.mobj->via.ext.type) { + switch ((ObjectType)(cur.mobj->via.ext.type + EXT_OBJECT_TYPE_SHIFT)) { case kObjectTypeBuffer: { cur.aobj->type = kObjectTypeBuffer; ret = msgpack_rpc_to_buffer(cur.mobj, &cur.aobj->data.integer); @@ -241,6 +242,15 @@ bool msgpack_rpc_to_object(const msgpack_object *const obj, Object *const arg) ret = msgpack_rpc_to_tabpage(cur.mobj, &cur.aobj->data.integer); break; } + case kObjectTypeNil: + case kObjectTypeBoolean: + case kObjectTypeInteger: + case kObjectTypeFloat: + case kObjectTypeString: + case kObjectTypeArray: + case kObjectTypeDictionary: { + break; + } } break; } @@ -364,6 +374,9 @@ void msgpack_rpc_from_object(const Object result, msgpack_packer *const res) kv_push(stack, ((APIToMPObjectStackItem) { &result, false, 0 })); while (kv_size(stack)) { APIToMPObjectStackItem cur = kv_last(stack); + STATIC_ASSERT(kObjectTypeWindow == kObjectTypeBuffer + 1 + && kObjectTypeTabpage == kObjectTypeWindow + 1, + "Buffer, window and tabpage enum items are in order"); switch (cur.aobj->type) { case kObjectTypeNil: { msgpack_pack_nil(res); diff --git a/src/nvim/msgpack_rpc/helpers.h b/src/nvim/msgpack_rpc/helpers.h index 7d9f114140..0e4cd1be6d 100644 --- a/src/nvim/msgpack_rpc/helpers.h +++ b/src/nvim/msgpack_rpc/helpers.h @@ -9,6 +9,13 @@ #include "nvim/event/wstream.h" #include "nvim/api/private/defs.h" +/// Value by which objects represented as EXT type are shifted +/// +/// Subtracted when packing, added when unpacking. Used to allow moving +/// buffer/window/tabpage block inside ObjectType enum. This block yet cannot be +/// split or reordered. +#define EXT_OBJECT_TYPE_SHIFT kObjectTypeBuffer + #ifdef INCLUDE_GENERATED_DECLARATIONS # include "msgpack_rpc/helpers.h.generated.h" #endif diff --git a/src/nvim/msgpack_rpc/server.c b/src/nvim/msgpack_rpc/server.c index b6958088ca..1e0cc27886 100644 --- a/src/nvim/msgpack_rpc/server.c +++ b/src/nvim/msgpack_rpc/server.c @@ -97,39 +97,61 @@ char *server_address_new(void) #endif } -/// Starts listening for API calls on the TCP address or pipe path `endpoint`. +/// Check if this instance owns a pipe address. +/// The argument must already be resolved to an absolute path! +bool server_owns_pipe_address(const char *path) +{ + for (int i = 0; i < watchers.ga_len; i++) { + if (!strcmp(path, ((SocketWatcher **)watchers.ga_data)[i]->addr)) { + return true; + } + } + return false; +} + +/// Starts listening for API calls. +/// /// The socket type is determined by parsing `endpoint`: If it's a valid IPv4 -/// address in 'ip[:port]' format, then it will be TCP socket. The port is -/// optional and if omitted defaults to NVIM_DEFAULT_TCP_PORT. Otherwise it -/// will be a unix socket or named pipe. +/// or IPv6 address in 'ip:[port]' format, then it will be a TCP socket. +/// Otherwise it will be a Unix socket or named pipe (Windows). +/// +/// If no port is given, a random one will be assigned. /// -/// @param endpoint Address of the server. Either a 'ip[:port]' string or an -/// arbitrary identifier (trimmed to 256 bytes) for the unix socket or -/// named pipe. +/// @param endpoint Address of the server. Either a 'ip:[port]' string or an +/// arbitrary identifier (trimmed to 256 bytes) for the Unix +/// socket or named pipe. /// @returns 0 on success, 1 on a regular error, and negative errno -/// on failure to bind or connect. +/// on failure to bind or listen. int server_start(const char *endpoint) { - if (endpoint == NULL) { - ELOG("Attempting to start server on NULL endpoint"); + if (endpoint == NULL || endpoint[0] == '\0') { + WLOG("Empty or NULL endpoint"); return 1; } SocketWatcher *watcher = xmalloc(sizeof(SocketWatcher)); - socket_watcher_init(&main_loop, watcher, endpoint, NULL); + + int result = socket_watcher_init(&main_loop, watcher, endpoint); + if (result < 0) { + xfree(watcher); + return result; + } // Check if a watcher for the endpoint already exists for (int i = 0; i < watchers.ga_len; i++) { if (!strcmp(watcher->addr, ((SocketWatcher **)watchers.ga_data)[i]->addr)) { ELOG("Already listening on %s", watcher->addr); + if (watcher->stream->type == UV_TCP) { + uv_freeaddrinfo(watcher->uv.tcp.addrinfo); + } socket_watcher_close(watcher, free_server); return 1; } } - int result = socket_watcher_start(watcher, MAX_CONNECTIONS, connection_cb); + result = socket_watcher_start(watcher, MAX_CONNECTIONS, connection_cb); if (result < 0) { - ELOG("Failed to start server: %s", uv_strerror(result)); + WLOG("Failed to start server: %s", uv_strerror(result)); socket_watcher_close(watcher, free_server); return result; } diff --git a/src/nvim/msgpack_rpc/server.h b/src/nvim/msgpack_rpc/server.h index f1a6703938..5446e40e0b 100644 --- a/src/nvim/msgpack_rpc/server.h +++ b/src/nvim/msgpack_rpc/server.h @@ -1,6 +1,8 @@ #ifndef NVIM_MSGPACK_RPC_SERVER_H #define NVIM_MSGPACK_RPC_SERVER_H +#include <stdio.h> + #ifdef INCLUDE_GENERATED_DECLARATIONS # include "msgpack_rpc/server.h.generated.h" #endif diff --git a/src/nvim/normal.c b/src/nvim/normal.c index 51da9429b6..39cd2c6631 100644 --- a/src/nvim/normal.c +++ b/src/nvim/normal.c @@ -541,7 +541,7 @@ static bool normal_handle_special_visual_command(NormalState *s) return false; } -static bool normal_need_aditional_char(NormalState *s) +static bool normal_need_additional_char(NormalState *s) { int flags = nv_cmds[s->idx].cmd_flags; bool pending_op = s->oa.op_type != OP_NOP; @@ -1083,7 +1083,7 @@ static int normal_execute(VimState *state, int key) } // Get an additional character if we need one. - if (normal_need_aditional_char(s)) { + if (normal_need_additional_char(s)) { normal_get_additional_char(s); } @@ -1861,6 +1861,7 @@ void do_pending_operator(cmdarg_T *cap, int old_col, bool gui_yank) } else { bangredo = true; // do_bang() will put cmd in redo buffer. } + // fallthrough case OP_INDENT: case OP_COLON: @@ -5230,6 +5231,7 @@ static void nv_dollar(cmdarg_T *cap) static void nv_search(cmdarg_T *cap) { oparg_T *oap = cap->oap; + pos_T save_cursor = curwin->w_cursor; if (cap->cmdchar == '?' && cap->oap->op_type == OP_ROT13) { /* Translate "g??" to "g?g?" */ @@ -5239,6 +5241,8 @@ static void nv_search(cmdarg_T *cap) return; } + // When using 'incsearch' the cursor may be moved to set a different search + // start position. cap->searchbuf = getcmdline(cap->cmdchar, cap->count1, 0); if (cap->searchbuf == NULL) { @@ -5247,7 +5251,8 @@ static void nv_search(cmdarg_T *cap) } (void)normal_search(cap, cap->cmdchar, cap->searchbuf, - (cap->arg ? 0 : SEARCH_MARK)); + (cap->arg || !equalpos(save_cursor, curwin->w_cursor)) + ? 0 : SEARCH_MARK); } /* diff --git a/src/nvim/ops.c b/src/nvim/ops.c index c77781b1d1..5c6f4d0d07 100644 --- a/src/nvim/ops.c +++ b/src/nvim/ops.c @@ -938,13 +938,11 @@ static int stuff_yank(int regname, char_u *p) static int execreg_lastc = NUL; -/* - * execute a yank register: copy it into the stuff buffer - * - * return FAIL for failure, OK otherwise - */ -int -do_execreg ( +/// Execute a yank register: copy it into the stuff buffer +/// +/// Return FAIL for failure, OK otherwise +int +do_execreg( int regname, int colon, /* insert ':' before each line */ int addcr, /* always add '\n' to end of line */ @@ -1410,6 +1408,9 @@ int op_delete(oparg_T *oap) } if (oap->regname == 0) { + if (reg == NULL) { + abort(); + } set_clipboard(0, reg); do_autocmd_textyankpost(oap, reg); } @@ -3181,7 +3182,7 @@ error: if (curbuf->b_op_start.lnum + (y_type == kMTCharWise) - 1 + nr_lines < curbuf->b_ml.ml_line_count) { mark_adjust(curbuf->b_op_start.lnum + (y_type == kMTCharWise), - (linenr_T)MAXLNUM, nr_lines, 0L); + (linenr_T)MAXLNUM, nr_lines, 0L, false); } // note changed text for displaying and folding @@ -4439,8 +4440,8 @@ int do_addsub(int op_type, pos_T *pos, int length, linenr_T Prenum1) char_u buf2[NUMBUFLEN]; int pre; // 'X' or 'x': hex; '0': octal; 'B' or 'b': bin static bool hexupper = false; // 0xABC - unsigned long n; - unsigned long oldn; + uvarnumber_T n; + uvarnumber_T oldn; char_u *ptr; int c; int todel; @@ -4635,20 +4636,20 @@ int do_addsub(int op_type, pos_T *pos, int length, linenr_T Prenum1) oldn = n; - n = subtract ? n - (unsigned long) Prenum1 - : n + (unsigned long) Prenum1; + n = subtract ? n - (uvarnumber_T)Prenum1 + : n + (uvarnumber_T)Prenum1; // handle wraparound for decimal numbers if (!pre) { if (subtract) { if (n > oldn) { - n = 1 + (n ^ (unsigned long)-1); + n = 1 + (n ^ (uvarnumber_T)-1); negative ^= true; } } else { // add if (n < oldn) { - n = (n ^ (unsigned long)-1); + n = (n ^ (uvarnumber_T)-1); negative ^= true; } } @@ -5238,11 +5239,13 @@ void clear_oparg(oparg_T *oap) * case, eol_size will be added to the character count to account for * the size of the EOL character. */ -static long line_count_info(char_u *line, long *wc, long *cc, long limit, int eol_size) +static varnumber_T line_count_info(char_u *line, varnumber_T *wc, + varnumber_T *cc, varnumber_T limit, + int eol_size) { - long i; - long words = 0; - long chars = 0; + varnumber_T i; + varnumber_T words = 0; + varnumber_T chars = 0; int is_word = 0; for (i = 0; i < limit && line[i] != NUL; ) { @@ -5280,15 +5283,15 @@ void cursor_pos_info(dict_T *dict) char_u buf1[50]; char_u buf2[40]; linenr_T lnum; - long byte_count = 0; - long bom_count = 0; - long byte_count_cursor = 0; - long char_count = 0; - long char_count_cursor = 0; - long word_count = 0; - long word_count_cursor = 0; + varnumber_T byte_count = 0; + varnumber_T bom_count = 0; + varnumber_T byte_count_cursor = 0; + varnumber_T char_count = 0; + varnumber_T char_count_cursor = 0; + varnumber_T word_count = 0; + varnumber_T word_count_cursor = 0; int eol_size; - long last_check = 100000L; + varnumber_T last_check = 100000L; long line_count_selected = 0; pos_T min_pos, max_pos; oparg_T oparg; @@ -5395,15 +5398,16 @@ void cursor_pos_info(dict_T *dict) if (lnum == curwin->w_cursor.lnum) { word_count_cursor += word_count; char_count_cursor += char_count; - byte_count_cursor = byte_count + - line_count_info(ml_get(lnum), - &word_count_cursor, &char_count_cursor, - (long)(curwin->w_cursor.col + 1), eol_size); + byte_count_cursor = byte_count + + line_count_info(ml_get(lnum), &word_count_cursor, + &char_count_cursor, + (varnumber_T)(curwin->w_cursor.col + 1), + eol_size); } } - /* Add to the running totals */ - byte_count += line_count_info(ml_get(lnum), &word_count, - &char_count, (long)MAXCOL, eol_size); + // Add to the running totals + byte_count += line_count_info(ml_get(lnum), &word_count, &char_count, + (varnumber_T)MAXCOL, eol_size); } // Correction for when last line doesn't have an EOL. @@ -5780,7 +5784,7 @@ static inline bool reg_empty(const yankreg_T *const reg) /// @return Pointer that needs to be passed to next `op_register_iter` call or /// NULL if iteration is over. const void *op_register_iter(const void *const iter, char *const name, - yankreg_T *const reg) + yankreg_T *const reg, bool *is_unnamed) FUNC_ATTR_NONNULL_ARG(2, 3) FUNC_ATTR_WARN_UNUSED_RESULT { *name = NUL; @@ -5796,6 +5800,7 @@ const void *op_register_iter(const void *const iter, char *const name, int iter_off = (int)(iter_reg - &(y_regs[0])); *name = (char)get_register_name(iter_off); *reg = *iter_reg; + *is_unnamed = (iter_reg == y_previous); while (++iter_reg - &(y_regs[0]) < NUM_SAVED_REGISTERS) { if (!reg_empty(iter_reg)) { return (void *) iter_reg; @@ -5820,10 +5825,11 @@ size_t op_register_amount(void) /// Set register to a given value /// /// @param[in] name Register name. -/// @param[in] reg Register value. +/// @param[in] reg Register value. +/// @param[in] is_unnamed Whether to set the unnamed regiseter to reg /// /// @return true on success, false on failure. -bool op_register_set(const char name, const yankreg_T reg) +bool op_register_set(const char name, const yankreg_T reg, bool is_unnamed) { int i = op_reg_index(name); if (i == -1) { @@ -5831,6 +5837,10 @@ bool op_register_set(const char name, const yankreg_T reg) } free_register(&y_regs[i]); y_regs[i] = reg; + + if (is_unnamed) { + y_previous = &y_regs[i]; + } return true; } @@ -5847,3 +5857,20 @@ const yankreg_T *op_register_get(const char name) } return &y_regs[i]; } + +/// Set the previous yank register +/// +/// @param[in] name Register name. +/// +/// @return true on success, false on failure. +bool op_register_set_previous(const char name) + FUNC_ATTR_WARN_UNUSED_RESULT +{ + int i = op_reg_index(name); + if (i == -1) { + return false; + } + + y_previous = &y_regs[i]; + return true; +} diff --git a/src/nvim/option.c b/src/nvim/option.c index 74392ccfb5..a4be2abf9a 100644 --- a/src/nvim/option.c +++ b/src/nvim/option.c @@ -8,6 +8,9 @@ // - Add a BV_XX or WV_XX entry to option_defs.h // - Add a variable to the window or buffer struct in buffer_defs.h. // - For a window option, add some code to copy_winopt(). +// - For a window string option, add code to check_winopt() +// and clear_winopt(). If setting the option needs parsing, +// add some code to didset_window_options(). // - For a buffer option, add some code to buf_copy_options(). // - For a buffer string option, add code to check_buf_options(). // - If it's a numeric option, add any necessary bounds checks to @@ -245,12 +248,12 @@ typedef struct vimoption { "8:SpecialKey,~:EndOfBuffer,z:TermCursor,Z:TermCursorNC,@:NonText," \ "d:Directory,e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,M:ModeMsg,n:LineNr," \ "N:CursorLineNr,r:Question,s:StatusLine,S:StatusLineNC,c:VertSplit,t:Title," \ - "v:Visual,w:WarningMsg,W:WildMenu,f:Folded,F:FoldColumn," \ + "v:Visual,V:VisualNOS,w:WarningMsg,W:WildMenu,f:Folded,F:FoldColumn," \ "A:DiffAdd,C:DiffChange,D:DiffDelete,T:DiffText,>:SignColumn,-:Conceal," \ "B:SpellBad,P:SpellCap,R:SpellRare,L:SpellLocal,+:Pmenu,=:PmenuSel," \ "x:PmenuSbar,X:PmenuThumb,*:TabLine,#:TabLineSel,_:TabLineFill," \ "!:CursorColumn,.:CursorLine,o:ColorColumn,q:QuickFixLine," \ - "0:Whitespace" + "0:Whitespace,I:NormalNC" /* * options[] is initialized here. @@ -339,7 +342,7 @@ static inline size_t compute_double_colon_len(const char *const val, do { size_t dir_len; const char *dir; - iter = vim_colon_env_iter(val, iter, &dir, &dir_len); + iter = vim_env_iter(':', val, iter, &dir, &dir_len); if (dir != NULL && dir_len > 0) { ret += ((dir_len + memcnt(dir, ',', dir_len) + common_suf_len + !after_pathsep(dir, dir + dir_len)) * 2 @@ -383,8 +386,8 @@ static inline char *add_colon_dirs(char *dest, const char *const val, do { size_t dir_len; const char *dir; - iter = (forward ? vim_colon_env_iter : vim_colon_env_iter_rev)( - val, iter, &dir, &dir_len); + iter = (forward ? vim_env_iter : vim_env_iter_rev)(':', val, iter, &dir, + &dir_len); if (dir != NULL && dir_len > 0) { dest = strcpy_comma_escaped(dest, dir, dir_len); if (!after_pathsep(dest - 1, dest)) { @@ -1142,7 +1145,7 @@ do_set ( int afterchar; /* character just after option name */ int len; int i; - long value; + varnumber_T value; int key; uint32_t flags; /* flags for current option */ char_u *varp = NULL; /* pointer to variable for current option */ @@ -1412,7 +1415,8 @@ do_set ( errmsg = (char_u *)set_bool_option(opt_idx, varp, (int)value, opt_flags); } else { // Numeric or string. - if (strchr("=:&<", nextchar) == NULL || prefix != 1) { + if (vim_strchr((const char_u *)"=:&<", nextchar) == NULL + || prefix != 1) { errmsg = e_invarg; goto skip; } @@ -1473,7 +1477,7 @@ do_set ( if (removing) { value = *(long *)varp - value; } - errmsg = (char_u *)set_num_option(opt_idx, varp, value, + errmsg = (char_u *)set_num_option(opt_idx, varp, (long)value, errbuf, sizeof(errbuf), opt_flags); } else if (opt_idx >= 0) { // String. @@ -1948,15 +1952,7 @@ did_set_title ( { if (starting != NO_SCREEN) { maketitle(); - if (icon) { - if (!p_icon) { - ui_set_icon(NULL); - } - } else { - if (!p_title) { - ui_set_title(NULL); - } - } + resettitle(); } } @@ -2128,7 +2124,7 @@ static void didset_options(void) static void didset_options2(void) { // Initialize the highlight_attr[] table. - (void)highlight_changed(); + highlight_changed(); // Parse default for 'clipboard'. (void)opt_strings_flags(p_cb, p_cb_values, &cb_flags, true); @@ -2542,11 +2538,11 @@ did_set_string_option ( if (s[2] == NUL) break; } - } - /* 'highlight' */ - else if (varp == &p_hl) { - if (highlight_changed() == FAIL) - errmsg = e_invarg; /* invalid flags */ + } else if (varp == &p_hl) { + // 'highlight' + if (strcmp((char *)(*varp), HIGHLIGHT_INIT) != 0) { + errmsg = e_unsupportedoption; + } } /* 'nrformats' */ else if (gvarp == &p_nf) { @@ -2643,7 +2639,7 @@ did_set_string_option ( if (varp == &p_enc) { // only encoding=utf-8 allowed if (STRCMP(p_enc, "utf-8") != 0) { - errmsg = e_invarg; + errmsg = e_unsupportedoption; } } } @@ -3170,6 +3166,10 @@ did_set_string_option ( if (!valid_filetype(*varp)) { errmsg = e_invarg; } + } else if (varp == &curwin->w_p_winhl) { + if (!parse_winhl_opt(curwin)) { + errmsg = e_invarg; + } } else { // Options that are a list of flags. p = NULL; @@ -3207,8 +3207,6 @@ did_set_string_option ( */ if (did_chartab) (void)init_chartab(); - if (varp == &p_hl) - (void)highlight_changed(); } else { /* Remember where the option was set. */ set_option_scriptID_idx(opt_idx, opt_flags, current_SID); @@ -3274,7 +3272,7 @@ did_set_string_option ( if (varp == &p_mouse) { if (*p_mouse == NUL) { - ui_mouse_off(); + ui_call_mouse_off(); } else { setmouse(); // in case 'mouse' changed } @@ -3578,6 +3576,47 @@ static char_u *compile_cap_prog(synblock_T *synblock) return NULL; } +/// Handle setting `winhighlight' in window "wp" +static bool parse_winhl_opt(win_T *wp) +{ + int w_hl_id_normal = 0; + int w_hl_ids[HLF_COUNT] = { 0 }; + int hlf; + + const char *p = (const char *)wp->w_p_winhl; + while (*p) { + char *colon = strchr(p, ':'); + if (!colon) { + return false; + } + size_t nlen = (size_t)(colon-p); + char *hi = colon+1; + char *commap = xstrchrnul(hi, ','); + int hl_id = syn_check_group((char_u *)hi, (int)(commap-hi)); + + if (strncmp("Normal", p, nlen) == 0) { + w_hl_id_normal = hl_id; + } else { + for (hlf = 0; hlf < (int)HLF_COUNT; hlf++) { + if (strncmp(hlf_names[hlf], p, nlen) == 0) { + w_hl_ids[hlf] = hl_id; + break; + } + } + if (hlf == HLF_COUNT) { + return false; + } + } + + p = *commap ? commap+1 : ""; + } + + wp->w_hl_id_normal = w_hl_id_normal; + memcpy(wp->w_hl_ids, w_hl_ids, sizeof(w_hl_ids)); + wp->w_hl_needs_update = true; + return true; +} + /* * Set the scriptID for an option, taking care of setting the buffer- or * window-local value. @@ -4574,7 +4613,7 @@ get_option_value ( if ((int *)varp == &curbuf->b_changed) { *numval = curbufIsChanged(); } else { - *numval = *(int *)varp; + *numval = (long) *(int *)varp; // NOLINT(whitespace/cast) } } return 1; @@ -4769,17 +4808,6 @@ char *set_option_value(const char *const name, const long number, return NULL; } -char_u *get_highlight_default(void) -{ - int i; - - i = findoption("hl"); - if (i >= 0) { - return options[i].def_val[VI_DEFAULT]; - } - return (char_u *)NULL; -} - /* * Translate a string like "t_xx", "<t_xx>" or "<S-Tab>" to a key number. */ @@ -5461,6 +5489,7 @@ static char_u *get_varp(vimoption_T *p) case PV_WM: return (char_u *)&(curbuf->b_p_wm); case PV_KMAP: return (char_u *)&(curbuf->b_p_keymap); case PV_SCL: return (char_u *)&(curwin->w_p_scl); + case PV_WINHL: return (char_u *)&(curwin->w_p_winhl); default: EMSG(_("E356: get_varp ERROR")); } /* always return a valid pointer to avoid a crash! */ @@ -5487,7 +5516,6 @@ void win_copy_options(win_T *wp_from, win_T *wp_to) copy_winopt(&wp_from->w_allbuf_opt, &wp_to->w_allbuf_opt); /* Is this right? */ wp_to->w_farsi = wp_from->w_farsi; - briopt_check(wp_to); } /* @@ -5539,6 +5567,7 @@ void copy_winopt(winopt_T *from, winopt_T *to) to->wo_fdt = vim_strsave(from->wo_fdt); to->wo_fmr = vim_strsave(from->wo_fmr); to->wo_scl = vim_strsave(from->wo_scl); + to->wo_winhl = vim_strsave(from->wo_winhl); check_winopt(to); // don't want NULL pointers } @@ -5568,6 +5597,7 @@ static void check_winopt(winopt_T *wop) check_string_option(&wop->wo_cc); check_string_option(&wop->wo_cocu); check_string_option(&wop->wo_briopt); + check_string_option(&wop->wo_winhl); } /* @@ -5587,8 +5617,17 @@ void clear_winopt(winopt_T *wop) clear_string_option(&wop->wo_cc); clear_string_option(&wop->wo_cocu); clear_string_option(&wop->wo_briopt); + clear_string_option(&wop->wo_winhl); } +void didset_window_options(win_T *wp) +{ + check_colorcolumn(wp); + briopt_check(wp); + parse_winhl_opt(wp); +} + + /* * Copy global option values to local options for one buffer. * Used when creating a new buffer and sometimes when entering a buffer. diff --git a/src/nvim/option_defs.h b/src/nvim/option_defs.h index 4ee0f4f225..e68dba734e 100644 --- a/src/nvim/option_defs.h +++ b/src/nvim/option_defs.h @@ -807,6 +807,7 @@ enum { , WV_WFW , WV_WRAP , WV_SCL + , WV_WINHL , WV_COUNT // must be the last one }; diff --git a/src/nvim/options.lua b/src/nvim/options.lua index 4e7be63b63..c2778a6329 100644 --- a/src/nvim/options.lua +++ b/src/nvim/options.lua @@ -34,6 +34,11 @@ local macros=function(s) return s end end +local imacros=function(s) + return function() + return '(intptr_t)' .. s + end +end local N_=function(s) return function() return 'N_(' .. cstr(s) .. ')' @@ -1000,7 +1005,7 @@ return { deny_duplicates=true, vi_def=true, varname='p_guicursor', - defaults={if_true={vi="n-v-c:block-Cursor/lCursor,ve:ver35-Cursor,o:hor50-Cursor,i-ci:ver25-Cursor/lCursor,r-cr:hor20-Cursor/lCursor,sm:block-Cursor-blinkwait175-blinkoff150-blinkon175"}} + defaults={if_true={vi="n-v-c-sm:block,i-ci-ve:ver25,r-cr-o:hor20"}} }, { full_name='guifont', abbreviation='gfn', @@ -2648,7 +2653,7 @@ return { type='number', scope={'global'}, vim=true, varname='p_wc', - defaults={if_true={vi=macros('Ctrl_E'), vim=macros('TAB')}} + defaults={if_true={vi=imacros('Ctrl_E'), vim=imacros('TAB')}} }, { full_name='wildcharm', abbreviation='wcm', @@ -2702,6 +2707,14 @@ return { defaults={if_true={vi="menu"}} }, { + full_name='winhighlight', abbreviation='winhl', + type='string', scope={'window'}, + vi_def=true, + alloced=true, + redraw={'current_window'}, + defaults={if_true={vi=""}} + }, + { full_name='window', abbreviation='wi', type='number', scope={'global'}, vi_def=true, diff --git a/src/nvim/os/env.c b/src/nvim/os/env.c index 8f7a6e72b5..de0cd10d9c 100644 --- a/src/nvim/os/env.c +++ b/src/nvim/os/env.c @@ -521,10 +521,11 @@ static char *remove_tail(char *path, char *pend, char *dirname) return pend; } -/// Iterate over colon-separated list +/// Iterate over a delimited list. /// /// @note Environment variables must not be modified during iteration. /// +/// @param[in] delim Delimiter character. /// @param[in] val Value of the environment variable to iterate over. /// @param[in] iter Pointer used for iteration. Must be NULL on first /// iteration. @@ -533,18 +534,19 @@ static char *remove_tail(char *path, char *pend, char *dirname) /// @param[out] len Location where current directory length should be saved. /// /// @return Next iter argument value or NULL when iteration should stop. -const void *vim_colon_env_iter(const char *const val, - const void *const iter, - const char **const dir, - size_t *const len) - FUNC_ATTR_NONNULL_ARG(1, 3, 4) FUNC_ATTR_WARN_UNUSED_RESULT +const void *vim_env_iter(const char delim, + const char *const val, + const void *const iter, + const char **const dir, + size_t *const len) + FUNC_ATTR_NONNULL_ARG(2, 4, 5) FUNC_ATTR_WARN_UNUSED_RESULT { const char *varval = (const char *) iter; if (varval == NULL) { varval = val; } *dir = varval; - const char *const dirend = strchr(varval, ':'); + const char *const dirend = strchr(varval, delim); if (dirend == NULL) { *len = strlen(varval); return NULL; @@ -554,10 +556,11 @@ const void *vim_colon_env_iter(const char *const val, } } -/// Iterate over colon-separated list in reverse order +/// Iterate over a delimited list in reverse order. /// /// @note Environment variables must not be modified during iteration. /// +/// @param[in] delim Delimiter character. /// @param[in] val Value of the environment variable to iterate over. /// @param[in] iter Pointer used for iteration. Must be NULL on first /// iteration. @@ -566,18 +569,19 @@ const void *vim_colon_env_iter(const char *const val, /// @param[out] len Location where current directory length should be saved. /// /// @return Next iter argument value or NULL when iteration should stop. -const void *vim_colon_env_iter_rev(const char *const val, - const void *const iter, - const char **const dir, - size_t *const len) - FUNC_ATTR_NONNULL_ARG(1, 3, 4) FUNC_ATTR_WARN_UNUSED_RESULT +const void *vim_env_iter_rev(const char delim, + const char *const val, + const void *const iter, + const char **const dir, + size_t *const len) + FUNC_ATTR_NONNULL_ARG(2, 4, 5) FUNC_ATTR_WARN_UNUSED_RESULT { const char *varend = (const char *) iter; if (varend == NULL) { varend = val + strlen(val) - 1; } - const size_t varlen = (size_t) (varend - val) + 1; - const char *const colon = xmemrchr(val, ':', varlen); + const size_t varlen = (size_t)(varend - val) + 1; + const char *const colon = xmemrchr(val, (uint8_t)delim, varlen); if (colon == NULL) { *len = varlen; *dir = val; @@ -596,6 +600,9 @@ const void *vim_colon_env_iter_rev(const char *const val, /// @param name Environment variable to expand char *vim_getenv(const char *name) { + // init_path() should have been called before now. + assert(get_vim_var_str(VV_PROGPATH)[0] != NUL); + const char *kos_env_path = os_getenv(name); if (kos_env_path != NULL) { return xstrdup(kos_env_path); @@ -634,18 +641,17 @@ char *vim_getenv(const char *name) char exe_name[MAXPATHL]; // Find runtime path relative to the nvim binary: ../share/nvim/runtime if (vim_path == NULL) { - size_t exe_name_len = MAXPATHL; - if (os_exepath(exe_name, &exe_name_len) == 0) { - char *path_end = (char *)path_tail_with_sep((char_u *)exe_name); - *path_end = '\0'; // remove the trailing "nvim.exe" - path_end = (char *)path_tail((char_u *)exe_name); - *path_end = '\0'; // remove the trailing "bin/" - if (append_path( - exe_name, - "share" _PATHSEPSTR "nvim" _PATHSEPSTR "runtime" _PATHSEPSTR, - MAXPATHL) == OK) { - vim_path = exe_name; // -V507 - } + xstrlcpy(exe_name, (char *)get_vim_var_str(VV_PROGPATH), + sizeof(exe_name)); + char *path_end = (char *)path_tail_with_sep((char_u *)exe_name); + *path_end = '\0'; // remove the trailing "nvim.exe" + path_end = (char *)path_tail((char_u *)exe_name); + *path_end = '\0'; // remove the trailing "bin/" + if (append_path( + exe_name, + "share" _PATHSEPSTR "nvim" _PATHSEPSTR "runtime" _PATHSEPSTR, + MAXPATHL) == OK) { + vim_path = exe_name; // -V507 } } diff --git a/src/nvim/os/fs.c b/src/nvim/os/fs.c index c39ff5d358..14dacd97c4 100644 --- a/src/nvim/os/fs.c +++ b/src/nvim/os/fs.c @@ -61,9 +61,9 @@ void fs_init(void) } -/// Change to the given directory. +/// Changes the current directory to `path`. /// -/// @return `0` on success, a libuv error code on failure. +/// @return 0 on success, or negative error code. int os_chdir(const char *path) FUNC_ATTR_NONNULL_ALL { @@ -171,6 +171,10 @@ int os_nodetype(const char *name) | O_NONBLOCK #endif , 0); + if (fd == -1) { + return NODE_OTHER; // open() failed. + } + switch (uv_guess_handle(fd)) { case UV_TTY: // FILE_TYPE_CHAR nodetype = NODE_WRITABLE; @@ -196,11 +200,13 @@ int os_nodetype(const char *name) } /// Gets the absolute path of the currently running executable. +/// May fail if procfs is missing. #6734 +/// @see path_exepath /// -/// @param[out] buffer Returns the path string. +/// @param[out] buffer Full path to the executable. /// @param[in] size Size of `buffer`. /// -/// @return `0` on success, or libuv error code on failure. +/// @return 0 on success, or libuv error code. int os_exepath(char *buffer, size_t *size) FUNC_ATTR_NONNULL_ALL { diff --git a/src/nvim/os/input.c b/src/nvim/os/input.c index 7b5e14dd19..31e06ce404 100644 --- a/src/nvim/os/input.c +++ b/src/nvim/os/input.c @@ -23,6 +23,7 @@ #include "nvim/main.h" #include "nvim/misc1.h" #include "nvim/state.h" +#include "nvim/msgpack_rpc/channel.h" #define READ_BUFFER_SIZE 0xfff #define INPUT_BUFFER_SIZE (READ_BUFFER_SIZE * 4) @@ -38,6 +39,7 @@ static RBuffer *input_buffer = NULL; static bool input_eof = false; static int global_fd = 0; static int events_enabled = 0; +static bool blocking = false; #ifdef INCLUDE_GENERATED_DECLARATIONS # include "os/input.c.generated.h" @@ -327,13 +329,25 @@ static unsigned int handle_mouse_event(char **ptr, uint8_t *buf, return bufsize; } +/// @return true if the main loop is blocked and waiting for input. +bool input_blocking(void) +{ + return blocking; +} + static bool input_poll(int ms) { if (do_profiling == PROF_YES && ms) { prof_inchar_enter(); } + if ((ms == - 1 || ms > 0) && !events_enabled && !input_eof) { + // The pending input provoked a blocking wait. Do special events now. #6247 + blocking = true; + multiqueue_process_events(ch_before_blocking_events); + } LOOP_PROCESS_EVENTS_UNTIL(&main_loop, NULL, ms, input_ready() || input_eof); + blocking = false; if (do_profiling == PROF_YES && ms) { prof_inchar_exit(); diff --git a/src/nvim/os/pty_process_unix.c b/src/nvim/os/pty_process_unix.c index eb9335b03c..ee3ab96a83 100644 --- a/src/nvim/os/pty_process_unix.c +++ b/src/nvim/os/pty_process_unix.c @@ -12,7 +12,7 @@ #include <sys/ioctl.h> // forkpty is not in POSIX, so headers are platform-specific -#if defined(__FreeBSD__) +#if defined(__FreeBSD__) || defined (__DragonFly__) # include <libutil.h> #elif defined(__OpenBSD__) || defined(__NetBSD__) || defined(__APPLE__) # include <util.h> diff --git a/src/nvim/os/shell.c b/src/nvim/os/shell.c index fc8ab7dc8f..9d80a43718 100644 --- a/src/nvim/os/shell.c +++ b/src/nvim/os/shell.c @@ -464,9 +464,10 @@ static void out_data_append_to_screen(char *output, size_t remaining, continue; } - // Translate NUL to SOH - if (output[off] == NUL) { - output[off] = 1; + // TODO(bfredl): using msg_puts would be better until + // terminal emulation is implemented. + if (output[off] < 0x20) { + output[off] = ' '; } off++; @@ -495,8 +496,12 @@ static void out_data_cb(Stream *stream, RBuffer *buf, size_t count, void *data, size_t cnt; char *ptr = rbuffer_read_ptr(buf, &cnt); - if (ptr != NULL && cnt > 0 - && out_data_decide_throttle(cnt)) { // Skip output above a threshold. + if (ptr == NULL || cnt == 0) { + // Nothing to read; + return; + } + + if (out_data_decide_throttle(cnt)) { // Skip output above a threshold. // Save the skipped output. If it is the final chunk, we display it later. out_data_ring(ptr, cnt); } else { @@ -684,7 +689,7 @@ static void shell_write_cb(Stream *stream, void *data, int status) uv_err_name(status)); } if (stream->closed) { // Process may have exited before this write. - ELOG("stream was already closed"); + WLOG("stream was already closed"); return; } stream_close(stream, NULL, NULL); diff --git a/src/nvim/os/shell.h b/src/nvim/os/shell.h index 58960db157..48503f2601 100644 --- a/src/nvim/os/shell.h +++ b/src/nvim/os/shell.h @@ -1,6 +1,8 @@ #ifndef NVIM_OS_SHELL_H #define NVIM_OS_SHELL_H +#include <stdio.h> + #include "nvim/types.h" // Flags for os_call_shell() second argument diff --git a/src/nvim/os_unix.c b/src/nvim/os_unix.c index c5a42204be..692bcc97f4 100644 --- a/src/nvim/os_unix.c +++ b/src/nvim/os_unix.c @@ -133,7 +133,7 @@ void mch_free_acl(vim_acl_T aclent) } #endif -void mch_exit(int r) +void mch_exit(int r) FUNC_ATTR_NORETURN { exiting = true; @@ -141,7 +141,9 @@ void mch_exit(int r) ui_flush(); ml_close_all(true); // remove all memfiles - event_teardown(); + if (!event_teardown() && r == 0) { + r = 1; // Exit with error if main_loop did not teardown gracefully. + } stream_set_blocking(input_global_fd(), true); // normalize stream (#2598) #ifdef EXITFREE @@ -173,7 +175,7 @@ void mch_exit(int r) /// @returns OK for success or FAIL for error. int mch_expand_wildcards(int num_pat, char_u **pat, int *num_file, char_u ***file, int flags) FUNC_ATTR_NONNULL_ARG(3) - FUNC_ATTR_NONNULL_ARG(4) + FUNC_ATTR_NONNULL_ARG(4) { int i; size_t len; diff --git a/src/nvim/path.c b/src/nvim/path.c index 12952f49db..f2339c8046 100644 --- a/src/nvim/path.c +++ b/src/nvim/path.c @@ -435,7 +435,7 @@ bool add_pathsep(char *p) /// @return [allocated] Copy of absolute path to `fname` or NULL when /// `fname` is NULL. char *FullName_save(const char *fname, bool force) - FUNC_ATTR_NONNULL_RET FUNC_ATTR_MALLOC + FUNC_ATTR_MALLOC { if (fname == NULL) { return NULL; @@ -453,7 +453,7 @@ char *FullName_save(const char *fname, bool force) /// @param name An absolute or relative path. /// @return The absolute path of `name`. char_u *save_absolute_path(const char_u *name) - FUNC_ATTR_MALLOC FUNC_ATTR_NONNULL_RET FUNC_ATTR_NONNULL_ALL + FUNC_ATTR_MALLOC FUNC_ATTR_NONNULL_ALL { if (!path_is_absolute_path(name)) { return (char_u *)FullName_save((char *)name, true); @@ -1715,7 +1715,7 @@ int vim_FullName(const char *fname, char *buf, size_t len, bool force) /// /// @param fname is the filename to expand /// @return [allocated] Full path (NULL for failure). -char *fix_fname(char *fname) +char *fix_fname(const char *fname) { #ifdef UNIX return FullName_save(fname, true); @@ -2237,3 +2237,50 @@ int path_is_absolute_path(const char_u *fname) return *fname == '/' || *fname == '~'; #endif } + +/// Builds a full path from an invocation name `argv0`, based on heuristics. +/// +/// @param[in] argv0 Name by which Nvim was invoked. +/// @param[out] buf Guessed full path to `argv0`. +/// @param[in] bufsize Size of `buf`. +/// +/// @see os_exepath +void path_guess_exepath(const char *argv0, char *buf, size_t bufsize) + FUNC_ATTR_NONNULL_ALL +{ + char *path = getenv("PATH"); + + if (path == NULL || path_is_absolute_path((char_u *)argv0)) { + xstrlcpy(buf, argv0, bufsize); + } else if (argv0[0] == '.' || strchr(argv0, PATHSEP)) { + // Relative to CWD. + if (os_dirname((char_u *)buf, MAXPATHL) != OK) { + buf[0] = NUL; + } + xstrlcat(buf, PATHSEPSTR, bufsize); + xstrlcat(buf, argv0, bufsize); + } else { + // Search $PATH for plausible location. + const void *iter = NULL; + do { + const char *dir; + size_t dir_len; + iter = vim_env_iter(ENV_SEPCHAR, path, iter, &dir, &dir_len); + if (dir == NULL || dir_len == 0) { + break; + } + if (dir_len + 1 > sizeof(NameBuff)) { + continue; + } + xstrlcpy((char *)NameBuff, dir, dir_len + 1); + xstrlcat((char *)NameBuff, PATHSEPSTR, sizeof(NameBuff)); + xstrlcat((char *)NameBuff, argv0, sizeof(NameBuff)); + if (os_can_exe(NameBuff, NULL, false)) { + xstrlcpy(buf, (char *)NameBuff, bufsize); + return; + } + } while (iter != NULL); + // Not found in $PATH, fall back to argv0. + xstrlcpy(buf, argv0, bufsize); + } +} diff --git a/src/nvim/po/eo.po b/src/nvim/po/eo.po index b7bc6397ef..3fb300c63f 100644 --- a/src/nvim/po/eo.po +++ b/src/nvim/po/eo.po @@ -5,7 +5,7 @@ # # UNUA TRADUKISTO Dominique PELLE <dominique.pelle ĉe gmail.com> # PROVLEGANTO(J) Felipe CASTRO <fefcas ĉe gmail.com> -# Antono MECHELYNCK <antoine.mechelynck ĉe skynet.be> +# Antono MECHELYNCK <antoine.mechelynck ĉe gmail.com> # Yves NEVELSTEEN # # Uzitaj vortaroj kaj fakvortaroj: @@ -23,8 +23,8 @@ msgid "" msgstr "" "Project-Id-Version: Vim(Esperanto)\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-07-02 16:21+0200\n" -"PO-Revision-Date: 2016-07-02 17:05+0200\n" +"POT-Creation-Date: 2017-01-16 00:30+0100\n" +"PO-Revision-Date: 2017-01-16 01:14+0100\n" "Last-Translator: Dominique PELLÉ <dominique.pelle@gmail.com>\n" "Language-Team: \n" "Language: eo\n" @@ -32,13 +32,20 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -#, fuzzy -#~ msgid "Unable to get option value" -#~ msgstr "fiaskis akiri valoron de opcio" +msgid "E831: bf_key_init() called with empty password" +msgstr "E831: bf_key_init() alvokita kun malplena pasvorto" -#, fuzzy -#~ msgid "internal error: unknown option type" -#~ msgstr "interna eraro: neniu vim-a listero" +msgid "E820: sizeof(uint32_t) != 4" +msgstr "E820: sizeof(uint32_t) != 4" + +msgid "E817: Blowfish big/little endian use wrong" +msgstr "E817: Misuzo de pezkomenca/pezfina en blowfish" + +msgid "E818: sha256 test failed" +msgstr "E818: Testo de sha256 malsukcesis" + +msgid "E819: Blowfish test failed" +msgstr "E819: Testo de blowfish malsukcesis" msgid "[Location List]" msgstr "[Listo de lokoj]" @@ -56,6 +63,12 @@ msgstr "E82: Ne eblas disponigi iun ajn bufron, nun eliras..." msgid "E83: Cannot allocate buffer, using other one..." msgstr "E83: Ne eblas disponigi bufron, nun uzas alian..." +msgid "E931: Buffer cannot be registered" +msgstr "E931: Bufro ne povas esti registrita" + +msgid "E937: Attempt to delete a buffer that is in use" +msgstr "E937: Provo de forviÅo de bufro, kiu estas uzanta" + msgid "E515: No buffers were unloaded" msgstr "E515: Neniu bufro estis malÅargita" @@ -103,19 +116,17 @@ msgid "E88: Cannot go before first buffer" msgstr "E88: Ne eblas iri antaÅ la unuan bufron" #, c-format -msgid "" -"E89: No write since last change for buffer %<PRId64> (add ! to override)" +msgid "E89: No write since last change for buffer %ld (add ! to override)" msgstr "" -"E89: Neniu skribo de post la lasta ÅanÄo de la bufro %<PRId64> (aldonu ! por " +"E89: Neniu skribo de post la lasta ÅanÄo de la bufro %ld (aldonu ! por " "transpasi)" -#. wrap around (may cause duplicates) msgid "W14: Warning: List of file names overflow" msgstr "W14: Averto: Listo de dosiernomoj troas" #, c-format -msgid "E92: Buffer %<PRId64> not found" -msgstr "E92: Bufro %<PRId64> ne trovita" +msgid "E92: Buffer %ld not found" +msgstr "E92: Bufro %ld ne trovita" #, c-format msgid "E93: More than one match for %s" @@ -126,8 +137,8 @@ msgid "E94: No matching buffer for %s" msgstr "E94: Neniu bufro kongruas kun %s" #, c-format -msgid "line %<PRId64>" -msgstr "linio %<PRId64>" +msgid "line %ld" +msgstr "linio %ld" msgid "E95: Buffer with this name already exists" msgstr "E95: Bufro kun tiu nomo jam ekzistas" @@ -155,12 +166,12 @@ msgid "1 line --%d%%--" msgstr "1 linio --%d%%--" #, c-format -msgid "%<PRId64> lines --%d%%--" -msgstr "%<PRId64> linioj --%d%%--" +msgid "%ld lines --%d%%--" +msgstr "%ld linioj --%d%%--" #, c-format -msgid "line %<PRId64> of %<PRId64> --%d%%-- col " -msgstr "linio %<PRId64> de %<PRId64> --%d%%-- kol " +msgid "line %ld of %ld --%d%%-- col " +msgstr "linio %ld de %ld --%d%%-- kol " msgid "[No Name]" msgstr "[Neniu nomo]" @@ -207,24 +218,103 @@ msgid "Signs for %s:" msgstr "Emfazaj simbolaĵoj de %s:" #, c-format -msgid " line=%<PRId64> id=%d name=%s" -msgstr " linio=%<PRId64> id=%d nomo=%s" +msgid " line=%ld id=%d name=%s" +msgstr " linio=%ld id=%d nomo=%s" -msgid "E545: Missing colon" -msgstr "E545: Mankas dupunkto" +msgid "E902: Cannot connect to port" +msgstr "E902: Ne eblas konekti al pordo" -msgid "E546: Illegal mode" -msgstr "E546: ReÄimo nepermesata" +msgid "E901: gethostbyname() in channel_open()" +msgstr "E901: gethostbyname() en channel_open()" -msgid "E548: digit expected" -msgstr "E548: cifero atendata" +msgid "E898: socket() in channel_open()" +msgstr "E898: gethostbyname() en channel_open()" -msgid "E549: Illegal percentage" -msgstr "E549: Nevalida procento" +msgid "E903: received command with non-string argument" +msgstr "E903: ricevis komandon kun argumento, kiu ne estas ĉeno" + +msgid "E904: last argument for expr/call must be a number" +msgstr "E904: lasta argumento de \"expr/call\" devas esti nombro" + +msgid "E904: third argument for call must be a list" +msgstr "E904: tria argumento de \"call\" devas esti listo" + +#, c-format +msgid "E905: received unknown command: %s" +msgstr "E905: nekonata komando ricevita: %s" + +#, c-format +msgid "E630: %s(): write while not connected" +msgstr "E630: %s(): konservo dum nekonektita" + +#, c-format +msgid "E631: %s(): write failed" +msgstr "E631: %s(): Konservo malsukcesis" + +#, c-format +msgid "E917: Cannot use a callback with %s()" +msgstr "E917: Ne eblas uzi reagfunkcion kun %s()" + +msgid "E912: cannot use ch_evalexpr()/ch_sendexpr() with a raw or nl channel" +msgstr "E912: ne eblas uzi ch_evalexpr()/ch_sendexpr() kun kruda aÅ nl kanalo" + +msgid "E906: not an open channel" +msgstr "E906: ne estas malfermita kanalo" + +msgid "E920: _io file requires _name to be set" +msgstr "E920: dosiero _io bezonas _name" + +msgid "E915: in_io buffer requires in_buf or in_name to be set" +msgstr "E915: bufro in_io bezonas in_buf aÅ in_name" + +#, c-format +msgid "E918: buffer must be loaded: %s" +msgstr "E918: bufro devas esti Åargita: %s" + +msgid "E821: File is encrypted with unknown method" +msgstr "E821: Dosiero estas ĉifrita per nekonata metodo" + +msgid "Warning: Using a weak encryption method; see :help 'cm'" +msgstr "Averto: uzo de malfortika ĉifrada metodo; vidu :help 'cm'" + +msgid "Enter encryption key: " +msgstr "Tajpu la Ålosilon de ĉifrado: " + +msgid "Enter same key again: " +msgstr "Tajpu la Ålosilon denove: " + +msgid "Keys don't match!" +msgstr "Åœlosiloj ne kongruas!" + +msgid "[crypted]" +msgstr "[ĉifrita]" + +#, c-format +msgid "E720: Missing colon in Dictionary: %s" +msgstr "E720: Mankas dupunkto en la vortaro: %s" + +#, c-format +msgid "E721: Duplicate key in Dictionary: \"%s\"" +msgstr "E721: Ripetita Ålosilo en la vortaro: \"%s\"" + +#, c-format +msgid "E722: Missing comma in Dictionary: %s" +msgstr "E722: Mankas komo en la vortaro: %s" #, c-format -msgid "E96: Can not diff more than %<PRId64> buffers" -msgstr "E96: Ne eblas dosierdiferenci pli ol %<PRId64> bufrojn" +msgid "E723: Missing end of Dictionary '}': %s" +msgstr "E723: Mankas fino de vortaro '}': %s" + +msgid "extend() argument" +msgstr "argumento de extend()" + +#, c-format +msgid "E737: Key already exists: %s" +msgstr "E737: Åœlosilo jam ekzistas: %s" + +#, c-format +msgid "E96: Cannot diff more than %ld buffers" +msgstr "E96: Ne eblas dosierdiferenci pli ol %ld bufrojn" msgid "E810: Cannot read or write temp files" msgstr "E810: Ne eblas legi aÅ skribi provizorajn dosierojn" @@ -232,6 +322,9 @@ msgstr "E810: Ne eblas legi aÅ skribi provizorajn dosierojn" msgid "E97: Cannot create diffs" msgstr "E97: Ne eblas krei dosierdiferencojn" +msgid "Patch file" +msgstr "Flika dosiero" + msgid "E816: Cannot read patch output" msgstr "E816: Ne eblas legi eliron de flikilo \"patch\"" @@ -376,55 +469,17 @@ msgstr "kongruo %d de %d" msgid "match %d" msgstr "kongruo %d" +#. maximum nesting of lists and dicts msgid "E18: Unexpected characters in :let" msgstr "E18: Neatenditaj signoj en \":let\"" #, c-format -msgid "E684: list index out of range: %<PRId64>" -msgstr "E684: indekso de listo ekster limoj: %<PRId64>" - -#, c-format msgid "E121: Undefined variable: %s" msgstr "E121: Nedifinita variablo: %s" msgid "E111: Missing ']'" msgstr "E111: Mankas ']'" -#, c-format -msgid "E686: Argument of %s must be a List" -msgstr "E686: Argumento de %s devas esti Listo" - -#, c-format -msgid "E712: Argument of %s must be a List or Dictionary" -msgstr "E712: Argumento de %s devas esti Listo aÅ Vortaro" - -msgid "E714: List required" -msgstr "E714: Listo bezonata" - -msgid "E715: Dictionary required" -msgstr "E715: Vortaro bezonata" - -msgid "E928: String required" -msgstr "E928: Ĉeno bezonata" - -#, c-format -msgid "E118: Too many arguments for function: %s" -msgstr "E118: Tro da argumentoj por funkcio: %s" - -#, c-format -msgid "E716: Key not present in Dictionary: %s" -msgstr "E716: Åœlosilo malekzistas en Vortaro: %s" - -#, c-format -msgid "E122: Function %s already exists, add ! to replace it" -msgstr "E122: La funkcio %s jam ekzistas (aldonu ! por anstataÅigi Äin)" - -msgid "E717: Dictionary entry already exists" -msgstr "E717: Rikordo de vortaro jam ekzistas" - -msgid "E718: Funcref required" -msgstr "E718: Funcref bezonata" - msgid "E719: Cannot use [:] with a Dictionary" msgstr "E719: Uzo de [:] ne eblas kun Vortaro" @@ -433,10 +488,6 @@ msgid "E734: Wrong variable type for %s=" msgstr "E734: Nevalida datumtipo de variablo de %s=" #, c-format -msgid "E130: Unknown function: %s" -msgstr "E130: Nekonata funkcio: %s" - -#, c-format msgid "E461: Illegal variable name: %s" msgstr "E461: Nevalida nomo de variablo: %s" @@ -475,10 +526,6 @@ msgid "E690: Missing \"in\" after :for" msgstr "E690: \"in\" mankas post \":for\"" #, c-format -msgid "E107: Missing parentheses: %s" -msgstr "E107: Mankas krampoj: %s" - -#, c-format msgid "E108: No such variable: \"%s\"" msgstr "E108: Ne estas tia variablo: \"%s\"" @@ -491,7 +538,7 @@ msgstr "E109: Mankas ':' post '?'" msgid "E691: Can only compare List with List" msgstr "E691: Eblas nur kompari Liston kun Listo" -msgid "E692: Invalid operation for Lists" +msgid "E692: Invalid operation for List" msgstr "E692: Nevalida operacio de Listoj" msgid "E735: Can only compare Dictionary with Dictionary" @@ -500,9 +547,6 @@ msgstr "E735: Eblas nur kompari Vortaron kun Vortaro" msgid "E736: Invalid operation for Dictionary" msgstr "E736: Nevalida operacio de Vortaro" -msgid "E693: Can only compare Funcref with Funcref" -msgstr "E693: Eblas nur kompari Funcref kun Funcref" - msgid "E694: Invalid operation for Funcrefs" msgstr "E694: Nevalida operacio de Funcref-oj" @@ -534,150 +578,12 @@ msgstr "E114: Mankas citilo: %s" msgid "E115: Missing quote: %s" msgstr "E115: Mankas citilo: %s" -#, c-format -msgid "E696: Missing comma in List: %s" -msgstr "E696: Mankas komo en Listo: %s" - -#, c-format -msgid "E697: Missing end of List ']': %s" -msgstr "E697: Mankas fino de Listo ']': %s" - msgid "Not enough memory to set references, garbage collection aborted!" msgstr "Ne sufiĉa memoro por valorigi referencojn, senrubigado ĉesigita!" -#, c-format -msgid "E720: Missing colon in Dictionary: %s" -msgstr "E720: Mankas dupunkto en la vortaro: %s" - -#, c-format -msgid "E721: Duplicate key in Dictionary: \"%s\"" -msgstr "E721: Ripetita Ålosilo en la vortaro: \"%s\"" - -#, c-format -msgid "E722: Missing comma in Dictionary: %s" -msgstr "E722: Mankas komo en la vortaro: %s" - -#, c-format -msgid "E723: Missing end of Dictionary '}': %s" -msgstr "E723: Mankas fino de vortaro '}': %s" - msgid "E724: variable nested too deep for displaying" msgstr "E724: variablo ingita tro profunde por vidigi" -#, c-format -msgid "E740: Too many arguments for function %s" -msgstr "E740: Tro da argumentoj por funkcio: %s" - -#, c-format -msgid "E116: Invalid arguments for function %s" -msgstr "E116: Nevalidaj argumentoj por funkcio: %s" - -#, c-format -msgid "E117: Unknown function: %s" -msgstr "E117: Nekonata funkcio: %s" - -#, c-format -msgid "E119: Not enough arguments for function: %s" -msgstr "E119: Ne sufiĉe da argumentoj por funkcio: %s" - -#, c-format -msgid "E120: Using <SID> not in a script context: %s" -msgstr "E120: <SID> estas uzata ekster kunteksto de skripto: %s" - -#, c-format -msgid "E725: Calling dict function without Dictionary: %s" -msgstr "E725: Alvoko de funkcio dict sen Vortaro: %s" - -msgid "E808: Number or Float required" -msgstr "E808: Nombro aÅ Glitpunktnombro bezonata" - -msgid "add() argument" -msgstr "argumento de add()" - -msgid "E699: Too many arguments" -msgstr "E699: Tro da argumentoj" - -msgid "E785: complete() can only be used in Insert mode" -msgstr "E785: complete() uzeblas nur en Enmeta reÄimo" - -msgid "&Ok" -msgstr "&Bone" - -#, c-format -msgid "E737: Key already exists: %s" -msgstr "E737: Åœlosilo jam ekzistas: %s" - -msgid "extend() argument" -msgstr "argumento de extend()" - -msgid "map() argument" -msgstr "argumento de map()" - -msgid "filter() argument" -msgstr "argumento de filter()" - -#, c-format -msgid "+-%s%3ld lines: " -msgstr "+-%s%3ld linioj: " - -#, c-format -msgid "E700: Unknown function: %s" -msgstr "E700: Nekonata funkcio: %s" - -msgid "called inputrestore() more often than inputsave()" -msgstr "alvokis inputrestore() pli ofte ol inputsave()" - -msgid "insert() argument" -msgstr "argumento de insert()" - -msgid "E786: Range not allowed" -msgstr "E786: Amplekso nepermesebla" - -msgid "E701: Invalid type for len()" -msgstr "E701: Nevalida datumtipo de len()" - -msgid "E726: Stride is zero" -msgstr "E726: PaÅo estas nul" - -msgid "E727: Start past end" -msgstr "E727: Komenco preter fino" - -msgid "<empty>" -msgstr "<malplena>" - -msgid "remove() argument" -msgstr "argumento de remove()" - -msgid "E655: Too many symbolic links (cycle?)" -msgstr "E655: Tro da simbolaj ligiloj (ĉu estas ciklo?)" - -msgid "reverse() argument" -msgstr "argumento de reverse()" - -#, c-format -msgid "E927: Invalid action: '%s'" -msgstr "E927: Nevalida ago: '%s'" - -msgid "sort() argument" -msgstr "argumento de sort()" - -#, fuzzy -#~ msgid "uniq() argument" -#~ msgstr "argumento de add()" - -msgid "E702: Sort compare function failed" -msgstr "E702: Ordiga funkcio fiaskis" - -#, fuzzy -#~ msgid "E882: Uniq compare function failed" -#~ msgstr "E702: Ordiga funkcio fiaskis" - -msgid "(Invalid)" -msgstr "(Nevalida)" - -msgid "E677: Error writing temp file" -msgstr "E677: Eraro dum skribo de provizora dosiero" - msgid "E805: Using a Float as a Number" msgstr "E805: Uzo de Glitpunktnombro kiel Nombro" @@ -690,6 +596,12 @@ msgstr "E745: Uzo de Listo kiel Nombro" msgid "E728: Using a Dictionary as a Number" msgstr "E728: Uzo de Vortaro kiel Nombro" +msgid "E910: Using a Job as a Number" +msgstr "E910: Uzo de Tasko kiel Nombro" + +msgid "E913: Using a Channel as a Number" +msgstr "E913: Uzo de Kanalo kiel Nombro" + msgid "E891: Using a Funcref as a Float" msgstr "E891: Uzo de Funcref kiel Glitpunktnombro" @@ -702,6 +614,15 @@ msgstr "E893: Uzo de Listo kiel Glitpunktnombro" msgid "E894: Using a Dictionary as a Float" msgstr "E894: Uzo de Vortaro kiel Glitpunktnombro" +msgid "E907: Using a special value as a Float" +msgstr "E907: Uzo de speciala valoro kiel Glitpunktnombro" + +msgid "E911: Using a Job as a Float" +msgstr "E911: Uzo de Tasko kiel Glitpunktnombro" + +msgid "E914: Using a Channel as a Float" +msgstr "E914: Uzo de Kanalo kiel Glitpunktnombro" + msgid "E729: using Funcref as a String" msgstr "E729: uzo de Funcref kiel Ĉeno" @@ -715,10 +636,6 @@ msgid "E908: using an invalid value as a String" msgstr "E908: uzo de nevalida valoro kiel Ĉeno" #, c-format -msgid "E706: Variable type mismatch for: %s" -msgstr "E706: Nekongrua datumtipo de variablo: %s" - -#, c-format msgid "E795: Cannot delete variable %s" msgstr "E795: Ne eblas forviÅi variablon %s" @@ -744,97 +661,151 @@ msgstr "E742: Ne eblas ÅanÄi valoron de %s" msgid "E698: variable nested too deep for making a copy" msgstr "E698: variablo ingita tro profunde por fari kopion" -#, c-format -msgid "E123: Undefined function: %s" -msgstr "E123: Nedifinita funkcio: %s" +msgid "" +"\n" +"# global variables:\n" +msgstr "" +"\n" +"# mallokaj variabloj:\n" -#, c-format -msgid "E124: Missing '(': %s" -msgstr "E124: Mankas '(': %s" +msgid "" +"\n" +"\tLast set from " +msgstr "" +"\n" +"\tLaste Åaltita de " -msgid "E862: Cannot use g: here" -msgstr "E862: Ne eblas uzi g: ĉi tie" +msgid "map() argument" +msgstr "argumento de map()" -#, c-format -msgid "E125: Illegal argument: %s" -msgstr "E125: Nevalida argumento: %s" +msgid "filter() argument" +msgstr "argumento de filter()" #, c-format -msgid "E853: Duplicate argument name: %s" -msgstr "E853: Ripetita nomo de argumento: %s" +msgid "E686: Argument of %s must be a List" +msgstr "E686: Argumento de %s devas esti Listo" -msgid "E126: Missing :endfunction" -msgstr "E126: Mankas \":endfunction\"" +msgid "E928: String required" +msgstr "E928: Ĉeno bezonata" -#, c-format -msgid "E707: Function name conflicts with variable: %s" -msgstr "E707: Nomo de funkcio konfliktas kun variablo: %s" +msgid "E808: Number or Float required" +msgstr "E808: Nombro aÅ Glitpunktnombro bezonata" + +msgid "add() argument" +msgstr "argumento de add()" + +msgid "E785: complete() can only be used in Insert mode" +msgstr "E785: complete() uzeblas nur en Enmeta reÄimo" + +#. +#. * Yes this is ugly, I don't particularly like it either. But doing it +#. * this way has the compelling advantage that translations need not to +#. * be touched at all. See below what 'ok' and 'ync' are used for. +#. +msgid "&Ok" +msgstr "&Bone" #, c-format -msgid "E127: Cannot redefine function %s: It is in use" -msgstr "E127: Ne eblas redifini funkcion %s: Estas nuntempe uzata" +msgid "+-%s%3ld line: " +msgid_plural "+-%s%3ld lines: " +msgstr[0] "+-%s%3ld linio: " +msgstr[1] "+-%s%3ld linioj: " #, c-format -msgid "E746: Function name does not match script file name: %s" -msgstr "E746: Nomo de funkcio ne kongruas kun dosiernomo de skripto: %s" +msgid "E700: Unknown function: %s" +msgstr "E700: Nekonata funkcio: %s" -msgid "E129: Function name required" -msgstr "E129: Nomo de funkcio bezonata" +msgid "E922: expected a dict" +msgstr "E922: vortaro atendita" -#, fuzzy, c-format -#~ msgid "E128: Function name must start with a capital or \"s:\": %s" -#~ msgstr "E128: Nomo de funkcio devas eki per majusklo aÅ enhavi dupunkton: %s" +msgid "E923: Second argument of function() must be a list or a dict" +msgstr "E923: Dua argumento de function() devas esti listo aÅ Vortaro" -#, fuzzy, c-format -#~ msgid "E884: Function name cannot contain a colon: %s" -#~ msgstr "E128: Nomo de funkcio devas eki per majusklo aÅ enhavi dupunkton: %s" +msgid "" +"&OK\n" +"&Cancel" +msgstr "" +"&Bone\n" +"&Rezigni" -#, c-format -msgid "E131: Cannot delete function %s: It is in use" -msgstr "E131: Ne eblas forviÅi funkcion %s: Estas nuntempe uzata" +msgid "called inputrestore() more often than inputsave()" +msgstr "alvokis inputrestore() pli ofte ol inputsave()" -msgid "E132: Function call depth is higher than 'maxfuncdepth'" -msgstr "E132: Profundo de funkcia alvoko superas 'maxfuncdepth'" +msgid "insert() argument" +msgstr "argumento de insert()" -#, c-format -msgid "calling %s" -msgstr "alvokas %s" +msgid "E786: Range not allowed" +msgstr "E786: Amplekso nepermesebla" -#, c-format -msgid "%s aborted" -msgstr "%s ĉesigita" +msgid "E916: not a valid job" +msgstr "E916: nevalida tasko" + +msgid "E701: Invalid type for len()" +msgstr "E701: Nevalida datumtipo de len()" #, c-format -msgid "%s returning #%<PRId64>" -msgstr "%s liveras #%<PRId64>" +msgid "E798: ID is reserved for \":match\": %ld" +msgstr "E798: ID estas rezervita por \":match\": %ld" + +msgid "E726: Stride is zero" +msgstr "E726: PaÅo estas nul" + +msgid "E727: Start past end" +msgstr "E727: Komenco preter fino" + +msgid "<empty>" +msgstr "<malplena>" + +msgid "E240: No connection to Vim server" +msgstr "E240: Neniu konekto al Vim-servilo" #, c-format -msgid "%s returning %s" -msgstr "%s liveras %s" +msgid "E241: Unable to send to %s" +msgstr "E241: Ne eblas sendi al %s" + +msgid "E277: Unable to read a server reply" +msgstr "E277: Ne eblas legi respondon de servilo" + +msgid "remove() argument" +msgstr "argumento de remove()" + +msgid "E655: Too many symbolic links (cycle?)" +msgstr "E655: Tro da simbolaj ligiloj (ĉu estas ciklo?)" + +msgid "reverse() argument" +msgstr "argumento de reverse()" + +msgid "E258: Unable to send to client" +msgstr "E258: Ne eblas sendi al kliento" #, c-format -msgid "continuing in %s" -msgstr "daÅrigas en %s" +msgid "E927: Invalid action: '%s'" +msgstr "E927: Nevalida ago: '%s'" -msgid "E133: :return not inside a function" -msgstr "E133: \":return\" ekster funkcio" +msgid "sort() argument" +msgstr "argumento de sort()" -msgid "" -"\n" -"# global variables:\n" -msgstr "" -"\n" -"# mallokaj variabloj:\n" +msgid "uniq() argument" +msgstr "argumento de uniq()" -msgid "" -"\n" -"\tLast set from " -msgstr "" -"\n" -"\tLaste Åaltita de " +msgid "E702: Sort compare function failed" +msgstr "E702: Ordiga funkcio malsukcesis" -msgid "No old files" -msgstr "Neniu malnova dosiero" +msgid "E882: Uniq compare function failed" +msgstr "E882: kompara funkcio de uniq() malsukcesis" + +msgid "(Invalid)" +msgstr "(Nevalida)" + +#, c-format +msgid "E935: invalid submatch number: %d" +msgstr "E935: nevalida indekso de \"submatch\": %d" + +msgid "E677: Error writing temp file" +msgstr "E677: Eraro dum skribo de provizora dosiero" + +msgid "E921: Invalid callback argument" +msgstr "E921: Nevalida argumento de reagfunctio" #, c-format msgid "<%s>%s%s %d, Hex %02x, Octal %03o" @@ -855,12 +826,12 @@ msgid "1 line moved" msgstr "1 linio movita" #, c-format -msgid "%<PRId64> lines moved" -msgstr "%<PRId64> linioj movitaj" +msgid "%ld lines moved" +msgstr "%ld linioj movitaj" #, c-format -msgid "%<PRId64> lines filtered" -msgstr "%<PRId64> linioj filtritaj" +msgid "%ld lines filtered" +msgstr "%ld linioj filtritaj" msgid "E135: *Filter* Autocommands must not change current buffer" msgstr "E135: *Filtraj* AÅtokomandoj ne rajtas ÅanÄi aktualan bufron" @@ -889,7 +860,7 @@ msgid " oldfiles" msgstr " malnovaj dosieroj" msgid " FAILED" -msgstr " FIASKIS" +msgstr " MALSUKCESIS" #. avoid a wait_return for this message, it's annoying #, c-format @@ -897,6 +868,10 @@ msgid "E137: Viminfo file is not writable: %s" msgstr "E137: Dosiero viminfo ne skribeblas: %s" #, c-format +msgid "E929: Too many viminfo temp files, like %s!" +msgstr "E929: Tro da provizoraj dosieroj viminfo, kiel %s!" + +#, c-format msgid "E138: Can't write viminfo file %s!" msgstr "E138: Ne eblas skribi dosieron viminfo %s!" @@ -904,6 +879,10 @@ msgstr "E138: Ne eblas skribi dosieron viminfo %s!" msgid "Writing viminfo file \"%s\"" msgstr "Skribas dosieron viminfo \"%s\"" +#, c-format +msgid "E886: Can't rename viminfo file to %s!" +msgstr "E886: Ne eblas renomi dosieron viminfo al %s!" + #. Write the info: #, c-format msgid "# This viminfo file was generated by Vim %s.\n" @@ -922,6 +901,16 @@ msgstr "# Valoro de 'encoding' kiam tiu dosiero estis kreita\n" msgid "Illegal starting char" msgstr "Nevalida eka signo" +msgid "" +"\n" +"# Bar lines, copied verbatim:\n" +msgstr "" +"\n" +"# Linioj komencantaj per |, kopiitaj sen ÅanÄo:\n" + +msgid "Save As" +msgstr "Konservi kiel" + msgid "Write partial file?" msgstr "Ĉu skribi partan dosieron?" @@ -941,8 +930,8 @@ msgid "E768: Swap file exists: %s (:silent! overrides)" msgstr "E768: Permutodosiero .swp ekzistas: %s (:silent! por transpasi)" #, c-format -msgid "E141: No file name for buffer %<PRId64>" -msgstr "E141: Neniu dosiernomo de bufro %<PRId64>" +msgid "E141: No file name for buffer %ld" +msgstr "E141: Neniu dosiernomo de bufro %ld" msgid "E142: File not written: Writing is disabled by 'write' option" msgstr "E142: Dosiero ne skribita: Skribo malÅaltita per la opcio 'write'" @@ -969,6 +958,9 @@ msgstr "" msgid "E505: \"%s\" is read-only (add ! to override)" msgstr "E505: \"%s\" estas nurlegebla (aldonu ! por transpasi)" +msgid "Edit File" +msgstr "Redakti dosieron" + #, c-format msgid "E143: Autocommands unexpectedly deleted new buffer %s" msgstr "E143: AÅtokomandoj neatendite forviÅis novan bufron %s" @@ -996,19 +988,19 @@ msgid "1 substitution" msgstr "1 anstataÅigo" #, c-format -msgid "%<PRId64> matches" -msgstr "%<PRId64> kongruoj" +msgid "%ld matches" +msgstr "%ld kongruoj" #, c-format -msgid "%<PRId64> substitutions" -msgstr "%<PRId64> anstataÅigoj" +msgid "%ld substitutions" +msgstr "%ld anstataÅigoj" msgid " on 1 line" msgstr " en 1 linio" #, c-format -msgid " on %<PRId64> lines" -msgstr " en %<PRId64> linioj" +msgid " on %ld lines" +msgstr " en %ld linioj" msgid "E147: Cannot do :global recursive" msgstr "E147: Ne eblas fari \":global\" rekursie" @@ -1051,8 +1043,8 @@ msgid "Sorry, help file \"%s\" not found" msgstr "BedaÅrinde, la helpdosiero \"%s\" ne troveblas" #, c-format -msgid "E150: Not a directory: %s" -msgstr "E150: Ne estas dosierujo: %s" +msgid "E151: No match: %s" +msgstr "E151: Neniu kongruo: %s" #, c-format msgid "E152: Cannot open %s for writing" @@ -1071,6 +1063,10 @@ msgid "E154: Duplicate tag \"%s\" in file %s/%s" msgstr "E154: Ripetita etikedo \"%s\" en dosiero %s/%s" #, c-format +msgid "E150: Not a directory: %s" +msgstr "E150: Ne estas dosierujo: %s" + +#, c-format msgid "E160: Unknown sign command: %s" msgstr "E160: Nekonata simbola komando: %s" @@ -1095,9 +1091,19 @@ msgstr "E159: Mankas numero de simbolo" msgid "E158: Invalid buffer name: %s" msgstr "E158: Nevalida nomo de bufro: %s" +msgid "E934: Cannot jump to a buffer that does not have a name" +msgstr "E934: Ne eblas salti al sennoma bufro" + +#, c-format +msgid "E157: Invalid sign ID: %ld" +msgstr "E157: Nevalida identigilo de simbolo: %ld" + #, c-format -msgid "E157: Invalid sign ID: %<PRId64>" -msgstr "E157: Nevalida identigilo de simbolo: %<PRId64>" +msgid "E885: Not possible to change sign %s" +msgstr "E885: Ne eblas ÅanÄi simbolon %s" + +msgid " (NOT FOUND)" +msgstr " (NETROVITA)" msgid " (not supported)" msgstr " (nesubtenata)" @@ -1105,12 +1111,15 @@ msgstr " (nesubtenata)" msgid "[Deleted]" msgstr "[ForviÅita]" +msgid "No old files" +msgstr "Neniu malnova dosiero" + msgid "Entering Debug mode. Type \"cont\" to continue." msgstr "Eniras sencimigan reÄimon. Tajpu \"cont\" por daÅrigi." #, c-format -msgid "line %<PRId64>: %s" -msgstr "linio %<PRId64>: %s" +msgid "line %ld: %s" +msgstr "linio %ld: %s" #, c-format msgid "cmd: %s" @@ -1124,8 +1133,8 @@ msgid "frame at highest level: %d" msgstr "kadro je la plej alta nivelo: %d" #, c-format -msgid "Breakpoint in \"%s%s\" line %<PRId64>" -msgstr "Kontrolpunkto en \"%s%s\" linio %<PRId64>" +msgid "Breakpoint in \"%s%s\" line %ld" +msgstr "Kontrolpunkto en \"%s%s\" linio %ld" #, c-format msgid "E161: Breakpoint not found: %s" @@ -1135,8 +1144,8 @@ msgid "No breakpoints defined" msgstr "Neniu kontrolpunkto estas difinita" #, c-format -msgid "%3d %s %s line %<PRId64>" -msgstr "%3d %s %s linio %<PRId64>" +msgid "%3d %s %s line %ld" +msgstr "%3d %s %s linio %ld" msgid "E750: First use \":profile start {fname}\"" msgstr "E750: Uzu unue \":profile start {dosiernomo}\"" @@ -1180,6 +1189,9 @@ msgstr "Serĉado de \"%s\"" msgid "not found in '%s': \"%s\"" msgstr "ne trovita en '%s: \"%s\"" +msgid "Source Vim script" +msgstr "Ruli Vim-skripton" + #, c-format msgid "Cannot source a directory: \"%s\"" msgstr "Ne eblas ruli dosierujon: \"%s\"" @@ -1189,21 +1201,25 @@ msgid "could not source \"%s\"" msgstr "ne eblis ruli \"%s\"" #, c-format -msgid "line %<PRId64>: could not source \"%s\"" -msgstr "linio %<PRId64>: ne eblis ruli \"%s\"" +msgid "line %ld: could not source \"%s\"" +msgstr "linio %ld: ne eblis ruli \"%s\"" #, c-format msgid "sourcing \"%s\"" msgstr "rulas \"%s\"" #, c-format -msgid "line %<PRId64>: sourcing \"%s\"" -msgstr "linio %<PRId64>: rulas \"%s\"" +msgid "line %ld: sourcing \"%s\"" +msgstr "linio %ld: rulas \"%s\"" #, c-format msgid "finished sourcing %s" msgstr "finis ruli %s" +#, c-format +msgid "continuing in %s" +msgstr "daÅrigas en %s" + msgid "modeline" msgstr "reÄimlinio" @@ -1236,8 +1252,6 @@ msgstr "Aktuala %slingvo: \"%s\"" msgid "E197: Cannot set language to \"%s\"" msgstr "E197: Ne eblas ÅanÄi la lingvon al \"%s\"" -#. don't redisplay the window -#. don't wait for return msgid "Entering Ex mode. Type \"visual\" to go to Normal mode." msgstr "Eniras reÄimon Ex. Tajpu \"visual\" por iri al reÄimo Normala." @@ -1269,12 +1283,10 @@ msgstr "E493: Inversa amplekso donita" msgid "Backwards range given, OK to swap" msgstr "Inversa amplekso donita, permuteblas" -#. append -#. typed wrong msgid "E494: Use w or w>>" msgstr "E494: Uzu w aÅ w>>" -msgid "E319: The command is not available in this version" +msgid "E319: Sorry, the command is not available in this version" msgstr "E319: BedaÅrinde, tiu komando ne haveblas en tiu versio" msgid "E172: Only one file name allowed" @@ -1291,8 +1303,8 @@ msgid "E173: 1 more file to edit" msgstr "E173: 1 plia redaktenda dosiero" #, c-format -msgid "E173: %<PRId64> more files to edit" -msgstr "E173: %<PRId64> pliaj redaktendaj dosieroj" +msgid "E173: %ld more files to edit" +msgstr "E173: %ld pliaj redaktendaj dosieroj" msgid "E174: Command already exists: add ! to replace it" msgstr "E174: La komando jam ekzistas: aldonu ! por anstataÅigi Äin" @@ -1358,6 +1370,9 @@ msgstr "" msgid "E467: Custom completion requires a function argument" msgstr "E467: Uzula kompletigo bezonas funkcian argumenton" +msgid "unknown" +msgstr "nekonata" + #, c-format msgid "E185: Cannot find color scheme '%s'" msgstr "E185: Ne eblas trovi agordaron de koloroj '%s'" @@ -1371,6 +1386,9 @@ msgstr "E784: Ne eblas fermi lastan langeton" msgid "Already only one tab page" msgstr "Jam nur unu langeto" +msgid "Edit File in new window" +msgstr "Redakti Dosieron en nova fenestro" + #, c-format msgid "Tab page %d" msgstr "Langeto %d" @@ -1378,6 +1396,9 @@ msgstr "Langeto %d" msgid "No swap file" msgstr "Neniu permutodosiero .swp" +msgid "Append File" +msgstr "Postaldoni dosieron" + msgid "E747: Cannot change directory, buffer is modified (add ! to override)" msgstr "" "E747: Ne eblas ÅanÄi dosierujon, bufro estas ÅanÄita (aldonu ! por transpasi)" @@ -1391,6 +1412,10 @@ msgstr "E187: Nekonata" msgid "E465: :winsize requires two number arguments" msgstr "E465: \":winsize\" bezonas du numerajn argumentojn" +#, c-format +msgid "Window position: X %d, Y %d" +msgstr "Pozicio de fenestro: X %d, Y %d" + msgid "E188: Obtaining window position not implemented for this platform" msgstr "" "E188: Akiro de pozicio de fenestro ne estas realigita por tiu platformo" @@ -1398,6 +1423,22 @@ msgstr "" msgid "E466: :winpos requires two number arguments" msgstr "E466: \":winpos\" bezonas du numerajn argumentojn" +msgid "E930: Cannot use :redir inside execute()" +msgstr "E930: Ne eblas uzi :redir en execute()" + +msgid "Save Redirection" +msgstr "Konservi alidirekton" + +# DP: mi ne certas pri superflugo +msgid "Save View" +msgstr "Konservi superflugon" + +msgid "Save Session" +msgstr "Konservi seancon" + +msgid "Save Setup" +msgstr "Konservi agordaron" + #, c-format msgid "E739: Cannot create directory: %s" msgstr "E739: Ne eblas krei dosierujon %s" @@ -1417,6 +1458,9 @@ msgstr "E191: Argumento devas esti litero, citilo aÅ retrocitilo" msgid "E192: Recursive use of :normal too deep" msgstr "E192: Tro profunda rekursia alvoko de \":normal\"" +msgid "E809: #< is not available without the +eval feature" +msgstr "E809: #< ne haveblas sen la eblo +eval" + msgid "E194: No alternate file name to substitute for '#'" msgstr "E194: Neniu alterna dosiernomo por anstataÅigi al '#'" @@ -1439,9 +1483,9 @@ msgstr "E498: neniu dosiernomo \":source\" por anstataÅigi al \"<sfile>\"" msgid "E842: no line number to use for \"<slnum>\"" msgstr "E842: neniu uzebla numero de linio por \"<slnum>\"" -#, fuzzy, c-format -#~ msgid "E499: Empty file name for '%' or '#', only works with \":p:h\"" -#~ msgstr "E499: Malplena dosiernomo por '%' aÅ '#', nur funkcias kun \":p:h\"" +#, no-c-format +msgid "E499: Empty file name for '%' or '#', only works with \":p:h\"" +msgstr "E499: Malplena dosiernomo por '%' aÅ '#', nur funkcias kun \":p:h\"" msgid "E500: Evaluates to an empty string" msgstr "E500: Liveras malplenan ĉenon" @@ -1449,6 +1493,9 @@ msgstr "E500: Liveras malplenan ĉenon" msgid "E195: Cannot open viminfo file for reading" msgstr "E195: Ne eblas malfermi dosieron viminfo en lega reÄimo" +msgid "E196: No digraphs in this version" +msgstr "E196: Neniu duliteraĵo en tiu versio" + msgid "E608: Cannot :throw exceptions with 'Vim' prefix" msgstr "E608: Ne eblas lanĉi (:throw) escepton kun prefikso 'Vim'" @@ -1466,8 +1513,8 @@ msgid "Exception discarded: %s" msgstr "Escepto ne konservita: %s" #, c-format -msgid "%s, line %<PRId64>" -msgstr "%s, linio %<PRId64>" +msgid "%s, line %ld" +msgstr "%s, linio %ld" #. always scroll up, don't overwrite #, c-format @@ -1600,33 +1647,6 @@ msgstr "E198: cmd_pchar preter la longo de komando" msgid "E199: Active window or buffer deleted" msgstr "E199: Aktiva fenestro aÅ bufro forviÅita" -msgid "E854: path too long for completion" -msgstr "E854: tro longa vojo por kompletigo" - -#, c-format -msgid "" -"E343: Invalid path: '**[number]' must be at the end of the path or be " -"followed by '%s'." -msgstr "" -"E343: Nevalida vojo: '**[nombro]' devas esti ĉe la fino de la vojo aÅ " -"sekvita de '%s'." - -#, c-format -msgid "E344: Can't find directory \"%s\" in cdpath" -msgstr "E344: Ne eblas trovi dosierujon \"%s\" en cdpath" - -#, c-format -msgid "E345: Can't find file \"%s\" in path" -msgstr "E345: Ne eblas trovi dosieron \"%s\" en serĉvojo" - -#, c-format -msgid "E346: No more directory \"%s\" found in cdpath" -msgstr "E346: Ne plu trovis dosierujon \"%s\" en cdpath" - -#, c-format -msgid "E347: No more file \"%s\" found in path" -msgstr "E347: Ne plu trovis dosieron \"%s\" en serĉvojo" - msgid "E812: Autocommands changed buffer or buffer name" msgstr "E812: AÅtokomandoj ÅanÄis bufron aÅ nomon de bufro" @@ -1639,6 +1659,9 @@ msgstr "estas dosierujo" msgid "is not a file" msgstr "ne estas dosiero" +msgid "is a device (disabled with 'opendevice' option)" +msgstr "estas aparatdosiero (malÅaltita per la opcio 'opendevice')" + msgid "[New File]" msgstr "[Nova dosiero]" @@ -1657,26 +1680,25 @@ msgstr "E200: La aÅtokomandoj *ReadPre igis la dosieron nelegebla" msgid "E201: *ReadPre autocommands must not change current buffer" msgstr "E201: La aÅtokomandoj *ReadPre ne rajtas ÅanÄi la aktualan bufron" -msgid "Nvim: Reading from stdin...\n" +msgid "Vim: Reading from stdin...\n" msgstr "Vim: Legado el stdin...\n" +msgid "Reading from stdin..." +msgstr "Legado el stdin..." + #. Re-opening the original file failed! msgid "E202: Conversion made file unreadable!" msgstr "E202: Konverto igis la dosieron nelegebla!" -#. fifo or socket msgid "[fifo/socket]" msgstr "[rektvica memoro/kontaktoskatolo]" -#. fifo msgid "[fifo]" msgstr "[rektvica memoro]" -#. or socket msgid "[socket]" msgstr "[kontaktoskatolo]" -#. or character special msgid "[character special]" msgstr "[speciala signo]" @@ -1693,12 +1715,12 @@ msgid "[converted]" msgstr "[konvertita]" #, c-format -msgid "[CONVERSION ERROR in line %<PRId64>]" -msgstr "[ERARO DE KONVERTO en linio %<PRId64>]" +msgid "[CONVERSION ERROR in line %ld]" +msgstr "[ERARO DE KONVERTO en linio %ld]" #, c-format -msgid "[ILLEGAL BYTE in line %<PRId64>]" -msgstr "[NEVALIDA BAJTO en linio %<PRId64>]" +msgid "[ILLEGAL BYTE in line %ld]" +msgstr "[NEVALIDA BAJTO en linio %ld]" msgid "[READ ERRORS]" msgstr "[ERAROJ DE LEGADO]" @@ -1707,7 +1729,7 @@ msgid "Can't find temp file for conversion" msgstr "Ne eblas trovi provizoran dosieron por konverti" msgid "Conversion with 'charconvert' failed" -msgstr "Konverto kun 'charconvert' fiaskis" +msgstr "Konverto kun 'charconvert' malsukcesis" msgid "can't read output of 'charconvert'" msgstr "ne eblas legi la eligon de 'charconvert'" @@ -1721,9 +1743,18 @@ msgstr "E203: AÅtokomandoj forviÅis aÅ malÅargis la skribendan bufron" msgid "E204: Autocommand changed number of lines in unexpected way" msgstr "E204: AÅtokomando ÅanÄis la nombron de linioj neatendite" +msgid "NetBeans disallows writes of unmodified buffers" +msgstr "NetBeans malpermesas skribojn de neÅanÄitaj bufroj" + +msgid "Partial writes disallowed for NetBeans buffers" +msgstr "Partaj skriboj malpermesitaj ĉe bufroj NetBeans" + msgid "is not a file or writable device" msgstr "ne estas dosiero aÅ skribebla aparatdosiero" +msgid "writing to device disabled with 'opendevice' option" +msgstr "skribo al aparatdosiero malÅaltita per la opcio 'opendevice'" + msgid "is read-only (add ! to override)" msgstr "estas nurlegebla (aldonu ! por transpasi)" @@ -1742,7 +1773,9 @@ msgstr "E509: Ne eblas krei restaÅrkopion (aldonu ! por transpasi)" msgid "E510: Can't make backup file (add ! to override)" msgstr "E510: Ne eblas krei restaÅrkopion (aldonu ! por transpasi)" -#. Can't write without a tempfile! +msgid "E460: The resource fork would be lost (add ! to override)" +msgstr "E460: La rimeda forko estus perdita (aldonu ! por transpasi)" + msgid "E214: Can't find temp file for writing" msgstr "E214: Ne eblas trovi provizoran dosieron por skribi" @@ -1757,20 +1790,21 @@ msgstr "E212: Ne eblas malfermi la dosieron por skribi" # AM: fsync: ne traduku (nomo de C-komando) msgid "E667: Fsync failed" -msgstr "E667: Fsync fiaskis" +msgstr "E667: Fsync malsukcesis" msgid "E512: Close failed" -msgstr "E512: Fermo fiaskis" +msgstr "E512: Fermo malsukcesis" msgid "E513: write error, conversion failed (make 'fenc' empty to override)" -msgstr "E513: skriberaro, konverto fiaskis (igu 'fenc' malplena por transpasi)" +msgstr "" +"E513: skriberaro, konverto malsukcesis (igu 'fenc' malplena por transpasi)" #, c-format msgid "" -"E513: write error, conversion failed in line %<PRId64> (make 'fenc' empty to " +"E513: write error, conversion failed in line %ld (make 'fenc' empty to " "override)" msgstr "" -"E513: skriberaro, konverto fiaskis en linio %<PRId64> (igu 'fenc' malplena " +"E513: skriberaro, konverto malsukcesis en linio %ld (igu 'fenc' malplena " "por transpasi)" msgid "E514: write error (file system full?)" @@ -1780,8 +1814,8 @@ msgid " CONVERSION ERROR" msgstr " ERARO DE KONVERTO" #, c-format -msgid " in line %<PRId64>;" -msgstr " en linio %<PRId64>;" +msgid " in line %ld;" +msgstr " en linio %ld;" msgid "[Device]" msgstr "[Aparatdosiero]" @@ -1842,15 +1876,15 @@ msgid "1 line, " msgstr "1 linio, " #, c-format -msgid "%<PRId64> lines, " -msgstr "%<PRId64> linioj, " +msgid "%ld lines, " +msgstr "%ld linioj, " msgid "1 character" msgstr "1 signo" #, c-format -msgid "%<PRId64> characters" -msgstr "%<PRId64> signoj" +msgid "%lld characters" +msgstr "%lld signoj" msgid "[noeol]" msgstr "[sen EOL]" @@ -1944,6 +1978,12 @@ msgstr "aÅto-forviÅas aÅtokomandon: %s <bufro=%d>" msgid "E367: No such group: \"%s\"" msgstr "E367: Ne ekzistas tia grupo: \"%s\"" +msgid "E936: Cannot delete the current group" +msgstr "E936: Ne eblas forviÅi la aktualan grupon" + +msgid "W19: Deleting augroup that is still in use" +msgstr "W19: ForviÅo de augroup kiu estas ankoraÅ uzata" + #, c-format msgid "E215: Illegal character after *: %s" msgstr "E215: Nevalida signo post *: %s" @@ -2005,10 +2045,11 @@ msgid "E351: Cannot delete fold with current 'foldmethod'" msgstr "E351: Ne eblas forviÅi faldon per la aktuala 'foldmethod'" #, c-format -msgid "+--%3ld lines folded " -msgstr "+--%3ld linioj falditaj " +msgid "+--%3ld line folded " +msgid_plural "+--%3ld lines folded " +msgstr[0] "+--%3ld linio faldita " +msgstr[1] "+--%3ld linioj falditaj " -#. buffer has already been read msgid "E222: Add to read buffer" msgstr "E222: Aldoni al lega bufro" @@ -2040,329 +2081,294 @@ msgstr "Neniu mapo trovita" msgid "E228: makemap: Illegal mode" msgstr "E228: makemap: Nevalida reÄimo" -#. key value of 'cedit' option -#. type of cmdline window or 0 -#. result of cmdline window or 0 -msgid "--No lines in buffer--" -msgstr "--Neniu linio en bufro--" - -#. -#. * The error messages that can be shared are included here. -#. * Excluded are errors that are only used once and debugging messages. -#. -msgid "E470: Command aborted" -msgstr "E470: komando ĉesigita" +msgid "E851: Failed to create a new process for the GUI" +msgstr "E851: Malsukcesis krei novan procezon por la grafika interfaco" -msgid "E471: Argument required" -msgstr "E471: Argumento bezonata" +msgid "E852: The child process failed to start the GUI" +msgstr "E852: La ida procezo malsukcesis startigi la grafikan interfacon" -msgid "E10: \\ should be followed by /, ? or &" -msgstr "E10: \\ devus esti sekvita de /, ? aÅ &" +msgid "E229: Cannot start the GUI" +msgstr "E229: Ne eblas lanĉi la grafikan interfacon" -msgid "E11: Invalid in command-line window; <CR> executes, CTRL-C quits" -msgstr "" -"E11: Nevalida en fenestro de komanda linio; <CR> plenumas, CTRL-C eliras" +#, c-format +msgid "E230: Cannot read from \"%s\"" +msgstr "E230: Ne eblas legi el \"%s\"" -msgid "E12: Command not allowed from exrc/vimrc in current dir or tag search" +msgid "E665: Cannot start GUI, no valid font found" msgstr "" -"E12: Nepermesebla komando el exrc/vimrc en aktuala dosierujo aÅ etikeda serĉo" - -msgid "E171: Missing :endif" -msgstr "E171: Mankas \":endif\"" - -msgid "E600: Missing :endtry" -msgstr "E600: Mankas \":endtry\"" - -msgid "E170: Missing :endwhile" -msgstr "E170: Mankas \":endwhile\"" - -msgid "E170: Missing :endfor" -msgstr "E170: Mankas \":endfor\"" - -msgid "E588: :endwhile without :while" -msgstr "E588: \":endwhile\" sen \":while\"" - -msgid "E588: :endfor without :for" -msgstr "E588: \":endfor\" sen \":for\"" - -msgid "E13: File exists (add ! to override)" -msgstr "E13: Dosiero ekzistas (aldonu ! por transpasi)" - -msgid "E472: Command failed" -msgstr "E472: La komando fiaskis" - -msgid "E473: Internal error" -msgstr "E473: Interna eraro" +"E665: Ne eblas startigi grafikan interfacon, neniu valida tiparo trovita" -msgid "Interrupted" -msgstr "Interrompita" - -msgid "E14: Invalid address" -msgstr "E14: Nevalida adreso" - -msgid "E474: Invalid argument" -msgstr "E474: Nevalida argumento" +msgid "E231: 'guifontwide' invalid" +msgstr "E231: 'guifontwide' nevalida" -#, c-format -msgid "E475: Invalid argument: %s" -msgstr "E475: Nevalida argumento: %s" +msgid "E599: Value of 'imactivatekey' is invalid" +msgstr "E599: Valoro de 'imactivatekey' estas nevalida" #, c-format -msgid "E15: Invalid expression: %s" -msgstr "E15: Nevalida esprimo: %s" +msgid "E254: Cannot allocate color %s" +msgstr "E254: Ne eblas disponigi koloron %s" -msgid "E16: Invalid range" -msgstr "E16: Nevalida amplekso" +msgid "No match at cursor, finding next" +msgstr "Neniu kongruo ĉe kursorpozicio, trovas sekvan" -msgid "E476: Invalid command" -msgstr "E476: Nevalida komando" +msgid "<cannot open> " +msgstr "<ne eblas malfermi> " #, c-format -msgid "E17: \"%s\" is a directory" -msgstr "E17: \"%s\" estas dosierujo" +msgid "E616: vim_SelFile: can't get font %s" +msgstr "E616: vim_SelFile: ne eblas akiri tiparon %s" -#, fuzzy -#~ msgid "E900: Invalid job id" -#~ msgstr "E49: Nevalida grando de rulumo" +msgid "E614: vim_SelFile: can't return to current directory" +msgstr "E614: vim_SelFile: ne eblas reveni al la aktuala dosierujo" -#~ msgid "E901: Job table is full" -#~ msgstr "" +msgid "Pathname:" +msgstr "Serĉvojo:" -#, c-format -msgid "E364: Library call failed for \"%s()\"" -msgstr "E364: Alvoko al biblioteko fiaskis por \"%s()\"" +msgid "E615: vim_SelFile: can't get current directory" +msgstr "E615: vim_SelFile: ne eblas akiri aktualan dosierujon" -msgid "E19: Mark has invalid line number" -msgstr "E19: Marko havas nevalidan numeron de linio" +msgid "OK" +msgstr "Bone" -msgid "E20: Mark not set" -msgstr "E20: Marko ne estas agordita" +msgid "Cancel" +msgstr "Rezigni" -msgid "E21: Cannot make changes, 'modifiable' is off" -msgstr "E21: Ne eblas fari ÅanÄojn, 'modifiable' estas malÅaltita" +msgid "Scrollbar Widget: Could not get geometry of thumb pixmap." +msgstr "" +"Fenestraĵo de rulumskalo: Ne eblis akiri geometrion de reduktita rastrumbildo" -msgid "E22: Scripts nested too deep" -msgstr "E22: Tro profunde ingitaj skriptoj" +msgid "Vim dialog" +msgstr "Vim dialogo" -msgid "E23: No alternate file" -msgstr "E23: Neniu alterna dosiero" +msgid "E232: Cannot create BalloonEval with both message and callback" +msgstr "E232: Ne eblas krei BalloonEval kun ambaÅ mesaÄo kaj reagfunkcio" -msgid "E24: No such abbreviation" -msgstr "E24: Ne estas tia mallongigo" +msgid "_Cancel" +msgstr "_Rezigni" -msgid "E477: No ! allowed" -msgstr "E477: Neniu ! permesebla" +msgid "_Save" +msgstr "_Konservi" -msgid "E25: Nvim does not have a built-in GUI" -msgstr "E25: Grafika interfaco ne uzeblas: MalÅaltita dum kompilado" +msgid "_Open" +msgstr "_Malfermi" -#, c-format -msgid "E28: No such highlight group name: %s" -msgstr "E28: Neniu grupo de emfazo kiel: %s" +msgid "_OK" +msgstr "_Bone" -msgid "E29: No inserted text yet" -msgstr "E29: AnkoraÅ neniu enmetita teksto" +msgid "" +"&Yes\n" +"&No\n" +"&Cancel" +msgstr "" +"&Jes\n" +"&Ne\n" +"&Rezigni" -msgid "E30: No previous command line" -msgstr "E30: Neniu antaÅa komanda linio" +msgid "Yes" +msgstr "Jes" -msgid "E31: No such mapping" -msgstr "E31: Neniu tiel mapo" +msgid "No" +msgstr "Ne" -msgid "E479: No match" -msgstr "E479: Neniu kongruo" +# todo '_' is for hotkey, i guess? +msgid "Input _Methods" +msgstr "Enigaj _metodoj" -#, c-format -msgid "E480: No match: %s" -msgstr "E480: Neniu kongruo: %s" +msgid "VIM - Search and Replace..." +msgstr "VIM - Serĉi kaj anstataÅigi..." -msgid "E32: No file name" -msgstr "E32: Neniu dosiernomo" +msgid "VIM - Search..." +msgstr "VIM- Serĉi..." -msgid "E33: No previous substitute regular expression" -msgstr "E33: Neniu antaÅa regulesprimo de anstataÅigo" +msgid "Find what:" +msgstr "Serĉi kion:" -msgid "E34: No previous command" -msgstr "E34: Neniu antaÅa komando" +msgid "Replace with:" +msgstr "AnstataÅigi per:" -msgid "E35: No previous regular expression" -msgstr "E35: Neniu antaÅa regulesprimo" +#. whole word only button +msgid "Match whole word only" +msgstr "Kongrui kun nur plena vorto" -msgid "E481: No range allowed" -msgstr "E481: Amplekso nepermesebla" +#. match case button +msgid "Match case" +msgstr "Uskleca kongruo" -msgid "E36: Not enough room" -msgstr "E36: Ne sufiĉe da spaco" +msgid "Direction" +msgstr "Direkto" -#, c-format -msgid "E482: Can't create file %s" -msgstr "E482: Ne eblas krei dosieron %s" +#. 'Up' and 'Down' buttons +msgid "Up" +msgstr "Supren" -msgid "E483: Can't get temp file name" -msgstr "E483: Ne eblas akiri provizoran dosiernomon" +msgid "Down" +msgstr "Suben" -#, c-format -msgid "E484: Can't open file %s" -msgstr "E484: Ne eblas malfermi dosieron %s" +msgid "Find Next" +msgstr "Trovi sekvantan" -#, c-format -msgid "E485: Can't read file %s" -msgstr "E485: Ne eblas legi dosieron %s" +msgid "Replace" +msgstr "AnstataÅigi" -msgid "E37: No write since last change (add ! to override)" -msgstr "E37: Neniu skribo de post lasta ÅanÄo (aldonu ! por transpasi)" +msgid "Replace All" +msgstr "AnstataÅigi ĉiujn" -#, fuzzy -#~ msgid "E37: No write since last change" -#~ msgstr "[Neniu skribo de post lasta ÅanÄo]\n" +msgid "_Close" +msgstr "_Fermi" -msgid "E38: Null argument" -msgstr "E38: Nula argumento" +msgid "Vim: Received \"die\" request from session manager\n" +msgstr "Vim: Ricevis peton \"die\" (morti) el la seanca administrilo\n" -msgid "E39: Number expected" -msgstr "E39: Nombro atendita" +msgid "Close tab" +msgstr "Fermi langeton" -#, c-format -msgid "E40: Can't open errorfile %s" -msgstr "E40: Ne eblas malfermi eraran dosieron %s" +msgid "New tab" +msgstr "Nova langeto" -msgid "E41: Out of memory!" -msgstr "E41: Ne plu restas memoro!" +msgid "Open Tab..." +msgstr "Malfermi langeton..." -msgid "Pattern not found" -msgstr "Åœablono ne trovita" +msgid "Vim: Main window unexpectedly destroyed\n" +msgstr "Vim: Ĉefa fenestro neatendite detruiÄis\n" -#, c-format -msgid "E486: Pattern not found: %s" -msgstr "E486: Åœablono ne trovita: %s" +msgid "&Filter" +msgstr "&Filtri" -msgid "E487: Argument must be positive" -msgstr "E487: La argumento devas esti pozitiva" +msgid "&Cancel" +msgstr "&Rezigni" -msgid "E459: Cannot go back to previous directory" -msgstr "E459: Ne eblas reiri al antaÅa dosierujo" +msgid "Directories" +msgstr "Dosierujoj" -msgid "E42: No Errors" -msgstr "E42: Neniu eraro" +msgid "Filter" +msgstr "Filtri" -msgid "E776: No location list" -msgstr "E776: Neniu listo de loko" +msgid "&Help" +msgstr "&Helpo" -msgid "E43: Damaged match string" -msgstr "E43: Difekta kongruenda ĉeno" +msgid "Files" +msgstr "Dosieroj" -msgid "E44: Corrupted regexp program" -msgstr "E44: Difekta programo de regulesprimo" +msgid "&OK" +msgstr "&Bone" -msgid "E45: 'readonly' option is set (add ! to override)" -msgstr "E45: La opcio 'readonly' estas Åaltita '(aldonu ! por transpasi)" +msgid "Selection" +msgstr "Apartigo" -#, c-format -msgid "E46: Cannot change read-only variable \"%s\"" -msgstr "E46: Ne eblas ÅanÄi nurlegeblan variablon \"%s\"" +msgid "Find &Next" +msgstr "Trovi &Sekvanta" -#, c-format -msgid "E794: Cannot set variable in the sandbox: \"%s\"" -msgstr "E794: Ne eblas agordi variablon en la sabloludejo: \"%s\"" +msgid "&Replace" +msgstr "&AnstataÅigi" -msgid "E713: Cannot use empty key for Dictionary" -msgstr "E713: Ne eblas uzi malplenan Ålosilon de Vortaro" +msgid "Replace &All" +msgstr "AnstataÅigi ĉi&on" -msgid "E47: Error while reading errorfile" -msgstr "E47: Eraro dum legado de erardosiero" +msgid "&Undo" +msgstr "&Malfari" -msgid "E48: Not allowed in sandbox" -msgstr "E48: Nepermesebla en sabloludejo" - -msgid "E523: Not allowed here" -msgstr "E523: Nepermesebla tie" +msgid "Open tab..." +msgstr "Malfermi langeton..." -msgid "E359: Screen mode setting not supported" -msgstr "E359: ReÄimo de ekrano ne subtenata" +msgid "Find string (use '\\\\' to find a '\\')" +msgstr "Trovi ĉenon (uzu '\\\\' por trovi '\\')" -msgid "E49: Invalid scroll size" -msgstr "E49: Nevalida grando de rulumo" +msgid "Find & Replace (use '\\\\' to find a '\\')" +msgstr "Trovi kaj anstataÅigi (uzu '\\\\' por trovi '\\')" -msgid "E91: 'shell' option is empty" -msgstr "E91: La opcio 'shell' estas malplena" +#. We fake this: Use a filter that doesn't select anything and a default +#. * file name that won't be used. +msgid "Not Used" +msgstr "Ne uzata" -msgid "E255: Couldn't read in sign data!" -msgstr "E255: Ne eblis legi datumojn de simboloj!" +msgid "Directory\t*.nothing\n" +msgstr "Dosierujo\t*.nenio\n" -msgid "E72: Close error on swap file" -msgstr "E72: Eraro dum malfermo de permutodosiero .swp" +#, c-format +msgid "E671: Cannot find window title \"%s\"" +msgstr "E671: Ne eblas trovi titolon de fenestro \"%s\"" -msgid "E73: tag stack empty" -msgstr "E73: malplena stako de etikedo" +#, c-format +msgid "E243: Argument not supported: \"-%s\"; Use the OLE version." +msgstr "E243: Ne subtenata argumento: \"-%s\"; Uzu la version OLE." -msgid "E74: Command too complex" -msgstr "E74: Komando tro kompleksa" +msgid "E672: Unable to open window inside MDI application" +msgstr "E672: Ne eblas malfermi fenestron interne de aplikaĵo MDI" -msgid "E75: Name too long" -msgstr "E75: Nomo tro longa" +msgid "Vim E458: Cannot allocate colormap entry, some colors may be incorrect" +msgstr "" +"Vim E458: Ne eblas disponigi rikordon de kolormapo, iuj koloroj estas eble " +"neÄustaj" -msgid "E76: Too many [" -msgstr "E76: Tro da [" +#, c-format +msgid "E250: Fonts for the following charsets are missing in fontset %s:" +msgstr "E250: Tiparoj de tiuj signaroj mankas en aro de tiparo %s:" -msgid "E77: Too many file names" -msgstr "E77: Tro da dosiernomoj" +#, c-format +msgid "E252: Fontset name: %s" +msgstr "E252: Nomo de tiparo: %s" -msgid "E488: Trailing characters" -msgstr "E488: Vostaj signoj" +#, c-format +msgid "Font '%s' is not fixed-width" +msgstr "Tiparo '%s' ne estas egallarÄa" -msgid "E78: Unknown mark" -msgstr "E78: Nekonata marko" +#, c-format +msgid "E253: Fontset name: %s" +msgstr "E253: Nomo de tiparo: %s" -msgid "E79: Cannot expand wildcards" -msgstr "E79: Ne eblas malvolvi ĵokerojn" +#, c-format +msgid "Font0: %s" +msgstr "Font0: %s" -msgid "E591: 'winheight' cannot be smaller than 'winminheight'" -msgstr "E591: 'winheight' ne rajtas esti malpli ol 'winminheight'" +#, c-format +msgid "Font1: %s" +msgstr "Font1: %s" -msgid "E592: 'winwidth' cannot be smaller than 'winminwidth'" -msgstr "E592: 'winwidth' ne rajtas esti malpli ol 'winminwidth'" +#, c-format +msgid "Font%ld width is not twice that of font0" +msgstr "Font%ld ne estas duoble pli larÄa ol font0" -msgid "E80: Error while writing" -msgstr "E80: Eraro dum skribado" +#, c-format +msgid "Font0 width: %ld" +msgstr "LarÄo de font0: %ld" -msgid "Zero count" -msgstr "Nul kvantoro" +#, c-format +msgid "Font1 width: %ld" +msgstr "LarÄo de Font1: %ld" -msgid "E81: Using <SID> not in a script context" -msgstr "E81: Uzo de <SID> ekster kunteksto de skripto" +msgid "Invalid font specification" +msgstr "Nevalida tiparo specifita" -#, c-format -msgid "E685: Internal error: %s" -msgstr "E685: Interna eraro: %s" +msgid "&Dismiss" +msgstr "&Forlasi" -msgid "E363: pattern uses more memory than 'maxmempattern'" -msgstr "E363: Åablono uzas pli da memoro ol 'maxmempattern'" +msgid "no specific match" +msgstr "Neniu specifa kongruo" -msgid "E749: empty buffer" -msgstr "E749: malplena bufro" +msgid "Vim - Font Selector" +msgstr "Vim - Elektilo de tiparo" -#, c-format -msgid "E86: Buffer %<PRId64> does not exist" -msgstr "E86: La bufro %<PRId64> ne ekzistas" +msgid "Name:" +msgstr "Nomo:" -msgid "E682: Invalid search pattern or delimiter" -msgstr "E682: Nevalida serĉa Åablono aÅ disigilo" +#. create toggle button +msgid "Show size in Points" +msgstr "Montri grandon en punktoj" -msgid "E139: File is loaded in another buffer" -msgstr "E139: Dosiero estas Åargita en alia bufro" +msgid "Encoding:" +msgstr "Kodoprezento:" -#, c-format -msgid "E764: Option '%s' is not set" -msgstr "E764: La opcio '%s' ne estas Åaltita" +msgid "Font:" +msgstr "Tiparo:" -msgid "E850: Invalid register name" -msgstr "E850: Nevalida nomo de reÄistro" +msgid "Style:" +msgstr "Stilo:" -msgid "search hit TOP, continuing at BOTTOM" -msgstr "serĉo atingis SUPRON, daÅrigonte al SUBO" +msgid "Size:" +msgstr "Grando:" -msgid "search hit BOTTOM, continuing at TOP" -msgstr "serĉo atingis SUBON, daÅrigonte al SUPRO" +msgid "E256: Hangul automata ERROR" +msgstr "E256: ERARO en aÅtomato de korea alfabeto" msgid "E550: Missing colon" msgstr "E550: Mankas dupunkto" @@ -2453,7 +2459,7 @@ msgid "Sending to printer..." msgstr "Sendas al presilo..." msgid "E365: Failed to print PostScript file" -msgstr "E365: Presado de PostSkripta dosiero fiaskis" +msgstr "E365: Presado de PostSkripta dosiero malsukcesis" msgid "Print job sent." msgstr "Laboro de presado sendita." @@ -2493,6 +2499,9 @@ msgstr "E257: cstag: etikedo netrovita" msgid "E563: stat(%s) error: %d" msgstr "E563: Eraro de stat(%s): %d" +msgid "E563: stat error" +msgstr "E563: Eraro de stat" + #, c-format msgid "E564: %s is not a directory or a valid cscope database" msgstr "E564: %s ne estas dosierujo aÅ valida datumbazo de cscope" @@ -2502,8 +2511,8 @@ msgid "Added cscope database %s" msgstr "Aldonis datumbazon de cscope %s" #, c-format -msgid "E262: error reading cscope connection %<PRId64>" -msgstr "E262: eraro dum legado de konekto de cscope %<PRId64>" +msgid "E262: error reading cscope connection %ld" +msgstr "E262: eraro dum legado de konekto de cscope %ld" msgid "E561: unknown cscope search type" msgstr "E561: nekonata tipo de serĉo de cscope" @@ -2514,18 +2523,17 @@ msgstr "E566: Ne eblis krei duktojn de cscope" msgid "E622: Could not fork for cscope" msgstr "E622: Ne eblis forki cscope" -#, fuzzy -#~ msgid "cs_create_connection setpgid failed" -#~ msgstr "plenumo de cs_create_connection fiaskis" +msgid "cs_create_connection setpgid failed" +msgstr "plenumo de cs_create_connection-setgpid malsukcesis" msgid "cs_create_connection exec failed" -msgstr "plenumo de cs_create_connection fiaskis" +msgstr "plenumo de cs_create_connection malsukcesis" msgid "cs_create_connection: fdopen for to_fp failed" -msgstr "cs_create_connection: fdopen de to_fp fiaskis" +msgstr "cs_create_connection: fdopen de to_fp malsukcesis" msgid "cs_create_connection: fdopen for fr_fp failed" -msgstr "cs_create_connection: fdopen de fr_fp fiaskis" +msgstr "cs_create_connection: fdopen de fr_fp malsukcesis" msgid "E623: Could not spawn cscope process" msgstr "E623: Ne eblis naskigi procezon cscope" @@ -2550,6 +2558,7 @@ msgstr "%-5s: %s%*s (Uzo: %s)" msgid "" "\n" +" a: Find assignments to this symbol\n" " c: Find functions calling this function\n" " d: Find functions called by this function\n" " e: Find this egrep pattern\n" @@ -2558,9 +2567,9 @@ msgid "" " i: Find files #including this file\n" " s: Find this C symbol\n" " t: Find this text string\n" -" a: Find assignments to this symbol\n" msgstr "" "\n" +" a: Trovi valirizojn al tiu simbolo\n" " c: Trovi funkciojn, kiuj alvokas tiun funkcion\n" " d: Trovi funkciojn alvokataj de tiu funkcio\n" " e: Trovi tiun egrep-Åablonon\n" @@ -2569,7 +2578,13 @@ msgstr "" " i: Trovi dosierojn, kiuj inkluzivas (#include) tiun dosieron\n" " s: Trovi tiun C-simbolon\n" " t: Trovi tiun ĉenon\n" -" a: Trovi valirizojn al tiu simbolo\n" + +#, c-format +msgid "E625: cannot open cscope database: %s" +msgstr "E625: ne eblas malfermi datumbazon de cscope: %s" + +msgid "E626: cannot get cscope database information" +msgstr "E626: ne eblas akiri informojn pri la datumbazo de cscope" msgid "E568: duplicate cscope database not added" msgstr "E568: ripetita datumbazo de cscope ne aldonita" @@ -2613,6 +2628,230 @@ msgstr "neniu konekto de cscope\n" msgid " # pid database name prepend path\n" msgstr " # pid nomo de datumbazo prefiksa vojo\n" +msgid "Lua library cannot be loaded." +msgstr "La biblioteko Lua no Åargeblis." + +msgid "cannot save undo information" +msgstr "ne eblas konservi informojn de malfaro" + +msgid "" +"E815: Sorry, this command is disabled, the MzScheme libraries could not be " +"loaded." +msgstr "" +"E815: BedaÅrinde, tiu komando estas malÅaltita, ne eblis Åargi la " +"bibliotekojn." + +msgid "" +"E895: Sorry, this command is disabled, the MzScheme's racket/base module " +"could not be loaded." +msgstr "" +"E895: BedaÅrinde, tiu komando estas malÅaltita, ne eblis Åargi la modulon de " +"MzScheme racket/base." + +msgid "invalid expression" +msgstr "nevalida esprimo" + +msgid "expressions disabled at compile time" +msgstr "esprimoj malÅaltitaj dum kompilado" + +msgid "hidden option" +msgstr "kaÅita opcio" + +msgid "unknown option" +msgstr "nekonata opcio" + +msgid "window index is out of range" +msgstr "indekso de fenestro estas ekster limoj" + +msgid "couldn't open buffer" +msgstr "ne eblis malfermi bufron" + +msgid "cannot delete line" +msgstr "ne eblas forviÅi linion" + +msgid "cannot replace line" +msgstr "ne eblas anstataÅigi linion" + +msgid "cannot insert line" +msgstr "ne eblas enmeti linion" + +msgid "string cannot contain newlines" +msgstr "ĉeno ne rajtas enhavi liniavancojn" + +msgid "error converting Scheme values to Vim" +msgstr "eraro dum konverto de Scheme-valoro al Vim" + +msgid "Vim error: ~a" +msgstr "Eraro de Vim: ~a" + +msgid "Vim error" +msgstr "Eraro de Vim" + +msgid "buffer is invalid" +msgstr "bufro estas nevalida" + +msgid "window is invalid" +msgstr "fenestro estas nevalida" + +msgid "linenr out of range" +msgstr "numero de linio ekster limoj" + +msgid "not allowed in the Vim sandbox" +msgstr "nepermesebla en sabloludejo de Vim" + +msgid "E836: This Vim cannot execute :python after using :py3" +msgstr "E836: Vim ne povas plenumi :python post uzo de :py3" + +msgid "" +"E263: Sorry, this command is disabled, the Python library could not be " +"loaded." +msgstr "" +"E263: BedaÅrinde tiu komando estas malÅaltita: la biblioteko de Pitono ne " +"Åargeblis." + +msgid "" +"E887: Sorry, this command is disabled, the Python's site module could not be " +"loaded." +msgstr "" +"E887` BedaÅrinde tiu komando estas malÅaltita: la biblioteko de Pitono ne " +"Åargeblis." + +msgid "E659: Cannot invoke Python recursively" +msgstr "E659: Ne eblas alvoki Pitonon rekursie" + +msgid "E837: This Vim cannot execute :py3 after using :python" +msgstr "E837: Vim ne povas plenumi :py3 post uzo de :python" + +msgid "E265: $_ must be an instance of String" +msgstr "E265: $_ devas esti apero de Ĉeno" + +msgid "" +"E266: Sorry, this command is disabled, the Ruby library could not be loaded." +msgstr "" +"E266: BedaÅrinde tiu komando estas malÅaltita, la biblioteko Ruby ne " +"Åargeblis." + +msgid "E267: unexpected return" +msgstr "E267: \"return\" neatendita" + +msgid "E268: unexpected next" +msgstr "E268: \"next\" neatendita" + +msgid "E269: unexpected break" +msgstr "E269: \"break\" neatendita" + +msgid "E270: unexpected redo" +msgstr "E270: \"redo\" neatendita" + +msgid "E271: retry outside of rescue clause" +msgstr "E271: \"retry\" ekster klaÅzo \"rescue\"" + +msgid "E272: unhandled exception" +msgstr "E272: netraktita escepto" + +#, c-format +msgid "E273: unknown longjmp status %d" +msgstr "E273: nekonata stato de longjmp: %d" + +msgid "invalid buffer number" +msgstr "nevalida numero de bufro" + +msgid "not implemented yet" +msgstr "ankoraÅ ne realigita" + +#. ??? +msgid "cannot set line(s)" +msgstr "ne eblas meti la linio(j)n" + +msgid "invalid mark name" +msgstr "nevalida nomo de marko" + +msgid "mark not set" +msgstr "marko ne estas metita" + +#, c-format +msgid "row %d column %d" +msgstr "linio %d kolumno %d" + +msgid "cannot insert/append line" +msgstr "ne eblas enmeti/postaldoni linion" + +msgid "line number out of range" +msgstr "numero de linio ekster limoj" + +msgid "unknown flag: " +msgstr "nekonata flago: " + +# DP: ĉu traduki vimOption +msgid "unknown vimOption" +msgstr "nekonata vimOption" + +msgid "keyboard interrupt" +msgstr "klavara interrompo" + +msgid "vim error" +msgstr "eraro de Vim" + +msgid "cannot create buffer/window command: object is being deleted" +msgstr "ne eblas krei komandon de bufro/fenestro: objekto estas forviÅiÄanta" + +msgid "" +"cannot register callback command: buffer/window is already being deleted" +msgstr "" +"ne eblas registri postalvokan komandon: bufro/fenestro estas jam forviÅiÄanta" + +#. This should never happen. Famous last word? +msgid "" +"E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-dev@vim." +"org" +msgstr "" +"E280: NERIPAREBLA TCL-ERARO: reflist difekta!? Bv. retpoÅti al vim-dev@vim." +"org" + +msgid "cannot register callback command: buffer/window reference not found" +msgstr "" +"ne eblas registri postalvokan komandon: referenco de bufro/fenestro ne " +"troveblas" + +msgid "" +"E571: Sorry, this command is disabled: the Tcl library could not be loaded." +msgstr "" +"E571: BedaÅrinde tiu komando estas malÅaltita: la biblioteko Tcl ne " +"Åargeblis." + +#, c-format +msgid "E572: exit code %d" +msgstr "E572: elira kodo %d" + +msgid "cannot get line" +msgstr "ne eblas akiri linion" + +msgid "Unable to register a command server name" +msgstr "Ne eblas registri nomon de komanda servilo" + +msgid "E248: Failed to send command to the destination program" +msgstr "E248: Sendo de komando al cela programo malsukcesis" + +#, c-format +msgid "E573: Invalid server id used: %s" +msgstr "E573: Nevalida identigilo de servilo uzita: %s" + +msgid "E251: VIM instance registry property is badly formed. Deleted!" +msgstr "" +"E251: Ecoj de registro de apero de VIM estas nevalide formata. ForviÅita!" + +#, c-format +msgid "E938: Duplicate key in JSON: \"%s\"" +msgstr "E938: Ripetita Ålosilo en JSON: \"%s\"" + +#, c-format +msgid "E696: Missing comma in List: %s" +msgstr "E696: Mankas komo en Listo: %s" + +#, c-format +msgid "E697: Missing end of List ']': %s" +msgstr "E697: Mankas fino de Listo ']': %s" + msgid "Unknown option argument" msgstr "Nekonata argumento de opcio" @@ -2635,6 +2874,15 @@ msgstr "Nevalida argumento por" msgid "%d files to edit\n" msgstr "%d redaktendaj dosieroj\n" +msgid "netbeans is not supported with this GUI\n" +msgstr "netbeans ne estas subtenata kun tiu grafika interfaco\n" + +msgid "'-nb' cannot be used: not enabled at compile time\n" +msgstr "'-nb' ne uzeblas: malÅaltita dum kompilado\n" + +msgid "This Vim was not compiled with the diff feature." +msgstr "Tiu Vim ne estis kompilita kun la kompara eblo." + msgid "Attempt to open script file again: \"" msgstr "Provas malfermi skriptan dosieron denove: \"" @@ -2644,6 +2892,12 @@ msgstr "Ne eblas malfermi en lega reÄimo: \"" msgid "Cannot open for script output: \"" msgstr "Ne eblas malfermi por eligo de skripto: \"" +msgid "Vim: Error: Failure to start gvim from NetBeans\n" +msgstr "Vim: Eraro: malsukcesis lanĉi gvim el NetBeans\n" + +msgid "Vim: Error: This version of Vim does not run in a Cygwin terminal\n" +msgstr "Vim: Eraro: Tiu versio de Vim ne ruliÄas en terminalo Cygwin\n" + msgid "Vim: Warning: Output is not to a terminal\n" msgstr "Vim: Averto: Eligo ne estas al terminalo\n" @@ -2699,6 +2953,13 @@ msgstr "" msgid "" "\n" +"Where case is ignored prepend / to make flag upper case" +msgstr "" +"\n" +"Kie uskleco estas ignorita antaÅaldonu / por igi flagon majuskla" + +msgid "" +"\n" "\n" "Arguments:\n" msgstr "" @@ -2712,6 +2973,18 @@ msgstr "--\t\t\tNur dosiernomoj post tio" msgid "--literal\t\tDon't expand wildcards" msgstr "--literal\t\tNe malvolvi ĵokerojn" +msgid "-register\t\tRegister this gvim for OLE" +msgstr "-register\t\tRegistri tiun gvim al OLE" + +msgid "-unregister\t\tUnregister gvim for OLE" +msgstr "-unregister\t\tMalregistri gvim de OLE" + +msgid "-g\t\t\tRun using GUI (like \"gvim\")" +msgstr "-g\t\t\tRuli per grafika interfaco (kiel \"gvim\")" + +msgid "-f or --nofork\tForeground: Don't fork when starting GUI" +msgstr "-f aÅ --nofork\tMalfono: ne forki kiam lanĉas grafikan interfacon" + msgid "-v\t\t\tVi mode (like \"vi\")" msgstr "-v\t\t\tReÄimo Vi (kiel \"vi\")" @@ -2773,6 +3046,12 @@ msgstr "-r (kun dosiernomo)\tRestaÅri kolapsintan seancon" msgid "-L\t\t\tSame as -r" msgstr "-L\t\t\tKiel -r" +msgid "-f\t\t\tDon't use newcli to open window" +msgstr "-f\t\t\tNe uzi newcli por malfermi fenestrojn" + +msgid "-dev <device>\t\tUse <device> for I/O" +msgstr "-dev <aparatdosiero>\t\tUzi <aparatdosiero>-n por eneligo" + msgid "-A\t\t\tstart in Arabic mode" msgstr "-A\t\t\tKomenci en araba reÄimo" @@ -2785,9 +3064,20 @@ msgstr "-F\t\t\tKomenci en persa reÄimo" msgid "-T <terminal>\tSet terminal type to <terminal>" msgstr "-T <terminalo>\tAgordi terminalon al <terminalo>" +msgid "--not-a-term\t\tSkip warning for input/output not being a terminal" +msgstr "" +"--not-a-term\t\tPreterpasi averton por enigo/eligo, kiu ne estas terminalo" + +msgid "--ttyfail\t\tExit if input or output is not a terminal" +msgstr "" +"--ttyfail\t\tEliri se le eniro aÅ eliro ne estas terminalo" + msgid "-u <vimrc>\t\tUse <vimrc> instead of any .vimrc" msgstr "-u <vimrc>\t\tUzi <vimrc> anstataÅ iun ajn .vimrc" +msgid "-U <gvimrc>\t\tUse <gvimrc> instead of any .gvimrc" +msgstr "-U <gvimrc>\t\tUzi <gvimrc> anstataÅ iun ajn .gvimrc" + msgid "--noplugin\t\tDon't load plugin scripts" msgstr "--noplugin\t\tNe Åargi kromaĵajn skriptojn" @@ -2829,6 +3119,50 @@ msgid "-W <scriptout>\tWrite all typed commands to file <scriptout>" msgstr "" "-W <eligaskripto>\tSkribi ĉiujn tajpitajn komandojn al dosiero <eligaskripto>" +msgid "-x\t\t\tEdit encrypted files" +msgstr "-x\t\t\tRedakti ĉifradan dosieron" + +msgid "-display <display>\tConnect vim to this particular X-server" +msgstr "-display <ekrano>\tKonekti Vim al tiu X-servilo" + +msgid "-X\t\t\tDo not connect to X server" +msgstr "-X\t\t\tNe konekti al X-servilo" + +msgid "--remote <files>\tEdit <files> in a Vim server if possible" +msgstr "--remote <dosieroj>\tRedakti <dosieroj>-n en Vim-servilo se eblas" + +msgid "--remote-silent <files> Same, don't complain if there is no server" +msgstr "--remote-silent <dosieroj> Same, sed ne plendi se ne estas servilo" + +msgid "" +"--remote-wait <files> As --remote but wait for files to have been edited" +msgstr "" +"--remote-wait <dosieroj> Kiel --remote sed atendi Äis dosieroj estas " +"redaktitaj" + +msgid "" +"--remote-wait-silent <files> Same, don't complain if there is no server" +msgstr "" +"--remote-wait-silent <dosieroj> Same, sed ne plendi se ne estas servilo" + +msgid "" +"--remote-tab[-wait][-silent] <files> As --remote but use tab page per file" +msgstr "" +"--remote-tab[-wait][-silent] <dosieroj> Kiel --remote sed uzi langeton por " +"ĉiu dosiero" + +msgid "--remote-send <keys>\tSend <keys> to a Vim server and exit" +msgstr "--remote-send <klavoj> Sendi <klavoj>-n al Vim-servilo kaj eliri" + +msgid "--remote-expr <expr>\tEvaluate <expr> in a Vim server and print result" +msgstr "--remote-expr <espr>\tKomputi <espr> en Vim-servilo kaj afiÅi rezulton" + +msgid "--serverlist\t\tList available Vim server names and exit" +msgstr "--serverlist\t\tListigi haveblajn nomojn de Vim-serviloj kaj eliri" + +msgid "--servername <name>\tSend to/become the Vim server <name>" +msgstr "--servername <nomo>\tSendu al/iÄi la Vim-servilo <nomo>" + msgid "--startuptime <file>\tWrite startup timing messages to <file>" msgstr "" "--startuptime <dosiero> Skribi mesaÄojn de komenca tempomezurado al " @@ -2843,6 +3177,118 @@ msgstr "-h aÅ --help\tAfiÅi Helpon (tiun mesaÄon) kaj eliri" msgid "--version\t\tPrint version information and exit" msgstr "--version\t\tAfiÅi informon de versio kaj eliri" +msgid "" +"\n" +"Arguments recognised by gvim (Motif version):\n" +msgstr "" +"\n" +"Argumentoj agnoskitaj de gvim (versio Motif):\n" + +msgid "" +"\n" +"Arguments recognised by gvim (neXtaw version):\n" +msgstr "" +"\n" +"Argumentoj agnoskitaj de gvim (versio neXtaw):\n" + +msgid "" +"\n" +"Arguments recognised by gvim (Athena version):\n" +msgstr "" +"\n" +"Argumentoj agnoskitaj de gvim (versio Athena):\n" + +msgid "-display <display>\tRun vim on <display>" +msgstr "-display <ekrano>\tLanĉi vim sur <ekrano>" + +msgid "-iconic\t\tStart vim iconified" +msgstr "-iconic\t\tLanĉi vim piktograme" + +msgid "-background <color>\tUse <color> for the background (also: -bg)" +msgstr "-background <koloro>\tUzi <koloro>-n por la fona koloro (ankaÅ: -bg)" + +msgid "-foreground <color>\tUse <color> for normal text (also: -fg)" +msgstr "" +"-foreground <koloro>\tUzi <koloro>-n por la malfona koloro (ankaÅ: -fg)" + +msgid "-font <font>\t\tUse <font> for normal text (also: -fn)" +msgstr "-font <tiparo>\tUzi <tiparo>-n por normala teksto (ankaÅ: -fn)" + +msgid "-boldfont <font>\tUse <font> for bold text" +msgstr "-boldfont <tiparo>\tUzi <tiparo>-n por grasa teksto" + +msgid "-italicfont <font>\tUse <font> for italic text" +msgstr "-italicfont <tiparo>\tUzi <tiparo>-n por kursiva teksto" + +msgid "-geometry <geom>\tUse <geom> for initial geometry (also: -geom)" +msgstr "-geometry <geom>\tUzi <geom> kiel komenca geometrio (ankaÅ: -geom)" + +msgid "-borderwidth <width>\tUse a border width of <width> (also: -bw)" +msgstr "-borderwidth <larÄo>\tUzi <larÄo>-n kiel larÄo de bordero (ankaÅ: -bw)" + +msgid "-scrollbarwidth <width> Use a scrollbar width of <width> (also: -sw)" +msgstr "" +"-scrollbarwidth <larÄo> Uzi <larÄo>-n kiel larÄo de rulumskalo (ankaÅ: -sw)" + +msgid "-menuheight <height>\tUse a menu bar height of <height> (also: -mh)" +msgstr "" +"-menuheight <alto>\tUzi <alto>-n kiel alto de menuzona alto (ankaÅ: -mh)" + +msgid "-reverse\t\tUse reverse video (also: -rv)" +msgstr "-reverse\t\tUzi inversan videon (ankaÅ: -rv)" + +msgid "+reverse\t\tDon't use reverse video (also: +rv)" +msgstr "+reverse\t\tNe uzi inversan videon (ankaÅ: +rv)" + +msgid "-xrm <resource>\tSet the specified resource" +msgstr "-xrm <rimedo>\tAgordi la specifitan <rimedo>-n" + +msgid "" +"\n" +"Arguments recognised by gvim (GTK+ version):\n" +msgstr "" +"\n" +"Argumentoj agnoskitaj de gvim (versio GTK+):\n" + +msgid "-display <display>\tRun vim on <display> (also: --display)" +msgstr "-display <ekrano>\tLanĉi Vim sur tiu <ekrano> (ankaÅ: --display)" + +msgid "--role <role>\tSet a unique role to identify the main window" +msgstr "--role <rolo>\tDoni unikan rolon por identigi la ĉefan fenestron" + +msgid "--socketid <xid>\tOpen Vim inside another GTK widget" +msgstr "--socketid <xid>\tMalfermi Vim en alia GTK fenestraĵo" + +msgid "--echo-wid\t\tMake gvim echo the Window ID on stdout" +msgstr "--echo-wid\t\tIgas gvim afiÅi la identigilon de vindozo sur stdout" + +msgid "-P <parent title>\tOpen Vim inside parent application" +msgstr "-P <gepatra titolo>\tMalfermi Vim en gepatra aplikaĵo" + +msgid "--windowid <HWND>\tOpen Vim inside another win32 widget" +msgstr "--windowid <HWND>\tMalfermi Vim en alia win32 fenestraĵo" + +msgid "No display" +msgstr "Neniu ekrano" + +#. Failed to send, abort. +msgid ": Send failed.\n" +msgstr ": Sendo malsukcesis.\n" + +#. Let vim start normally. +msgid ": Send failed. Trying to execute locally\n" +msgstr ": Sendo malsukcesis. Provo de loka plenumo\n" + +#, c-format +msgid "%d of %d edited" +msgstr "%d de %d redaktita(j)" + +msgid "No display: Send expression failed.\n" +msgstr "Neniu ekrano: Sendado de esprimo malsukcesis.\n" + +msgid ": Send expression failed.\n" +msgstr ": Sendado de esprimo malsukcesis.\n" + msgid "No marks set" msgstr "Neniu marko" @@ -2899,6 +3345,28 @@ msgstr "" msgid "Missing '>'" msgstr "Mankas '>'" +msgid "E543: Not a valid codepage" +msgstr "E543: Nevalida kodpaÄo" + +msgid "E284: Cannot set IC values" +msgstr "E284: Ne eblas agordi valorojn de IC" + +msgid "E285: Failed to create input context" +msgstr "E285: Kreado de eniga kunteksto malsukcesis" + +msgid "E286: Failed to open input method" +msgstr "E286: Malfermo de eniga metodo malsukcesis" + +msgid "E287: Warning: Could not set destroy callback to IM" +msgstr "E287: Averto: Ne eblis agordi detruan reagfunkcion al IM" + +msgid "E288: input method doesn't support any style" +msgstr "E288: eniga metodo subtenas neniun stilon" + +# DP: mi ne scias, kio estas "preedit" +msgid "E289: input method doesn't support my preedit type" +msgstr "E289: eniga metodo ne subtenas mian antaÅredaktan tipon" + msgid "E293: block was not locked" msgstr "E293: bloko ne estis Ålosita" @@ -2926,6 +3394,9 @@ msgstr "E298: Ĉu ne akiris blokon n-ro 1?" msgid "E298: Didn't get block nr 2?" msgstr "E298: Ĉu ne akiris blokon n-ro 2?" +msgid "E843: Error while updating swap file crypt" +msgstr "E843: Eraro dum Äisdatigo de ĉifrada permutodosiero .swp" + #. could not (re)open the swap file, what can we do???? msgid "E301: Oops, lost the swap file!!!" msgstr "E301: Ve, perdis la permutodosieron .swp!!!" @@ -2941,7 +3412,6 @@ msgstr "" msgid "E304: ml_upd_block0(): Didn't get block 0??" msgstr "E304: ml_upd_block0(): Ne akiris blokon 0??" -#. no swap files found #, c-format msgid "E305: No swap file found for %s" msgstr "E305: Neniu permutodosiero .swp trovita por %s" @@ -2986,6 +3456,11 @@ msgstr "" ",\n" "aÅ la dosiero estas difekta." +#, c-format +msgid "" +"E833: %s is encrypted and this version of Vim does not support encryption" +msgstr "E833: %s estas ĉifrata kaj tiu versio de Vim ne subtenas ĉifradon" + msgid " has been damaged (page size is smaller than minimum value).\n" msgstr " difektiÄis (paÄa grando pli malgranda ol minimuma valoro).\n" @@ -3001,6 +3476,39 @@ msgid "E308: Warning: Original file may have been changed" msgstr "E308: Averto: Originala dosiero eble ÅanÄiÄis" #, c-format +msgid "Swap file is encrypted: \"%s\"" +msgstr "Perumutodosiero .swp estas ĉifrata: \"%s\"" + +msgid "" +"\n" +"If you entered a new crypt key but did not write the text file," +msgstr "" +"\n" +"Se vi tajpis novan Ålosilon de ĉifrado sed ne skribis la tekstan dosieron," + +msgid "" +"\n" +"enter the new crypt key." +msgstr "" +"\n" +"tajpu la novan Ålosilon de ĉifrado." + +msgid "" +"\n" +"If you wrote the text file after changing the crypt key press enter" +msgstr "" +"\n" +"Se vi skribis la tekstan dosieron post ÅanÄo de la Ålosilo de ĉifrado, premu " +"enenklavon" + +msgid "" +"\n" +"to use the same key for text file and swap file" +msgstr "" +"\n" +"por uzi la saman Ålosilon por la teksta dosiero kaj permuto dosiero .swp" + +#, c-format msgid "E309: Unable to read block 1 from %s" msgstr "E309: Ne eblas legi blokon 1 de %s" @@ -3069,6 +3577,10 @@ msgstr "" "La dosiero .swp nun forviÅindas.\n" "\n" +msgid "Using crypt key from swap file for the text file.\n" +msgstr "" +"Uzas Ålosilon de ĉifrado el permuto dosiero .swp por la teksta dosiero.\n" + #. use msg() to start the scrolling properly msgid "Swap files found:" msgstr "Permutodosiero .swp trovita:" @@ -3145,6 +3657,13 @@ msgstr " (ankoraÅ ruliÄas)" msgid "" "\n" +" [not usable with this version of Vim]" +msgstr "" +"\n" +" [ne uzebla per tiu versio de Vim]" + +msgid "" +"\n" " [not usable on this computer]" msgstr "" "\n" @@ -3163,15 +3682,15 @@ msgid "File preserved" msgstr "Dosiero konservita" msgid "E314: Preserve failed" -msgstr "E314: Konservo fiaskis" +msgstr "E314: Konservo malsukcesis" #, c-format -msgid "E315: ml_get: invalid lnum: %<PRId64>" -msgstr "E315: ml_get: nevalida lnum: %<PRId64>" +msgid "E315: ml_get: invalid lnum: %ld" +msgstr "E315: ml_get: nevalida lnum: %ld" #, c-format -msgid "E316: ml_get: cannot find line %<PRId64>" -msgstr "E316: ml_get: ne eblas trovi linion %<PRId64>" +msgid "E316: ml_get: cannot find line %ld" +msgstr "E316: ml_get: ne eblas trovi linion %ld" msgid "E317: pointer block id wrong 3" msgstr "E317: nevalida referenco de bloko id 3" @@ -3189,8 +3708,8 @@ msgid "deleted block 1?" msgstr "ĉu forviÅita bloko 1?" #, c-format -msgid "E320: Cannot find line %<PRId64>" -msgstr "E320: Ne eblas trovi linion %<PRId64>" +msgid "E320: Cannot find line %ld" +msgstr "E320: Ne eblas trovi linion %ld" msgid "E317: pointer block id wrong" msgstr "E317: nevalida referenco de bloko id" @@ -3199,12 +3718,12 @@ msgid "pe_line_count is zero" msgstr "pe_line_count estas nul" #, c-format -msgid "E322: line number out of range: %<PRId64> past the end" -msgstr "E322: numero de linio ekster limoj: %<PRId64> preter la fino" +msgid "E322: line number out of range: %ld past the end" +msgstr "E322: numero de linio ekster limoj: %ld preter la fino" #, c-format -msgid "E323: line count wrong in block %<PRId64>" -msgstr "E323: nevalida nombro de linioj en bloko %<PRId64>" +msgid "E323: line count wrong in block %ld" +msgstr "E323: nevalida nombro de linioj en bloko %ld" msgid "Stack size increases" msgstr "Stako pligrandiÄas" @@ -3232,6 +3751,8 @@ msgstr "Dum malfermo de dosiero \"" msgid " NEWER than swap file!\n" msgstr " PLI NOVA ol permutodosiero .swp!\n" +#. Some of these messages are long to allow translation to +#. * other languages. msgid "" "\n" "(1) Another program may be editing the same file. If this is the case,\n" @@ -3243,9 +3764,6 @@ msgstr "" " por ne havi du malsamajn aperojn de la sama dosiero, kiam vi faros\n" " ÅanÄojn. Eliru aÅ daÅrigu singarde.\n" -msgid " Quit, or continue with caution.\n" -msgstr " Eliru, aÅ daÅrigu singarde.\n" - msgid "(2) An edit session for this file crashed.\n" msgstr "(2) Redakta seanco de tiu dosiero kolapsis.\n" @@ -3311,21 +3829,9 @@ msgstr "" "&Eliri\n" "Ĉe&sigi" -#. -#. * Change the ".swp" extension to find another file that can be used. -#. * First decrement the last char: ".swo", ".swn", etc. -#. * If that still isn't enough decrement the last but one char: ".svz" -#. * Can happen when editing many "No Name" buffers. -#. -#. ".s?a" -#. ".saa": tried enough, give up msgid "E326: Too many swap files found" msgstr "E326: Tro da dosieroj trovitaj" -#, c-format -msgid "E342: Out of memory! (allocating %<PRIu64> bytes)" -msgstr "E342: Ne plu restas memoro! (disponigo de %<PRIu64> bajtoj)" - msgid "E327: Part of menu-item path is not sub-menu" msgstr "E327: Parto de vojo de menuero ne estas sub-menuo" @@ -3358,6 +3864,9 @@ msgstr "" "\n" "--- Menuoj ---" +msgid "Tear off this menu" +msgstr "Disigi tiun menuon" + msgid "E333: Menu path must lead to a menu item" msgstr "E333: Vojo de menuo devas konduki al menuero" @@ -3387,6 +3896,9 @@ msgstr "linio %4ld:" msgid "E354: Invalid register name: '%s'" msgstr "E354: Nevalida nomo de reÄistro: '%s'" +msgid "Messages maintainer: Bram Moolenaar <Bram@vim.org>" +msgstr "Flegado de mesaÄoj: Dominique PELLÉ <dominique.pelle@gmail.com>" + msgid "Interrupt: " msgstr "Interrompo: " @@ -3394,8 +3906,8 @@ msgid "Press ENTER or type command to continue" msgstr "Premu ENEN-KLAVON aÅ tajpu komandon por daÅrigi" #, c-format -msgid "%s line %<PRId64>" -msgstr "%s linio %<PRId64>" +msgid "%s line %ld" +msgstr "%s linio %ld" msgid "-- More --" msgstr "-- Pli --" @@ -3413,15 +3925,6 @@ msgstr "" "&Jes\n" "&Ne" -msgid "" -"&Yes\n" -"&No\n" -"&Cancel" -msgstr "" -"&Jes\n" -"&Ne\n" -"&Rezigni" - # AM: ĉu Vim konvertos unuliterajn respondojn? # DP: jes, '&' bone funkcias (mi kontrolis) msgid "" @@ -3437,11 +3940,24 @@ msgstr "" "&Forlasi Ĉion\n" "&Rezigni" +msgid "Select Directory dialog" +msgstr "Dialogujo de dosiera elekto" + +msgid "Save File dialog" +msgstr "Dialogujo de dosiera konservo" + +msgid "Open File dialog" +msgstr "Dialogujo de dosiera malfermo" + +#. TODO: non-GUI file selector here +msgid "E338: Sorry, no file browser in console mode" +msgstr "E338: BedaÅrinde ne estas dosierfoliumilo en konzola reÄimo" + msgid "E766: Insufficient arguments for printf()" msgstr "E766: Ne sufiĉaj argumentoj por printf()" msgid "E807: Expected Float argument for printf()" -msgstr "E807: Atendis Glitpunktnombron kiel argumento de printf()" +msgstr "E807: Atendis Glitpunktnombron kiel argumenton de printf()" msgid "E767: Too many arguments to printf()" msgstr "E767: Tro da argumentoj al printf()" @@ -3463,12 +3979,12 @@ msgid "1 line less" msgstr "1 malplia linio" #, c-format -msgid "%<PRId64> more lines" -msgstr "%<PRId64> pliaj linioj" +msgid "%ld more lines" +msgstr "%ld pliaj linioj" #, c-format -msgid "%<PRId64> fewer lines" -msgstr "%<PRId64> malpliaj linioj" +msgid "%ld fewer lines" +msgstr "%ld malpliaj linioj" msgid " (Interrupted)" msgstr " (Interrompita)" @@ -3476,16 +3992,112 @@ msgstr " (Interrompita)" msgid "Beep!" msgstr "Bip!" +msgid "ERROR: " +msgstr "ERARO: " + +#, c-format +msgid "" +"\n" +"[bytes] total alloc-freed %lu-%lu, in use %lu, peak use %lu\n" +msgstr "" +"\n" +"[bajtoj] totalaj disponigitaj/maldisponigitaj %lu-%lu, nun uzataj %lu, " +"kulmina uzo %lu\n" + +#, c-format +msgid "" +"[calls] total re/malloc()'s %lu, total free()'s %lu\n" +"\n" +msgstr "" +"[alvokoj] totalaj re/malloc() %lu, totalaj free() %lu\n" +"\n" + +msgid "E340: Line is becoming too long" +msgstr "E340: Linio iÄas tro longa" + +#, c-format +msgid "E341: Internal error: lalloc(%ld, )" +msgstr "E341: Interna eraro: lalloc(%ld, )" + +#, c-format +msgid "E342: Out of memory! (allocating %lu bytes)" +msgstr "E342: Ne plu restas memoro! (disponigo de %lu bajtoj)" + #, c-format msgid "Calling shell to execute: \"%s\"" msgstr "Alvokas Åelon por plenumi: \"%s\"" +msgid "E545: Missing colon" +msgstr "E545: Mankas dupunkto" + +msgid "E546: Illegal mode" +msgstr "E546: ReÄimo nepermesata" + +msgid "E547: Illegal mouseshape" +msgstr "E547: Nevalida formo de muskursoro" + +msgid "E548: digit expected" +msgstr "E548: cifero atendata" + +msgid "E549: Illegal percentage" +msgstr "E549: Nevalida procento" + +msgid "E854: path too long for completion" +msgstr "E854: tro longa vojo por kompletigo" + +#, c-format +msgid "" +"E343: Invalid path: '**[number]' must be at the end of the path or be " +"followed by '%s'." +msgstr "" +"E343: Nevalida vojo: '**[nombro]' devas esti ĉe la fino de la vojo aÅ " +"sekvita de '%s'." + +#, c-format +msgid "E344: Can't find directory \"%s\" in cdpath" +msgstr "E344: Ne eblas trovi dosierujon \"%s\" en cdpath" + +#, c-format +msgid "E345: Can't find file \"%s\" in path" +msgstr "E345: Ne eblas trovi dosieron \"%s\" en serĉvojo" + +#, c-format +msgid "E346: No more directory \"%s\" found in cdpath" +msgstr "E346: Ne plu trovis dosierujon \"%s\" en cdpath" + +#, c-format +msgid "E347: No more file \"%s\" found in path" +msgstr "E347: Ne plu trovis dosieron \"%s\" en serĉvojo" + +#, c-format +msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\"" +msgstr "" +"E668: Nevalida permeso de dosiero de informo de konekto NetBeans: \"%s\"" + +#, c-format +msgid "E658: NetBeans connection lost for buffer %ld" +msgstr "E658: Konekto de NetBeans perdita por bufro %ld" + +msgid "E838: netbeans is not supported with this GUI" +msgstr "E838: netbeans ne estas subtenata kun tiu grafika interfaco" + +msgid "E511: netbeans already connected" +msgstr "E511: nebeans jam konektata" + +#, c-format +msgid "E505: %s is read-only (add ! to override)" +msgstr "E505: %s estas nurlegebla (aldonu ! por transpasi)" + msgid "E349: No identifier under cursor" msgstr "E349: Neniu identigilo sub la kursoro" msgid "E774: 'operatorfunc' is empty" msgstr "E774: 'operatorfunc' estas malplena" +# DP: ĉu Eval devas esti tradukita? +msgid "E775: Eval feature not available" +msgstr "E775: Eval eblo ne disponeblas" + msgid "Warning: terminal cannot highlight" msgstr "Averto: terminalo ne povas emfazi" @@ -3504,7 +4116,7 @@ msgstr "E662: Ĉe komenco de ÅanÄlisto" msgid "E663: At end of changelist" msgstr "E663: Ĉe fino de ÅanÄlisto" -msgid "Type :quit<Enter> to exit Nvim" +msgid "Type :quit<Enter> to exit Vim" msgstr "Tajpu \":quit<Enenklavo>\" por eliri el Vim" #, c-format @@ -3516,37 +4128,41 @@ msgid "1 line %sed %d times" msgstr "1 linio %sita %d foje" #, c-format -msgid "%<PRId64> lines %sed 1 time" -msgstr "%<PRId64> linio %sita 1 foje" +msgid "%ld lines %sed 1 time" +msgstr "%ld linio %sita 1 foje" #, c-format -msgid "%<PRId64> lines %sed %d times" -msgstr "%<PRId64> linioj %sitaj %d foje" +msgid "%ld lines %sed %d times" +msgstr "%ld linioj %sitaj %d foje" #, c-format -msgid "%<PRId64> lines to indent... " -msgstr "%<PRId64> krommarÄenendaj linioj... " +msgid "%ld lines to indent... " +msgstr "%ld krommarÄenendaj linioj... " msgid "1 line indented " msgstr "1 linio krommarÄenita " #, c-format -msgid "%<PRId64> lines indented " -msgstr "%<PRId64> linioj krommarÄenitaj " +msgid "%ld lines indented " +msgstr "%ld linioj krommarÄenitaj " msgid "E748: No previously used register" msgstr "E748: Neniu reÄistro antaÅe uzata" #. must display the prompt msgid "cannot yank; delete anyway" -msgstr "ne eblas kopii; forviÅi tamene" +msgstr "ne eblas kopii; tamen forviÅi" msgid "1 line changed" msgstr "1 linio ÅanÄita" #, c-format -msgid "%<PRId64> lines changed" -msgstr "%<PRId64> linioj ÅanÄitaj" +msgid "%ld lines changed" +msgstr "%ld linioj ÅanÄitaj" + +#, c-format +msgid "freeing %ld lines" +msgstr "malokupas %ld liniojn" msgid "block of 1 line yanked" msgstr "bloko de 1 linio kopiita" @@ -3555,12 +4171,12 @@ msgid "1 line yanked" msgstr "1 linio kopiita" #, c-format -msgid "block of %<PRId64> lines yanked" -msgstr "bloko de %<PRId64> linioj kopiita" +msgid "block of %ld lines yanked" +msgstr "bloko de %ld linioj kopiita" #, c-format -msgid "%<PRId64> lines yanked" -msgstr "%<PRId64> linioj kopiitaj" +msgid "%ld lines yanked" +msgstr "%ld linioj kopiitaj" #, c-format msgid "E353: Nothing in register %s" @@ -3588,45 +4204,44 @@ msgstr "" msgid "E574: Unknown register type %d" msgstr "E574: Nekonata tipo de reÄistro %d" +msgid "" +"E883: search pattern and expression register may not contain two or more " +"lines" +msgstr "" +"E883: serĉa Åablono kaj esprima reÄistro ne povas enhavi du aÅ pliajn liniojn" + #, c-format -msgid "%<PRId64> Cols; " -msgstr "%<PRId64> Kolumnoj; " +msgid "%ld Cols; " +msgstr "%ld Kolumnoj; " #, c-format -msgid "" -"Selected %s%<PRId64> of %<PRId64> Lines; %<PRId64> of %<PRId64> Words; " -"%<PRId64> of %<PRId64> Bytes" +msgid "Selected %s%ld of %ld Lines; %lld of %lld Words; %lld of %lld Bytes" msgstr "" -"Apartigis %s%<PRId64> de %<PRId64> Linioj; %<PRId64> de %<PRId64> Vortoj; " -"%<PRId64> de %<PRId64> Bajtoj" +"Apartigis %s%ld de %ld Linioj; %lld de %lld Vortoj; %lld de %lld Bajtoj" #, c-format msgid "" -"Selected %s%<PRId64> of %<PRId64> Lines; %<PRId64> of %<PRId64> Words; " -"%<PRId64> of %<PRId64> Chars; %<PRId64> of %<PRId64> Bytes" +"Selected %s%ld of %ld Lines; %lld of %lld Words; %lld of %lld Chars; %lld of " +"%lld Bytes" msgstr "" -"Apartigis %s%<PRId64> de %<PRId64> Linioj; %<PRId64> de %<PRId64> Vortoj; " -"%<PRId64> de %<PRId64> Signoj; %<PRId64> de %<PRId64> Bajtoj" +"Apartigis %s%ld de %ld Linioj; %lld de %lld Vortoj; %lld de %lld Signoj; " +"%lld de %lld Bajtoj" #, c-format -msgid "" -"Col %s of %s; Line %<PRId64> of %<PRId64>; Word %<PRId64> of %<PRId64>; Byte " -"%<PRId64> of %<PRId64>" -msgstr "" -"Kol %s de %s; Linio %<PRId64> de %<PRId64>; Vorto %<PRId64> de %<PRId64>; " -"Bajto %<PRId64> de %<PRId64>" +msgid "Col %s of %s; Line %ld of %ld; Word %lld of %lld; Byte %lld of %lld" +msgstr "Kol %s de %s; Linio %ld de %ld; Vorto %lld de %lld; Bajto %lld de %lld" #, c-format msgid "" -"Col %s of %s; Line %<PRId64> of %<PRId64>; Word %<PRId64> of %<PRId64>; Char " -"%<PRId64> of %<PRId64>; Byte %<PRId64> of %<PRId64>" +"Col %s of %s; Line %ld of %ld; Word %lld of %lld; Char %lld of %lld; Byte " +"%lld of %lld" msgstr "" -"Kol %s de %s; Linio %<PRId64> de %<PRId64>; Vorto %<PRId64> de %<PRId64>; " -"Signo %<PRId64> de %<PRId64>; Bajto %<PRId64> de %<PRId64>" +"Kol %s de %s; Linio %ld de %ld; Vorto %lld de %lld; Signo %lld de %lld; " +"Bajto %lld de %lld" #, c-format -msgid "(+%<PRId64> for BOM)" -msgstr "(+%<PRId64> por BOM)" +msgid "(+%ld for BOM)" +msgstr "(+%ld por BOM)" msgid "%<%f%h%m%=Page %N" msgstr "%<%f%h%m%=Folio %N" @@ -3634,7 +4249,6 @@ msgstr "%<%f%h%m%=Folio %N" msgid "Thanks for flying Vim" msgstr "Dankon pro flugi per Vim" -#. found a mismatch: skip msgid "E518: Unknown option" msgstr "E518: Nekonata opcio" @@ -3664,6 +4278,12 @@ msgstr "Por opcio %s" msgid "E529: Cannot set 'term' to empty string" msgstr "E529: Ne eblas agordi 'term' al malplena ĉeno" +msgid "E530: Cannot change term in GUI" +msgstr "E530: term ne ÅanÄeblas en grafika interfaco" + +msgid "E531: Use \":gui\" to start the GUI" +msgstr "E531: Uzu \":gui\" por lanĉi la grafikan interfacon" + msgid "E589: 'backupext' and 'patchmode' are equal" msgstr "E589: 'backupext' kaj 'patchmode' estas egalaj" @@ -3673,6 +4293,9 @@ msgstr "E834: Konfliktoj kun la valoro de 'listchars'" msgid "E835: Conflicts with value of 'fillchars'" msgstr "E835: Konfliktoj kun la valoro de 'fillchars'" +msgid "E617: Cannot be changed in the GTK+ 2 GUI" +msgstr "E617: Ne ÅanÄeblas en la grafika interfaco GTK+ 2" + msgid "E524: Missing colon" msgstr "E524: Mankas dupunkto" @@ -3692,6 +4315,21 @@ msgstr "E528: Devas specifi ' valoron" msgid "E595: contains unprintable or wide character" msgstr "E595: enhavas nepreseblan aÅ plurĉellarÄan signon" +msgid "E596: Invalid font(s)" +msgstr "E596: Nevalida(j) tiparo(j)" + +msgid "E597: can't select fontset" +msgstr "E597: ne eblas elekti tiparon" + +msgid "E598: Invalid fontset" +msgstr "E598: Nevalida tiparo" + +msgid "E533: can't select wide font" +msgstr "E533: ne eblas elekti larÄan tiparon" + +msgid "E534: Invalid wide font" +msgstr "E534: Nevalida larÄa tiparo" + #, c-format msgid "E535: Illegal character after <%c>" msgstr "E535: Nevalida signo post <%c>" @@ -3703,6 +4341,9 @@ msgstr "E536: komo bezonata" msgid "E537: 'commentstring' must be empty or contain %s" msgstr "E537: 'commentstring' devas esti malplena aÅ enhavi %s" +msgid "E538: No mouse support" +msgstr "E538: Neniu muso subtenata" + msgid "E540: Unclosed expression sequence" msgstr "E540: '}' mankas" @@ -3710,7 +4351,7 @@ msgid "E541: too many items" msgstr "E541: tro da elementoj" msgid "E542: unbalanced groups" -msgstr "E542: misekvilibritaj grupoj" +msgstr "E542: misekvilibraj grupoj" msgid "E590: A preview window already exists" msgstr "E590: AntaÅvida fenestro jam ekzistas" @@ -3776,19 +4417,104 @@ msgstr "E357: 'langmap': Kongrua signo mankas por %s" msgid "E358: 'langmap': Extra characters after semicolon: %s" msgstr "E358: 'langmap': Ekstraj signoj post punktokomo: %s" -msgid "" -"\n" -"Cannot execute shell " -msgstr "" -"\n" -"Ne eblas plenumi Åelon " +msgid "cannot open " +msgstr "ne eblas malfermi " + +msgid "VIM: Can't open window!\n" +msgstr "VIM: Ne eblas malfermi fenestron!\n" + +msgid "Need Amigados version 2.04 or later\n" +msgstr "Bezonas version 2.04 de Amigados aÅ pli novan\n" + +#, c-format +msgid "Need %s version %ld\n" +msgstr "Bezonas %s-on versio %ld\n" + +msgid "Cannot open NIL:\n" +msgstr "Ne eblas malfermi NIL:\n" + +msgid "Cannot create " +msgstr "Ne eblas krei " + +#, c-format +msgid "Vim exiting with %d\n" +msgstr "Vim eliras kun %d\n" + +msgid "cannot change console mode ?!\n" +msgstr "ne eblas ÅanÄi reÄimon de konzolo?!\n" + +msgid "mch_get_shellsize: not a console??\n" +msgstr "mch_get_shellsize: ne estas konzolo??\n" + +#. if Vim opened a window: Executing a shell may cause crashes +msgid "E360: Cannot execute shell with -f option" +msgstr "E360: Ne eblas plenumi Åelon kun opcio -f" + +msgid "Cannot execute " +msgstr "Ne eblas plenumi " + +msgid "shell " +msgstr "Åelo " + +msgid " returned\n" +msgstr " liveris\n" + +msgid "ANCHOR_BUF_SIZE too small." +msgstr "ANCHOR_BUF_SIZE tro malgranda." + +msgid "I/O ERROR" +msgstr "ERARO DE ENIGO/ELIGO" + +msgid "Message" +msgstr "MesaÄo" + +msgid "E237: Printer selection failed" +msgstr "E237: Elekto de presilo malsukcesis" + +#, c-format +msgid "to %s on %s" +msgstr "al %s de %s" + +#, c-format +msgid "E613: Unknown printer font: %s" +msgstr "E613: Nekonata tiparo de presilo: %s" + +#, c-format +msgid "E238: Print error: %s" +msgstr "E238: Eraro de presado: %s" + +#, c-format +msgid "Printing '%s'" +msgstr "Presas '%s'" + +#, c-format +msgid "E244: Illegal charset name \"%s\" in font name \"%s\"" +msgstr "E244: Nevalida nomo de signaro \"%s\" en nomo de tiparo \"%s\"" + +#, c-format +msgid "E244: Illegal quality name \"%s\" in font name \"%s\"" +msgstr "E244: Nevalida nomo de kvalito \"%s\" en nomo de tiparo \"%s\"" + +#, c-format +msgid "E245: Illegal char '%c' in font name \"%s\"" +msgstr "E245: Nevalida signo '%c' en nomo de tiparo \"%s\"" + +#, c-format +msgid "Opening the X display took %ld msec" +msgstr "Malfermo de vidigo X daÅris %ld msek" msgid "" "\n" -"shell returned " +"Vim: Got X error\n" msgstr "" "\n" -"Åelo liveris " +"Vim: Alvenis X eraro\n" + +msgid "Testing the X display failed" +msgstr "Testo de la vidigo X malsukcesis" + +msgid "Opening the X display timed out" +msgstr "Tempolimo okazis dum malfermo de vidigo X" msgid "" "\n" @@ -3813,13 +4539,115 @@ msgid "Could not get security context %s for %s. Removing it!" msgstr "" "Ne povis akiri kuntekston de sekureco %s por %s. Gi nun estas forigata!" +msgid "" +"\n" +"Cannot execute shell sh\n" +msgstr "" +"\n" +"Ne eblas plenumi Åelon sh\n" + +msgid "" +"\n" +"shell returned " +msgstr "" +"\n" +"Åelo liveris " + +msgid "" +"\n" +"Cannot create pipes\n" +msgstr "" +"\n" +"Ne eblas krei duktojn\n" + +msgid "" +"\n" +"Cannot fork\n" +msgstr "" +"\n" +"Ne eblas forki\n" + +msgid "" +"\n" +"Cannot execute shell " +msgstr "" +"\n" +"Ne eblas plenumi Åelon " + +msgid "" +"\n" +"Command terminated\n" +msgstr "" +"\n" +"Komando terminigita\n" + +msgid "XSMP lost ICE connection" +msgstr "XSMP perdis la konekton ICE" + #, c-format msgid "dlerror = \"%s\"" msgstr "dlerror = \"%s\"" +msgid "Opening the X display failed" +msgstr "Malfermo de vidigo X malsukcesis" + +msgid "XSMP handling save-yourself request" +msgstr "XSMP: traktado de peto konservi-mem" + +msgid "XSMP opening connection" +msgstr "XSMP: malfermo de konekto" + +msgid "XSMP ICE connection watch failed" +msgstr "XSMP: kontrolo de konekto ICE malsukcesis" + #, c-format -msgid "E447: Can't find file \"%s\" in path" -msgstr "E447: Ne eblas trovi dosieron \"%s\" en serĉvojo" +msgid "XSMP SmcOpenConnection failed: %s" +msgstr "XSMP: SmcOpenConnection malsukcesis: %s" + +msgid "At line" +msgstr "Ĉe linio" + +msgid "Could not load vim32.dll!" +msgstr "Ne eblis Åargi vim32.dll!" + +msgid "VIM Error" +msgstr "Eraro de VIM" + +msgid "Could not fix up function pointers to the DLL!" +msgstr "Ne eblis ripari referencojn de funkcioj al la DLL!" + +# DP: la eventoj estas tiuj, kiuj estas en la sekvantaj ĉenoj +#, c-format +msgid "Vim: Caught %s event\n" +msgstr "Vim: Kaptis eventon %s\n" + +msgid "close" +msgstr "fermo" + +msgid "logoff" +msgstr "elsaluto" + +msgid "shutdown" +msgstr "sistemfermo" + +msgid "E371: Command not found" +msgstr "E371: Netrovebla komando" + +msgid "" +"VIMRUN.EXE not found in your $PATH.\n" +"External commands will not pause after completion.\n" +"See :help win32-vimrun for more information." +msgstr "" +"VIMRUN.EXE ne troveblas en via $PATH.\n" +"Eksteraj komandoj ne paÅzos post kompletigo.\n" +"Vidu :help win32-vimrun por pliaj informoj." + +msgid "Vim Warning" +msgstr "Averto de Vim" + +#, c-format +msgid "shell returned %d" +msgstr "la Åelo liveris %d" #, c-format msgid "E372: Too many %%%c in format string" @@ -3854,6 +4682,15 @@ msgstr "E379: Nomo de dosierujo mankas aÅ estas malplena" msgid "E553: No more items" msgstr "E553: Ne plu estas eroj" +msgid "E924: Current window was closed" +msgstr "E924: Aktuala vindozo fermiÄis" + +msgid "E925: Current quickfix was changed" +msgstr "E925: Aktuala rapidriparo ÅanÄiÄis" + +msgid "E926: Current location list was changed" +msgstr "E926: Aktuala listo de lokoj ÅanÄiÄis" + #, c-format msgid "(%d of %d)%s%s: " msgstr "(%d de %d)%s%s: " @@ -3861,19 +4698,25 @@ msgstr "(%d de %d)%s%s: " msgid " (line deleted)" msgstr " (forviÅita linio)" +#, c-format +msgid "%serror list %d of %d; %d errors " +msgstr "%slisto de eraroj %d de %d; %d eraroj" + msgid "E380: At bottom of quickfix stack" msgstr "E380: Ĉe la subo de stako de rapidriparo" msgid "E381: At top of quickfix stack" msgstr "E381: Ĉe la supro de stako de rapidriparo" -#, c-format -msgid "error list %d of %d; %d errors" -msgstr "listo de eraroj %d de %d; %d eraroj" +msgid "No entries" +msgstr "Neniu ano" msgid "E382: Cannot write, 'buftype' option is set" msgstr "E382: Ne eblas skribi, opcio 'buftype' estas Åaltita" +msgid "Error file" +msgstr "Erara Dosiero" + msgid "E683: File name missing or invalid pattern" msgstr "E683: Dosiernomo mankas aÅ nevalida Åablono" @@ -3908,7 +4751,7 @@ msgid "E55: Unmatched %s)" msgstr "E55: Neekvilibra %s" msgid "E66: \\z( not allowed here" -msgstr "E66: \\z( estas permesebla tie" +msgstr "E66: \\z( estas nepermesebla tie" # DP: vidu http://www.thefreedictionary.com/et+al. msgid "E67: \\z1 et al. not allowed here" @@ -3979,6 +4822,10 @@ msgstr "E554: Sintaksa eraro en %s{...}" msgid "External submatches:\n" msgstr "Eksteraj subkongruoj:\n" +#, c-format +msgid "E888: (NFA regexp) cannot repeat %s" +msgstr "E888: (NFA-regulesprimo) ne eblas ripeti %s" + msgid "" "E864: \\%#= can only be followed by 0, 1, or 2. The automatic engine will be " "used " @@ -3986,6 +4833,9 @@ msgstr "" "E864: \\%#= povas nur esti sekvita de 0, 1, aÅ 2. La aÅtomata motoro de " "regulesprimo estos uzata " +msgid "Switching to backtracking RE engine for pattern: " +msgstr "Åœangota al malavanca motoro de regulesprimo por Åablono: " + msgid "E865: (NFA) Regexp end encountered prematurely" msgstr "E865: (NFA) Trovis finon de regulesprimo tro frue" @@ -3993,17 +4843,21 @@ msgstr "E865: (NFA) Trovis finon de regulesprimo tro frue" msgid "E866: (NFA regexp) Misplaced %c" msgstr "E866: (NFA-regulesprimo) Mispoziciigita %c" -#, fuzzy, c-format -#~ msgid "E877: (NFA regexp) Invalid character class: %<PRId64>" -#~ msgstr "E877: (NFA-regulesprimo) Nevalida klaso de signo " +#, c-format +msgid "E877: (NFA regexp) Invalid character class: %ld" +msgstr "E877: (NFA-regulesprimo) Nevalida klaso de signo: %ld" #, c-format msgid "E867: (NFA) Unknown operator '\\z%c'" msgstr "E867: (NFA) Nekonata operatoro '\\z%c'" -#, fuzzy, c-format -#~ msgid "E867: (NFA) Unknown operator '\\%%%c'" -#~ msgstr "E867: (NFA) Nekonata operatoro '\\z%c'" +#, c-format +msgid "E867: (NFA) Unknown operator '\\%%%c'" +msgstr "E867: (NFA) Nekonata operatoro '\\%%%c'" + +#. should never happen +msgid "E868: Error building NFA with equivalence class!" +msgstr "E868: Eraro dum prekomputado de NFA kun ekvivalentoklaso!" #, c-format msgid "E869: (NFA) Unknown operator '\\@%c'" @@ -4022,9 +4876,8 @@ msgstr "" msgid "E872: (NFA regexp) Too many '('" msgstr "E872: (NFA-regulesprimo) tro da '('" -#, fuzzy -#~ msgid "E879: (NFA regexp) Too many \\z(" -#~ msgstr "E872: (NFA-regulesprimo) tro da '('" +msgid "E879: (NFA regexp) Too many \\z(" +msgstr "E879: (NFA-regulesprimo) tro da \\z(" msgid "E873: (NFA regexp) proper termination error" msgstr "E873: (NFA-regulesprimo) propra end-eraro" @@ -4042,6 +4895,9 @@ msgstr "" msgid "E876: (NFA regexp) Not enough space to store the whole NFA " msgstr "E876: (NFA-regulesprimo) ne sufiĉa spaco por enmomorigi la tutan NFA " +msgid "E878: (NFA) Could not allocate memory for branch traversal!" +msgstr "E878: (NFA) Ne povis asigni memoron por traigi branĉojn!" + msgid "" "Could not open temporary log file for writing, displaying on stderr ... " msgstr "" @@ -4082,9 +4938,6 @@ msgstr " hebrea" msgid " Arabic" msgstr " araba" -msgid " (lang)" -msgstr " (lingvo)" - msgid " (paste)" msgstr " (algluo)" @@ -4179,8 +5032,47 @@ msgstr "" "# Lasta serĉa Åablono %s:\n" "~" -msgid "E759: Format error in spell file" -msgstr "E759: Eraro de formato en literuma dosiero" +msgid "E756: Spell checking is not enabled" +msgstr "E756: Literumilo ne estas Åaltita" + +#, c-format +msgid "Warning: Cannot find word list \"%s_%s.spl\" or \"%s_ascii.spl\"" +msgstr "Averto: Ne eblas trovi vortliston \"%s_%s.spl\" aÅ \"%s_ascii.spl\"" + +#, c-format +msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\"" +msgstr "Averto: Ne eblas trovi vortliston \"%s.%s.spl\" aÅ \"%s.ascii.spl\"" + +msgid "E797: SpellFileMissing autocommand deleted buffer" +msgstr "E797: AÅtokomando SpellFileMissing forviÅis bufron" + +#, c-format +msgid "Warning: region %s not supported" +msgstr "Averto: regiono %s ne subtenata" + +msgid "Sorry, no suggestions" +msgstr "BedaÅrinde ne estas sugestoj" + +#, c-format +msgid "Sorry, only %ld suggestions" +msgstr "BedaÅrinde estas nur %ld sugestoj" + +#. for when 'cmdheight' > 1 +#. avoid more prompt +#, c-format +msgid "Change \"%.*s\" to:" +msgstr "AnstataÅigi \"%.*s\" per:" + +#, c-format +msgid " < \"%.*s\"" +msgstr " < \"%.*s\"" + +msgid "E752: No previous spell replacement" +msgstr "E752: Neniu antaÅa literuma anstataÅigo" + +#, c-format +msgid "E753: Not found: %s" +msgstr "E753: Netrovita: %s" msgid "E758: Truncated spell file" msgstr "E758: Trunkita literuma dosiero" @@ -4202,13 +5094,6 @@ msgstr "E762: Signo en FOL, LOW aÅ UPP estas ekster limoj" msgid "Compressing word tree..." msgstr "Densigas arbon de vortoj..." -msgid "E756: Spell checking is not enabled" -msgstr "E756: Literumilo ne estas Åaltita" - -#, c-format -msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\"" -msgstr "Averto: Ne eblas trovi vortliston \"%s.%s.spl\" aÅ \"%s.ascii.spl\"" - #, c-format msgid "Reading spell file \"%s\"" msgstr "Legado de literuma dosiero \"%s\"" @@ -4226,8 +5111,24 @@ msgid "E770: Unsupported section in spell file" msgstr "E770: Nesubtenata sekcio en literuma dosiero" #, c-format -msgid "Warning: region %s not supported" -msgstr "Averto: regiono %s ne subtenata" +msgid "E778: This does not look like a .sug file: %s" +msgstr "E778: Tio ne Åajnas esti dosiero .sug: %s" + +#, c-format +msgid "E779: Old .sug file, needs to be updated: %s" +msgstr "E779: Malnova dosiero .sug, bezonas Äisdatigon: %s" + +#, c-format +msgid "E780: .sug file is for newer version of Vim: %s" +msgstr "E780: Dosiero .sug estas por pli nova versio de Vim: %s" + +#, c-format +msgid "E781: .sug file doesn't match .spl file: %s" +msgstr "E781: Dosiero .sug ne kongruas kun dosiero .spl: %s" + +#, c-format +msgid "E782: error while reading .sug file: %s" +msgstr "E782: eraro dum legado de dosiero .sug: %s" #, c-format msgid "Reading affix file %s ..." @@ -4242,6 +5143,10 @@ msgid "Conversion in %s not supported: from %s to %s" msgstr "Konverto en %s nesubtenata: de %s al %s" #, c-format +msgid "Conversion in %s not supported" +msgstr "Konverto en %s nesubtenata" + +#, c-format msgid "Invalid value for FLAG in %s line %d: %s" msgstr "Nevalida valoro de FLAG en %s linio %d: %s" @@ -4425,6 +5330,9 @@ msgstr "Nekonata flago en %s linio %d: %s" msgid "Ignored %d words with non-ASCII characters" msgstr "Ignoris %d vorto(j)n kun neaskiaj signoj" +msgid "E845: Insufficient memory, word list will be incomplete" +msgstr "E845: Ne sufiĉe da memoro, vortlisto estos nekompleta." + #, c-format msgid "Compressed %d of %d nodes; %d (%d%%) remaining" msgstr "Densigis %d de %d nodoj; %d (%d%%) restantaj" @@ -4432,14 +5340,16 @@ msgstr "Densigis %d de %d nodoj; %d (%d%%) restantaj" msgid "Reading back spell file..." msgstr "Relegas la dosieron de literumo..." -#. Go through the trie of good words, soundfold each word and add it to -#. the soundfold trie. +#. +#. * Go through the trie of good words, soundfold each word and add it to +#. * the soundfold trie. +#. msgid "Performing soundfolding..." msgstr "Fonetika analizado..." #, c-format -msgid "Number of words after soundfolding: %<PRId64>" -msgstr "Nombro de vortoj post fonetika analizado: %<PRId64>" +msgid "Number of words after soundfolding: %ld" +msgstr "Nombro de vortoj post fonetika analizado: %ld" #, c-format msgid "Total number of words: %d" @@ -4474,66 +5384,22 @@ msgid "Done!" msgstr "Farita!" #, c-format -msgid "E765: 'spellfile' does not have %<PRId64> entries" -msgstr "E765: 'spellfile' ne havas %<PRId64> rikordojn" - -#, fuzzy, c-format -#~ msgid "Word '%.*s' removed from %s" -#~ msgstr "Vorto fortirita el %s" - -#, fuzzy, c-format -#~ msgid "Word '%.*s' added to %s" -#~ msgstr "Vorto aldonita al %s" - -msgid "E763: Word characters differ between spell files" -msgstr "E763: Signoj de vorto malsamas tra literumaj dosieroj" - -msgid "Sorry, no suggestions" -msgstr "BedaÅrinde ne estas sugestoj" - -#, c-format -msgid "Sorry, only %<PRId64> suggestions" -msgstr "BedaÅrinde estas nur %<PRId64> sugestoj" - -#. for when 'cmdheight' > 1 -#. avoid more prompt -#, c-format -msgid "Change \"%.*s\" to:" -msgstr "AnstataÅigi \"%.*s\" per:" +msgid "E765: 'spellfile' does not have %ld entries" +msgstr "E765: 'spellfile' ne havas %ld rikordojn" #, c-format -msgid " < \"%.*s\"" -msgstr " < \"%.*s\"" - -msgid "E752: No previous spell replacement" -msgstr "E752: Neniu antaÅa literuma anstataÅigo" +msgid "Word '%.*s' removed from %s" +msgstr "Vorto '%.*s' fortirita el %s" #, c-format -msgid "E753: Not found: %s" -msgstr "E753: Netrovita: %s" +msgid "Word '%.*s' added to %s" +msgstr "Vorto '%.*s' aldonita al %s" -#, c-format -msgid "E778: This does not look like a .sug file: %s" -msgstr "E778: Tio ne Åajnas esti dosiero .sug: %s" - -#, c-format -msgid "E779: Old .sug file, needs to be updated: %s" -msgstr "E779: Malnova dosiero .sug, bezonas Äisdatigon: %s" - -#, c-format -msgid "E780: .sug file is for newer version of Vim: %s" -msgstr "E780: Dosiero .sug estas por pli nova versio de Vim: %s" - -#, c-format -msgid "E781: .sug file doesn't match .spl file: %s" -msgstr "E781: Dosiero .sug ne kongruas kun dosiero .spl: %s" - -#, c-format -msgid "E782: error while reading .sug file: %s" -msgstr "E782: eraro dum legado de dosiero .sug: %s" +msgid "E763: Word characters differ between spell files" +msgstr "E763: Signoj de vorto malsamas tra literumaj dosieroj" #. This should have been checked when generating the .spl -#. file. +#. * file. msgid "E783: duplicate char in MAP entry" msgstr "E783: ripetita signo en rikordo MAP" @@ -4641,7 +5507,6 @@ msgstr "E848: Tro da sintaksaj grupoj" msgid "E400: No cluster specified" msgstr "E400: Neniu fasko specifita" -#. end delimiter not found #, c-format msgid "E401: Pattern delimiter not found: %s" msgstr "E401: Disigilo de Åablono netrovita: %s" @@ -4681,9 +5546,10 @@ msgstr "E409: Nekonata nomo de grupo: %s" msgid "E410: Invalid :syntax subcommand: %s" msgstr "E410: Nevalida \":syntax\" subkomando: %s" -#~ msgid "" -#~ " TOTAL COUNT MATCH SLOWEST AVERAGE NAME PATTERN" -#~ msgstr "" +msgid "" +" TOTAL COUNT MATCH SLOWEST AVERAGE NAME PATTERN" +msgstr "" +" TOTALO NOMBRO KONGRUO PLEJ MALRAPID MEZA NOMO ÅœABLONO" msgid "E679: recursive loop loading syncolor.vim" msgstr "E679: rekursia buklo dum Åargo de syncolor.vim" @@ -4698,7 +5564,7 @@ msgstr "E412: Ne sufiĉaj argumentoj: \":highlight link %s\"" #, c-format msgid "E413: Too many arguments: \":highlight link %s\"" -msgstr "E413: Tro argumentoj: \":highlight link %s\"" +msgstr "E413: Tro da argumentoj: \":highlight link %s\"" msgid "E414: group has settings, highlight link ignored" msgstr "E414: grupo havas agordojn, ligilo de emfazo ignorita" @@ -4806,6 +5672,10 @@ msgstr "" msgid "Searching tags file %s" msgstr "Serĉado de dosiero de etikedoj %s" +#, c-format +msgid "E430: Tag file path truncated for %s\n" +msgstr "E430: Vojo de etikeda dosiero trunkita por %s\n" + msgid "Ignoring long line in tags file" msgstr "Ignoro de longa linio en etikeda dosiero" @@ -4814,8 +5684,8 @@ msgid "E431: Format error in tags file \"%s\"" msgstr "E431: Eraro de formato en etikeda dosiero \"%s\"" #, c-format -msgid "Before byte %<PRId64>" -msgstr "AntaÅ bajto %<PRId64>" +msgid "Before byte %ld" +msgstr "AntaÅ bajto %ld" #, c-format msgid "E432: Tags file not sorted: %s" @@ -4865,14 +5735,26 @@ msgstr "" "\n" "--- Klavoj de terminalo ---" +msgid "Cannot open $VIMRUNTIME/rgb.txt" +msgstr "Ne povas malfermi $VIMRUNTIME/rgb.txt" + +msgid "new shell started\n" +msgstr "nova Åelo lanĉita\n" + msgid "Vim: Error reading input, exiting...\n" msgstr "Vim: Eraro dum legado de eniro, elironta...\n" +msgid "Used CUT_BUFFER0 instead of empty selection" +msgstr "Uzis CUT_BUFFER0 anstataÅ malplenan apartigon" + #. This happens when the FileChangedRO autocommand changes the #. * file in a way it becomes shorter. -#, fuzzy -#~ msgid "E881: Line count changed unexpectedly" -#~ msgstr "E834: Nombro de linioj ÅanÄiÄis neatendite" +msgid "E881: Line count changed unexpectedly" +msgstr "E881: Nombro de linioj ÅanÄiÄis neatendite" + +#. must display the prompt +msgid "No undo possible; continue anyway" +msgstr "Malfaro neebla; tamen daÅrigi" #, c-format msgid "E828: Cannot open undo file for writing: %s" @@ -4921,6 +5803,18 @@ msgid "E823: Not an undo file: %s" msgstr "E823: Ne estas malfara dosiero: %s" #, c-format +msgid "E832: Non-encrypted file has encrypted undo file: %s" +msgstr "E832: Ne ĉifrata dosiero havas ĉifratan malfaran dosieron: %s" + +#, c-format +msgid "E826: Undo file decryption failed: %s" +msgstr "E826: Malĉifrado de malfara dosiero malsukcesis: %s" + +#, c-format +msgid "E827: Undo file is encrypted: %s" +msgstr "E827: Malfara dosiero estas ĉifrata: %s" + +#, c-format msgid "E824: Incompatible undo file: %s" msgstr "E824: Malkongrua malfara dosiero: %s" @@ -4938,8 +5832,8 @@ msgid "Already at newest change" msgstr "Jam al la plej nova ÅanÄo" #, c-format -msgid "E830: Undo number %<PRId64> not found" -msgstr "E830: Malfara numero %<PRId64> netrovita" +msgid "E830: Undo number %ld not found" +msgstr "E830: Malfara numero %ld netrovita" msgid "E438: u_undo: line numbers wrong" msgstr "E438: u_undo: nevalidaj numeroj de linioj" @@ -4963,8 +5857,8 @@ msgid "changes" msgstr "ÅanÄoj" #, c-format -msgid "%<PRId64> %s; %s #%<PRId64> %s" -msgstr "%<PRId64> %s; %s #%<PRId64> %s" +msgid "%ld %s; %s #%ld %s" +msgstr "%ld %s; %s #%ld %s" msgid "before" msgstr "antaÅ" @@ -4979,8 +5873,8 @@ msgid "number changes when saved" msgstr "numero ÅanÄoj tempo konservita" #, c-format -msgid "%<PRId64> seconds ago" -msgstr "antaÅ %<PRId64> sekundoj" +msgid "%ld seconds ago" +msgstr "antaÅ %ld sekundoj" msgid "E790: undojoin is not allowed after undo" msgstr "E790: undojoin estas nepermesebla post malfaro" @@ -4991,6 +5885,189 @@ msgstr "E439: listo de malfaro estas difekta" msgid "E440: undo line missing" msgstr "E440: linio de malfaro mankas" +#, c-format +msgid "E122: Function %s already exists, add ! to replace it" +msgstr "E122: La funkcio %s jam ekzistas (aldonu ! por anstataÅigi Äin)" + +msgid "E717: Dictionary entry already exists" +msgstr "E717: Rikordo de vortaro jam ekzistas" + +msgid "E718: Funcref required" +msgstr "E718: Funcref bezonata" + +#, c-format +msgid "E130: Unknown function: %s" +msgstr "E130: Nekonata funkcio: %s" + +#, c-format +msgid "E125: Illegal argument: %s" +msgstr "E125: Nevalida argumento: %s" + +#, c-format +msgid "E853: Duplicate argument name: %s" +msgstr "E853: Ripetita nomo de argumento: %s" + +#, c-format +msgid "E740: Too many arguments for function %s" +msgstr "E740: Tro da argumentoj por funkcio: %s" + +#, c-format +msgid "E116: Invalid arguments for function %s" +msgstr "E116: Nevalidaj argumentoj por funkcio: %s" + +msgid "E132: Function call depth is higher than 'maxfuncdepth'" +msgstr "E132: Profundo de funkcia alvoko superas 'maxfuncdepth'" + +#, c-format +msgid "calling %s" +msgstr "alvokas %s" + +#, c-format +msgid "%s aborted" +msgstr "%s ĉesigita" + +#, c-format +msgid "%s returning #%ld" +msgstr "%s liveras #%ld" + +#, c-format +msgid "%s returning %s" +msgstr "%s liveras %s" + +msgid "E699: Too many arguments" +msgstr "E699: Tro da argumentoj" + +#, c-format +msgid "E117: Unknown function: %s" +msgstr "E117: Nekonata funkcio: %s" + +#, c-format +msgid "E933: Function was deleted: %s" +msgstr "E933: funkcio estis forviÅita: %s" + +#, c-format +msgid "E119: Not enough arguments for function: %s" +msgstr "E119: Ne sufiĉe da argumentoj por funkcio: %s" + +#, c-format +msgid "E120: Using <SID> not in a script context: %s" +msgstr "E120: <SID> estas uzata ekster kunteksto de skripto: %s" + +#, c-format +msgid "E725: Calling dict function without Dictionary: %s" +msgstr "E725: Alvoko de funkcio dict sen Vortaro: %s" + +msgid "E129: Function name required" +msgstr "E129: Nomo de funkcio bezonata" + +#, c-format +msgid "E128: Function name must start with a capital or \"s:\": %s" +msgstr "E128: Nomo de funkcio devas eki per majusklo aÅ per \"s:\": %s" + +#, c-format +msgid "E884: Function name cannot contain a colon: %s" +msgstr "E884: Nomo de funkcio ne povas enhavi dupunkton: %s" + +#, c-format +msgid "E123: Undefined function: %s" +msgstr "E123: Nedifinita funkcio: %s" + +#, c-format +msgid "E124: Missing '(': %s" +msgstr "E124: Mankas '(': %s" + +msgid "E862: Cannot use g: here" +msgstr "E862: Ne eblas uzi g: ĉi tie" + +#, c-format +msgid "E932: Closure function should not be at top level: %s" +msgstr "E932: Fermo-funkcio devus esti je la plej alta nivelo: %s" + +msgid "E126: Missing :endfunction" +msgstr "E126: Mankas \":endfunction\"" + +#, c-format +msgid "E707: Function name conflicts with variable: %s" +msgstr "E707: Nomo de funkcio konfliktas kun variablo: %s" + +#, c-format +msgid "E127: Cannot redefine function %s: It is in use" +msgstr "E127: Ne eblas redifini funkcion %s: Estas nuntempe uzata" + +#, c-format +msgid "E746: Function name does not match script file name: %s" +msgstr "E746: Nomo de funkcio ne kongruas kun dosiernomo de skripto: %s" + +#, c-format +msgid "E131: Cannot delete function %s: It is in use" +msgstr "E131: Ne eblas forviÅi funkcion %s: Estas nuntempe uzata" + +msgid "E133: :return not inside a function" +msgstr "E133: \":return\" ekster funkcio" + +#, c-format +msgid "E107: Missing parentheses: %s" +msgstr "E107: Mankas krampoj: %s" + +msgid "" +"\n" +"MS-Windows 64-bit GUI version" +msgstr "" +"\n" +"Grafika versio MS-Vindozo 64-bitoj" + +msgid "" +"\n" +"MS-Windows 32-bit GUI version" +msgstr "" +"\n" +"Grafika versio MS-Vindozo 32-bitoj" + +msgid " with OLE support" +msgstr " kun subteno de OLE" + +msgid "" +"\n" +"MS-Windows 64-bit console version" +msgstr "" +"\n" +"Versio konzola MS-Vindozo 64-bitoj" + +msgid "" +"\n" +"MS-Windows 32-bit console version" +msgstr "" +"\n" +"Versio konzola MS-Vindozo 32-bitoj" + +msgid "" +"\n" +"MacOS X (unix) version" +msgstr "" +"\n" +"Versio Mak OS X (unikso)" + +msgid "" +"\n" +"MacOS X version" +msgstr "" +"\n" +"Versio Mak OS X" + +msgid "" +"\n" +"MacOS version" +msgstr "" +"\n" +"Versio Mak OS" + +msgid "" +"\n" +"OpenVMS version" +msgstr "" +"\n" +"Versio OpenVMS" + msgid "" "\n" "Included patches: " @@ -5025,9 +6102,70 @@ msgstr "" "\n" "Grandega versio " +msgid "" +"\n" +"Big version " +msgstr "" +"\n" +"Granda versio " + +msgid "" +"\n" +"Normal version " +msgstr "" +"\n" +"Normala versio " + +msgid "" +"\n" +"Small version " +msgstr "" +"\n" +"Malgranda versio " + +msgid "" +"\n" +"Tiny version " +msgstr "" +"\n" +"Malgrandega versio " + msgid "without GUI." msgstr "sen grafika interfaco." +msgid "with GTK3 GUI." +msgstr "kun grafika interfaco GTK3." + +msgid "with GTK2-GNOME GUI." +msgstr "kun grafika interfaco GTK2-GNOME." + +msgid "with GTK2 GUI." +msgstr "kun grafika interfaco GTK2." + +msgid "with X11-Motif GUI." +msgstr "kun grafika interfaco X11-Motif." + +msgid "with X11-neXtaw GUI." +msgstr "kun grafika interfaco X11-neXtaw." + +msgid "with X11-Athena GUI." +msgstr "kun grafika interfaco X11-Athena." + +msgid "with Photon GUI." +msgstr "kun grafika interfaco Photon." + +msgid "with GUI." +msgstr "sen grafika interfaco." + +msgid "with Carbon GUI." +msgstr "kun grafika interfaco Carbon." + +msgid "with Cocoa GUI." +msgstr "kun grafika interfaco Cocoa." + +msgid "with (classic) GUI." +msgstr "kun (klasika) grafika interfaco." + msgid " Features included (+) or not (-):\n" msgstr " Ebloj inkluzivitaj (+) aÅ ne (-):\n" @@ -5049,6 +6187,24 @@ msgstr " dosiero exrc de uzanto: \"" msgid " 2nd user exrc file: \"" msgstr " 2-a dosiero exrc de uzanto: \"" +msgid " system gvimrc file: \"" +msgstr " sistema dosiero gvimrc: \"" + +msgid " user gvimrc file: \"" +msgstr " dosiero gvimrc de uzanto: \"" + +msgid "2nd user gvimrc file: \"" +msgstr " 2-a dosiero gvimrc de uzanto: \"" + +msgid "3rd user gvimrc file: \"" +msgstr " 3-a dosiero gvimrc de uzanto: \"" + +msgid " defaults file: \"" +msgstr " dosiero de defaÅltoj: \"" + +msgid " system menu file: \"" +msgstr " dosiero de sistema menuo: \"" + msgid " fall-back for $VIM: \"" msgstr " defaÅlto de $VIM: \"" @@ -5058,6 +6214,9 @@ msgstr " defaÅlto de VIMRUNTIME: \"" msgid "Compilation: " msgstr "Kompilado: " +msgid "Compiler: " +msgstr "Kompililo: " + msgid "Linking: " msgstr "Ligado: " @@ -5093,8 +6252,8 @@ msgid "type :help<Enter> or <F1> for on-line help" msgstr "tajpu :help<Enenklavo> aÅ <F1> por aliri la helpon " # DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon -msgid "type :help version7<Enter> for version info" -msgstr "tajpu :help version7<Enenklavo> por informo de versio" +msgid "type :help version8<Enter> for version info" +msgstr "tajpu :help version8<Enenklavo> por informo de versio" msgid "Running in Vi compatible mode" msgstr "RuliÄas en reÄimo kongrua kun Vi" @@ -5107,6 +6266,30 @@ msgstr "tajpu :set nocp<Enenklavo> por Vim defaÅltoj " msgid "type :help cp-default<Enter> for info on this" msgstr "tajpu :help cp-default<Enenklavo> por pliaj informoj " +# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon +msgid "menu Help->Orphans for information " +msgstr "menuo Help->Orfinoj por pliaj informoj " + +msgid "Running modeless, typed text is inserted" +msgstr "RuliÄas senreÄime, tajpita teksto estas enmetita" + +# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon +msgid "menu Edit->Global Settings->Toggle Insert Mode " +msgstr "menuo Redakti->Mallokaj Agordoj->Baskuligi Enmetan ReÄimon" + +# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon +msgid " for two modes " +msgstr " por du reÄimoj " + +# DP: tiu ĉeno pli longas (mi ne volas igi ĉiujn aliajn ĉenojn +# pli longajn) +msgid "menu Edit->Global Settings->Toggle Vi Compatible" +msgstr "menuo Redakti->Mallokaj Agordoj->Baskuligi ReÄimon Kongruan kun Vi" + +# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon +msgid " for Vim defaults " +msgstr " por defaÅltoj de Vim " + msgid "Sponsor Vim development!" msgstr "Subtenu la programadon de Vim!" @@ -5152,1737 +6335,703 @@ msgstr "E445: La alia fenestro enhavas ÅanÄojn" msgid "E446: No file name under cursor" msgstr "E446: Neniu dosiernomo sub la kursoro" -#~ msgid "E831: bf_key_init() called with empty password" -#~ msgstr "E831: bf_key_init() alvokita kun malplena pasvorto" - -#~ msgid "E820: sizeof(uint32_t) != 4" -#~ msgstr "E820: sizeof(uint32_t) != 4" - -#~ msgid "E817: Blowfish big/little endian use wrong" -#~ msgstr "E817: Misuzo de pezkomenca/pezfina en blowfish" - -#~ msgid "E818: sha256 test failed" -#~ msgstr "E818: Testo de sha256 fiaskis" - -#~ msgid "E819: Blowfish test failed" -#~ msgstr "E819: Testo de blowfish fiaskis" - -#~ msgid "Patch file" -#~ msgstr "Flika dosiero" - -#~ msgid "" -#~ "&OK\n" -#~ "&Cancel" -#~ msgstr "" -#~ "&Bone\n" -#~ "&Rezigni" - -#~ msgid "E240: No connection to Vim server" -#~ msgstr "E240: Neniu konekto al Vim-servilo" - -#~ msgid "E241: Unable to send to %s" -#~ msgstr "E241: Ne eblas sendi al %s" - -#~ msgid "E277: Unable to read a server reply" -#~ msgstr "E277: Ne eblas legi respondon de servilo" - -#~ msgid "E258: Unable to send to client" -#~ msgstr "E258: Ne eblas sendi al kliento" - -#~ msgid "Save As" -#~ msgstr "Konservi kiel" - -#~ msgid "Edit File" -#~ msgstr "Redakti dosieron" - -#~ msgid " (NOT FOUND)" -#~ msgstr " (NETROVITA)" - -#~ msgid "Source Vim script" -#~ msgstr "Ruli Vim-skripton" - -#~ msgid "unknown" -#~ msgstr "nekonata" - -#~ msgid "Edit File in new window" -#~ msgstr "Redakti Dosieron en nova fenestro" - -#~ msgid "Append File" -#~ msgstr "Postaldoni dosieron" - -#~ msgid "Window position: X %d, Y %d" -#~ msgstr "Pozicio de fenestro: X %d, Y %d" - -#~ msgid "Save Redirection" -#~ msgstr "Konservi alidirekton" - -# DP: mi ne certas pri superflugo -#~ msgid "Save View" -#~ msgstr "Konservi superflugon" - -#~ msgid "Save Session" -#~ msgstr "Konservi seancon" - -#~ msgid "Save Setup" -#~ msgstr "Konservi agordaron" - -#~ msgid "E809: #< is not available without the +eval feature" -#~ msgstr "E809: #< ne haveblas sen la eblo +eval" - -#~ msgid "E196: No digraphs in this version" -#~ msgstr "E196: Neniu duliteraĵo en tiu versio" - -#~ msgid "is a device (disabled with 'opendevice' option)" -#~ msgstr "estas aparatdosiero (malÅaltita per la opcio 'opendevice')" - -#~ msgid "Reading from stdin..." -#~ msgstr "Legado el stdin..." - -#~ msgid "[crypted]" -#~ msgstr "[ĉifrita]" - -#~ msgid "E821: File is encrypted with unknown method" -#~ msgstr "E821: Dosiero estas ĉifrata per nekonata metodo" - -#~ msgid "Warning: Using a weak encryption method; see :help 'cm'" -#~ msgstr "Averto: uzo de malfortika ĉifrada metodo; vidu :help 'cm'" - -#~ msgid "NetBeans disallows writes of unmodified buffers" -#~ msgstr "NetBeans malpermesas skribojn de neÅanÄitaj bufroj" - -#~ msgid "Partial writes disallowed for NetBeans buffers" -#~ msgstr "Partaj skriboj malpermesitaj ĉe bufroj NetBeans" - -#~ msgid "writing to device disabled with 'opendevice' option" -#~ msgstr "skribo al aparatdosiero malÅaltita per la opcio 'opendevice'" - -#~ msgid "E460: The resource fork would be lost (add ! to override)" -#~ msgstr "E460: La rimeda forko estus perdita (aldonu ! por transpasi)" - -#~ msgid "E851: Failed to create a new process for the GUI" -#~ msgstr "E851: Ne sukcesis krei novan procezon por la grafika interfaco" - -#~ msgid "E852: The child process failed to start the GUI" -#~ msgstr "E852: La ida procezo ne sukcesis startigi la grafikan interfacon" - -#~ msgid "E229: Cannot start the GUI" -#~ msgstr "E229: Ne eblas lanĉi la grafikan interfacon" - -#~ msgid "E230: Cannot read from \"%s\"" -#~ msgstr "E230: Ne eblas legi el \"%s\"" - -#~ msgid "E665: Cannot start GUI, no valid font found" -#~ msgstr "" -#~ "E665: Ne eblas startigi grafikan interfacon, neniu valida tiparo trovita" - -#~ msgid "E231: 'guifontwide' invalid" -#~ msgstr "E231: 'guifontwide' nevalida" - -#~ msgid "E599: Value of 'imactivatekey' is invalid" -#~ msgstr "E599: Valoro de 'imactivatekey' estas nevalida" - -#~ msgid "E254: Cannot allocate color %s" -#~ msgstr "E254: Ne eblas disponigi koloron %s" - -#~ msgid "No match at cursor, finding next" -#~ msgstr "Neniu kongruo ĉe kursorpozicio, trovas sekvan" - -#~ msgid "<cannot open> " -#~ msgstr "<ne eblas malfermi> " - -#~ msgid "E616: vim_SelFile: can't get font %s" -#~ msgstr "E616: vim_SelFile: ne eblas akiri tiparon %s" - -#~ msgid "E614: vim_SelFile: can't return to current directory" -#~ msgstr "E614: vim_SelFile: ne eblas reveni al la aktuala dosierujo" - -#~ msgid "Pathname:" -#~ msgstr "Serĉvojo:" - -#~ msgid "E615: vim_SelFile: can't get current directory" -#~ msgstr "E615: vim_SelFile: ne eblas akiri aktualan dosierujon" - -#~ msgid "OK" -#~ msgstr "Bone" - -#~ msgid "Cancel" -#~ msgstr "Rezigni" - -#~ msgid "Scrollbar Widget: Could not get geometry of thumb pixmap." -#~ msgstr "" -#~ "Fenestraĵo de rulumskalo: Ne eblis akiri geometrion de reduktita " -#~ "rastrumbildo" - -#~ msgid "Vim dialog" -#~ msgstr "Vim dialogo" - -#~ msgid "E232: Cannot create BalloonEval with both message and callback" -#~ msgstr "E232: Ne eblas krei BalloonEval kun ambaÅ mesaÄo kaj reagfunkcio" - -msgid "Yes" -msgstr "Jes" - -msgid "No" -msgstr "Ne" - -# todo '_' is for hotkey, i guess? -#~ msgid "Input _Methods" -#~ msgstr "Enigaj _metodoj" - -#~ msgid "VIM - Search and Replace..." -#~ msgstr "VIM - Serĉi kaj anstataÅigi..." - -#~ msgid "VIM - Search..." -#~ msgstr "VIM- Serĉi..." - -#~ msgid "Find what:" -#~ msgstr "Serĉi kion:" - -#~ msgid "Replace with:" -#~ msgstr "AnstataÅigi per:" - -#~ msgid "Match whole word only" -#~ msgstr "Kongrui kun nur plena vorto" - -#~ msgid "Match case" -#~ msgstr "Uskleca kongruo" - -#~ msgid "Direction" -#~ msgstr "Direkto" - -#~ msgid "Up" -#~ msgstr "Supren" - -#~ msgid "Down" -#~ msgstr "Suben" - -#~ msgid "Find Next" -#~ msgstr "Trovi sekvantan" - -#~ msgid "Replace" -#~ msgstr "AnstataÅigi" - -#~ msgid "Replace All" -#~ msgstr "AnstataÅigi ĉiujn" - -#~ msgid "Vim: Received \"die\" request from session manager\n" -#~ msgstr "Vim: Ricevis peton \"die\" (morti) el la seanca administrilo\n" - -#~ msgid "Close tab" -#~ msgstr "Fermi langeton" - -#~ msgid "New tab" -#~ msgstr "Nova langeto" - -#~ msgid "Open Tab..." -#~ msgstr "Malfermi langeton..." - -#~ msgid "Vim: Main window unexpectedly destroyed\n" -#~ msgstr "Vim: Ĉefa fenestro neatendite detruiÄis\n" - -#~ msgid "&Filter" -#~ msgstr "&Filtri" - -#~ msgid "&Cancel" -#~ msgstr "&Rezigni" - -#~ msgid "Directories" -#~ msgstr "Dosierujoj" - -#~ msgid "Filter" -#~ msgstr "Filtri" - -#~ msgid "&Help" -#~ msgstr "&Helpo" - -#~ msgid "Files" -#~ msgstr "Dosieroj" - -#~ msgid "&OK" -#~ msgstr "&Bone" - -#~ msgid "Selection" -#~ msgstr "Apartigo" - -#~ msgid "Find &Next" -#~ msgstr "Trovi &Sekvanta" - -#~ msgid "&Replace" -#~ msgstr "&AnstataÅigi" - -#~ msgid "Replace &All" -#~ msgstr "AnstataÅigi ĉi&on" - -#~ msgid "&Undo" -#~ msgstr "&Malfari" - -#~ msgid "E671: Cannot find window title \"%s\"" -#~ msgstr "E671: Ne eblas trovi titolon de fenestro \"%s\"" - -#~ msgid "E243: Argument not supported: \"-%s\"; Use the OLE version." -#~ msgstr "E243: Ne subtenata argumento: \"-%s\"; Uzu la version OLE." - -#~ msgid "E672: Unable to open window inside MDI application" -#~ msgstr "E672: Ne eblas malfermi fenestron interne de aplikaĵo MDI" - -#~ msgid "Open tab..." -#~ msgstr "Malfermi langeton..." - -#~ msgid "Find string (use '\\\\' to find a '\\')" -#~ msgstr "Trovi ĉenon (uzu '\\\\' por trovi '\\')" - -#~ msgid "Find & Replace (use '\\\\' to find a '\\')" -#~ msgstr "Trovi kaj anstataÅigi (uzu '\\\\' por trovi '\\')" - -#~ msgid "Not Used" -#~ msgstr "Ne uzata" - -#~ msgid "Directory\t*.nothing\n" -#~ msgstr "Dosierujo\t*.nenio\n" - -#~ msgid "" -#~ "Vim E458: Cannot allocate colormap entry, some colors may be incorrect" -#~ msgstr "" -#~ "Vim E458: Ne eblas disponigi rikordon de kolormapo, iuj koloroj estas " -#~ "eble neÄustaj" - -#~ msgid "E250: Fonts for the following charsets are missing in fontset %s:" -#~ msgstr "E250: Tiparoj de tiuj signaroj mankas en aro de tiparo %s:" - -#~ msgid "E252: Fontset name: %s" -#~ msgstr "E252: Nomo de tiparo: %s" - -#~ msgid "Font '%s' is not fixed-width" -#~ msgstr "Tiparo '%s' ne estas egallarÄa" - -#~ msgid "E253: Fontset name: %s\n" -#~ msgstr "E253: Nomo de tiparo: %s\n" - -#~ msgid "Font0: %s\n" -#~ msgstr "Font0: %s\n" - -#~ msgid "Font1: %s\n" -#~ msgstr "Font1: %s\n" - -#~ msgid "Font%<PRId64> width is not twice that of font0\n" -#~ msgstr "Font%<PRId64> ne estas duoble pli larÄa ol font0\n" - -#~ msgid "Font0 width: %<PRId64>\n" -#~ msgstr "LarÄo de font0: %<PRId64>\n" - -#~ msgid "" -#~ "Font1 width: %<PRId64>\n" -#~ "\n" -#~ msgstr "" -#~ "LarÄo de Font1: %<PRId64>\n" -#~ "\n" - -#~ msgid "Invalid font specification" -#~ msgstr "Nevalida tiparo specifita" - -#~ msgid "&Dismiss" -#~ msgstr "&Forlasi" - -#~ msgid "no specific match" -#~ msgstr "Neniu specifa kongruo" - -#~ msgid "Vim - Font Selector" -#~ msgstr "Vim - Elektilo de tiparo" - -#~ msgid "Name:" -#~ msgstr "Nomo:" - -#~ msgid "Show size in Points" -#~ msgstr "Montri grandon en punktoj" - -#~ msgid "Encoding:" -#~ msgstr "Kodoprezento:" - -#~ msgid "Font:" -#~ msgstr "Tiparo:" - -#~ msgid "Style:" -#~ msgstr "Stilo:" - -#~ msgid "Size:" -#~ msgstr "Grando:" - -#~ msgid "E256: Hangul automata ERROR" -#~ msgstr "E256: ERARO en aÅtomato de korea alfabeto" - -#~ msgid "E563: stat error" -#~ msgstr "E563: Eraro de stat" - -#~ msgid "E625: cannot open cscope database: %s" -#~ msgstr "E625: ne eblas malfermi datumbazon de cscope: %s" - -#~ msgid "E626: cannot get cscope database information" -#~ msgstr "E626: ne eblas akiri informojn pri la datumbazo de cscope" - -#~ msgid "Lua library cannot be loaded." -#~ msgstr "La biblioteko Lua no Åargeblis." - -#~ msgid "cannot save undo information" -#~ msgstr "ne eblas konservi informojn de malfaro" - -#~ msgid "" -#~ "E815: Sorry, this command is disabled, the MzScheme libraries could not " -#~ "be loaded." -#~ msgstr "" -#~ "E815: BedaÅrinde, tiu komando estas malÅaltita, ne eblis Åargi la " -#~ "bibliotekojn." - -#~ msgid "invalid expression" -#~ msgstr "nevalida esprimo" - -#~ msgid "expressions disabled at compile time" -#~ msgstr "esprimoj malÅaltitaj dum kompilado" - -#~ msgid "hidden option" -#~ msgstr "kaÅita opcio" - -#~ msgid "unknown option" -#~ msgstr "nekonata opcio" - -#~ msgid "window index is out of range" -#~ msgstr "indekso de fenestro estas ekster limoj" - -#~ msgid "couldn't open buffer" -#~ msgstr "ne eblis malfermi bufron" - -#~ msgid "cannot delete line" -#~ msgstr "ne eblas forviÅi linion" - -#~ msgid "cannot replace line" -#~ msgstr "ne eblas anstataÅigi linion" - -#~ msgid "cannot insert line" -#~ msgstr "ne eblas enmeti linion" - -#~ msgid "string cannot contain newlines" -#~ msgstr "ĉeno ne rajtas enhavi liniavancojn" - -#~ msgid "error converting Scheme values to Vim" -#~ msgstr "eraro dum konverto de Scheme-valoro al Vim" - -#~ msgid "Vim error: ~a" -#~ msgstr "Eraro de Vim: ~a" - -#~ msgid "Vim error" -#~ msgstr "Eraro de Vim" - -#~ msgid "buffer is invalid" -#~ msgstr "bufro estas nevalida" - -#~ msgid "window is invalid" -#~ msgstr "fenestro estas nevalida" - -#~ msgid "linenr out of range" -#~ msgstr "numero de linio ekster limoj" - -#~ msgid "not allowed in the Vim sandbox" -#~ msgstr "nepermesebla en sabloludejo de Vim" - -#~ msgid "E836: This Vim cannot execute :python after using :py3" -#~ msgstr "E836: Vim ne povas plenumi :python post uzo de :py3" - -#~ msgid "only string keys are allowed" -#~ msgstr "nur ĉenaj Ålosiloj estas permeseblaj" - -#~ msgid "" -#~ "E263: Sorry, this command is disabled, the Python library could not be " -#~ "loaded." -#~ msgstr "" -#~ "E263: BedaÅrinde tiu komando estas malÅaltita: la biblioteko de Pitono ne " -#~ "Åargeblis." - -#~ msgid "E659: Cannot invoke Python recursively" -#~ msgstr "E659: Ne eblas alvoki Pitonon rekursie" - -#~ msgid "E837: This Vim cannot execute :py3 after using :python" -#~ msgstr "E837: Vim ne povas plenumi :py3 post uzo de :python" - -#~ msgid "index must be int or slice" -#~ msgstr "indekso devas esti 'int' aÅ 'slice'" - -#~ msgid "E265: $_ must be an instance of String" -#~ msgstr "E265: $_ devas esti apero de Ĉeno" - -#~ msgid "" -#~ "E266: Sorry, this command is disabled, the Ruby library could not be " -#~ "loaded." -#~ msgstr "" -#~ "E266: BedaÅrinde tiu komando estas malÅaltita, la biblioteko Ruby ne " -#~ "Åargeblis." - -#~ msgid "E267: unexpected return" -#~ msgstr "E267: \"return\" neatendita" - -#~ msgid "E268: unexpected next" -#~ msgstr "E268: \"next\" neatendita" - -#~ msgid "E269: unexpected break" -#~ msgstr "E269: \"break\" neatendita" - -#~ msgid "E270: unexpected redo" -#~ msgstr "E270: \"redo\" neatendita" - -#~ msgid "E271: retry outside of rescue clause" -#~ msgstr "E271: \"retry\" ekster klaÅzo \"rescue\"" - -#~ msgid "E272: unhandled exception" -#~ msgstr "E272: netraktita escepto" - -#~ msgid "E273: unknown longjmp status %d" -#~ msgstr "E273: nekonata stato de longjmp: %d" - -#~ msgid "Toggle implementation/definition" -#~ msgstr "Baskuligi realigon/difinon" - -#~ msgid "Show base class of" -#~ msgstr "Vidigi bazan klason de" - -#~ msgid "Show overridden member function" -#~ msgstr "Montri anajn homonimigajn funkciojn" - -#~ msgid "Retrieve from file" -#~ msgstr "Rekuperi el dosiero" - -#~ msgid "Retrieve from project" -#~ msgstr "Rekuperi el projekto" - -#~ msgid "Retrieve from all projects" -#~ msgstr "Rekuperi de ĉiuj projektoj" - -#~ msgid "Retrieve" -#~ msgstr "Rekuperi" - -#~ msgid "Show source of" -#~ msgstr "Vidigi fonton de" - -#~ msgid "Find symbol" -#~ msgstr "Trovi simbolon" - -#~ msgid "Browse class" -#~ msgstr "Foliumi klasojn" - -#~ msgid "Show class in hierarchy" -#~ msgstr "Montri klason en hierarkio" - -#~ msgid "Show class in restricted hierarchy" -#~ msgstr "Montri klason en hierarkio restriktita" - -# todo -#~ msgid "Xref refers to" -#~ msgstr "Xref ligas al" - -#~ msgid "Xref referred by" -#~ msgstr "Xref ligiÄas de" - -#~ msgid "Xref has a" -#~ msgstr "Xref havas" - -#~ msgid "Xref used by" -#~ msgstr "Xref uzita de" - -# DP: mi ne certas pri kio temas -#~ msgid "Show docu of" -#~ msgstr "Vidigi dokumentaron de" - -#~ msgid "Generate docu for" -#~ msgstr "Krei dokumentaron de" - -#~ msgid "" -#~ "Cannot connect to SNiFF+. Check environment (sniffemacs must be found in " -#~ "$PATH).\n" -#~ msgstr "" -#~ "Konekto al SNiFF+ neeblas. Kontrolu medion (sniffemacs trovendas en " -#~ "$PATH).\n" - -#~ msgid "E274: Sniff: Error during read. Disconnected" -#~ msgstr "E274: Sniff: Eraro dum lego. Malkonektita" - -# DP: Tiuj 3 mesaÄoj estas kune -#~ msgid "SNiFF+ is currently " -#~ msgstr "SNiFF+ estas aktuale " - -#~ msgid "not " -#~ msgstr "ne " - -#~ msgid "connected" -#~ msgstr "konektita" - -#~ msgid "E275: Unknown SNiFF+ request: %s" -#~ msgstr "E275: Nekonata peto de SNiFF+: %s" - -#~ msgid "E276: Error connecting to SNiFF+" -#~ msgstr "E276: Eraro dum konekto al SNiFF+" - -#~ msgid "E278: SNiFF+ not connected" -#~ msgstr "E278: SNiFF+ ne estas konektita" - -#~ msgid "E279: Not a SNiFF+ buffer" -#~ msgstr "E279: Ne estas bufro SNiFF+" - -#~ msgid "Sniff: Error during write. Disconnected" -#~ msgstr "Sniff: Eraro dum skribo. Malkonektita" - -#~ msgid "invalid buffer number" -#~ msgstr "nevalida numero de bufro" - -#~ msgid "not implemented yet" -#~ msgstr "ankoraÅ ne realigita" - -#~ msgid "cannot set line(s)" -#~ msgstr "ne eblas meti la linio(j)n" - -#~ msgid "invalid mark name" -#~ msgstr "nevalida nomo de marko" - -#~ msgid "mark not set" -#~ msgstr "marko ne estas metita" - -#~ msgid "row %d column %d" -#~ msgstr "linio %d kolumno %d" - -#~ msgid "cannot insert/append line" -#~ msgstr "ne eblas enmeti/postaldoni linion" - -#~ msgid "line number out of range" -#~ msgstr "numero de linio ekster limoj" - -#~ msgid "unknown flag: " -#~ msgstr "nekonata flago: " - -# DP: ĉu traduki vimOption -#~ msgid "unknown vimOption" -#~ msgstr "nekonata vimOption" - -#~ msgid "keyboard interrupt" -#~ msgstr "klavara interrompo" - -#~ msgid "vim error" -#~ msgstr "eraro de Vim" - -#~ msgid "cannot create buffer/window command: object is being deleted" -#~ msgstr "" -#~ "ne eblas krei komandon de bufro/fenestro: objekto estas forviÅiÄanta" - -#~ msgid "" -#~ "cannot register callback command: buffer/window is already being deleted" -#~ msgstr "" -#~ "ne eblas registri postalvokan komandon: bufro/fenestro estas jam " -#~ "forviÅiÄanta" - -#~ msgid "" -#~ "E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-" -#~ "dev@vim.org" -#~ msgstr "" -#~ "E280: NERIPAREBLA TCL-ERARO: reflist difekta!? Bv. retpoÅti al vim-" -#~ "dev@vim.org" - -#~ msgid "cannot register callback command: buffer/window reference not found" -#~ msgstr "" -#~ "ne eblas registri postalvokan komandon: referenco de bufro/fenestro ne " -#~ "troveblas" - -#~ msgid "" -#~ "E571: Sorry, this command is disabled: the Tcl library could not be " -#~ "loaded." -#~ msgstr "" -#~ "E571: BedaÅrinde tiu komando estas malÅaltita: la biblioteko Tcl ne " -#~ "Åargeblis." - -#~ msgid "E572: exit code %d" -#~ msgstr "E572: elira kodo %d" - -#~ msgid "cannot get line" -#~ msgstr "ne eblas akiri linion" - -#~ msgid "Unable to register a command server name" -#~ msgstr "Ne eblas registri nomon de komanda servilo" - -#~ msgid "E248: Failed to send command to the destination program" -#~ msgstr "E248: Sendo de komando al cela programo fiaskis" - -#~ msgid "E573: Invalid server id used: %s" -#~ msgstr "E573: Nevalida identigilo de servilo uzita: %s" - -#~ msgid "E251: VIM instance registry property is badly formed. Deleted!" -#~ msgstr "" -#~ "E251: Ecoj de registro de apero de VIM estas nevalide formata. ForviÅita!" - -#~ msgid "netbeans is not supported with this GUI\n" -#~ msgstr "netbeans ne estas subtenata kun tiu grafika interfaco\n" - -#~ msgid "This Vim was not compiled with the diff feature." -#~ msgstr "Tiu Vim ne estis kompilita kun la kompara eblo." - -#~ msgid "'-nb' cannot be used: not enabled at compile time\n" -#~ msgstr "'-nb' ne uzeblas: malÅaltita dum kompilado\n" - -#~ msgid "Vim: Error: Failure to start gvim from NetBeans\n" -#~ msgstr "Vim: Eraro: Fiaskis lanĉi gvim el NetBeans\n" - -#~ msgid "" -#~ "\n" -#~ "Where case is ignored prepend / to make flag upper case" -#~ msgstr "" -#~ "\n" -#~ "Kie uskleco estas ignorita antaÅaldonu / por igi flagon majuskla" - -#~ msgid "-register\t\tRegister this gvim for OLE" -#~ msgstr "-register\t\tRegistri tiun gvim al OLE" - -#~ msgid "-unregister\t\tUnregister gvim for OLE" -#~ msgstr "-unregister\t\tMalregistri gvim de OLE" - -#~ msgid "-g\t\t\tRun using GUI (like \"gvim\")" -#~ msgstr "-g\t\t\tRuli per grafika interfaco (kiel \"gvim\")" - -#~ msgid "-f or --nofork\tForeground: Don't fork when starting GUI" -#~ msgstr "-f aÅ --nofork\tMalfono: ne forki kiam lanĉas grafikan interfacon" - -#~ msgid "-f\t\t\tDon't use newcli to open window" -#~ msgstr "-f\t\t\tNe uzi newcli por malfermi fenestrojn" - -#~ msgid "-dev <device>\t\tUse <device> for I/O" -#~ msgstr "-dev <aparatdosiero>\t\tUzi <aparatdosiero>-n por eneligo" - -#~ msgid "-U <gvimrc>\t\tUse <gvimrc> instead of any .gvimrc" -#~ msgstr "-U <gvimrc>\t\tUzi <gvimrc> anstataÅ iun ajn .gvimrc" - -#~ msgid "-x\t\t\tEdit encrypted files" -#~ msgstr "-x\t\t\tRedakti ĉifradan dosieron" - -#~ msgid "-display <display>\tConnect vim to this particular X-server" -#~ msgstr "-display <ekrano>\tKonekti Vim al tiu X-servilo" - -#~ msgid "-X\t\t\tDo not connect to X server" -#~ msgstr "-X\t\t\tNe konekti al X-servilo" - -#~ msgid "--remote <files>\tEdit <files> in a Vim server if possible" -#~ msgstr "--remote <dosieroj>\tRedakti <dosieroj>-n en Vim-servilo se eblas" - -#~ msgid "--remote-silent <files> Same, don't complain if there is no server" -#~ msgstr "--remote-silent <dosieroj> Same, sed ne plendi se ne estas servilo" - -#~ msgid "" -#~ "--remote-wait <files> As --remote but wait for files to have been edited" -#~ msgstr "" -#~ "--remote-wait <dosieroj> Kiel --remote sed atendi Äis dosieroj estas " -#~ "redaktitaj" - -#~ msgid "" -#~ "--remote-wait-silent <files> Same, don't complain if there is no server" -#~ msgstr "" -#~ "--remote-wait-silent <dosieroj> Same, sed ne plendi se ne estas servilo" - -#~ msgid "" -#~ "--remote-tab[-wait][-silent] <files> As --remote but use tab page per " -#~ "file" -#~ msgstr "" -#~ "--remote-tab[-wait][-silent] <dosieroj> Kiel --remote sed uzi langeton " -#~ "por ĉiu dosiero" - -#~ msgid "--remote-send <keys>\tSend <keys> to a Vim server and exit" -#~ msgstr "--remote-send <klavoj> Sendi <klavoj>-n al Vim-servilo kaj eliri" - -#~ msgid "" -#~ "--remote-expr <expr>\tEvaluate <expr> in a Vim server and print result" -#~ msgstr "" -#~ "--remote-expr <espr>\tKomputi <espr> en Vim-servilo kaj afiÅi rezulton" - -#~ msgid "--serverlist\t\tList available Vim server names and exit" -#~ msgstr "--serverlist\t\tListigi haveblajn nomojn de Vim-serviloj kaj eliri" - -#~ msgid "--servername <name>\tSend to/become the Vim server <name>" -#~ msgstr "--servername <nomo>\tSendu al/iÄi la Vim-servilo <nomo>" - -#~ msgid "" -#~ "\n" -#~ "Arguments recognised by gvim (Motif version):\n" -#~ msgstr "" -#~ "\n" -#~ "Argumentoj agnoskitaj de gvim (versio Motif):\n" - -#~ msgid "" -#~ "\n" -#~ "Arguments recognised by gvim (neXtaw version):\n" -#~ msgstr "" -#~ "\n" -#~ "Argumentoj agnoskitaj de gvim (versio neXtaw):\n" - -#~ msgid "" -#~ "\n" -#~ "Arguments recognised by gvim (Athena version):\n" -#~ msgstr "" -#~ "\n" -#~ "Argumentoj agnoskitaj de gvim (versio Athena):\n" - -#~ msgid "-display <display>\tRun vim on <display>" -#~ msgstr "-display <ekrano>\tLanĉi vim sur <ekrano>" - -#~ msgid "-iconic\t\tStart vim iconified" -#~ msgstr "-iconic\t\tLanĉi vim piktograme" - -#~ msgid "-background <color>\tUse <color> for the background (also: -bg)" -#~ msgstr "" -#~ "-background <koloro>\tUzi <koloro>-n por la fona koloro (ankaÅ: -bg)" - -#~ msgid "-foreground <color>\tUse <color> for normal text (also: -fg)" -#~ msgstr "" -#~ "-foreground <koloro>\tUzi <koloro>-n por la malfona koloro (ankaÅ: -fg)" - -#~ msgid "-font <font>\t\tUse <font> for normal text (also: -fn)" -#~ msgstr "-font <tiparo>\tUzi <tiparo>-n por normala teksto (ankaÅ: -fn)" - -#~ msgid "-boldfont <font>\tUse <font> for bold text" -#~ msgstr "-boldfont <tiparo>\tUzi <tiparo>-n por grasa teksto" - -#~ msgid "-italicfont <font>\tUse <font> for italic text" -#~ msgstr "-italicfont <tiparo>\tUzi <tiparo>-n por kursiva teksto" - -#~ msgid "-geometry <geom>\tUse <geom> for initial geometry (also: -geom)" -#~ msgstr "-geometry <geom>\tUzi <geom> kiel komenca geometrio (ankaÅ: -geom)" - -#~ msgid "-borderwidth <width>\tUse a border width of <width> (also: -bw)" -#~ msgstr "" -#~ "-borderwidth <larÄo>\tUzi <larÄo>-n kiel larÄo de bordero (ankaÅ: -bw)" - -#~ msgid "" -#~ "-scrollbarwidth <width> Use a scrollbar width of <width> (also: -sw)" -#~ msgstr "" -#~ "-scrollbarwidth <larÄo> Uzi <larÄo>-n kiel larÄo de rulumskalo (ankaÅ: -" -#~ "sw)" - -#~ msgid "-menuheight <height>\tUse a menu bar height of <height> (also: -mh)" -#~ msgstr "" -#~ "-menuheight <alto>\tUzi <alto>-n kiel alto de menuzona alto (ankaÅ: -mh)" - -#~ msgid "-reverse\t\tUse reverse video (also: -rv)" -#~ msgstr "-reverse\t\tUzi inversan videon (ankaÅ: -rv)" - -#~ msgid "+reverse\t\tDon't use reverse video (also: +rv)" -#~ msgstr "+reverse\t\tNe uzi inversan videon (ankaÅ: +rv)" +#, c-format +msgid "E447: Can't find file \"%s\" in path" +msgstr "E447: Ne eblas trovi dosieron \"%s\" en serĉvojo" -#~ msgid "-xrm <resource>\tSet the specified resource" -#~ msgstr "-xrm <rimedo>\tAgordi la specifitan <rimedo>-n" +#, c-format +msgid "E799: Invalid ID: %ld (must be greater than or equal to 1)" +msgstr "E799: Nevalida ID: %ld (devas esti egala aÅ pli granda ol 1)" -#~ msgid "" -#~ "\n" -#~ "Arguments recognised by gvim (GTK+ version):\n" -#~ msgstr "" -#~ "\n" -#~ "Argumentoj agnoskitaj de gvim (versio GTK+):\n" +#, c-format +msgid "E801: ID already taken: %ld" +msgstr "E801: ID jam uzata: %ld" -#~ msgid "-display <display>\tRun vim on <display> (also: --display)" -#~ msgstr "-display <ekrano>\tLanĉi Vim sur tiu <ekrano> (ankaÅ: --display)" +msgid "List or number required" +msgstr "Listo aÅ nombro bezonata" -#~ msgid "--role <role>\tSet a unique role to identify the main window" -#~ msgstr "--role <rolo>\tDoni unikan rolon por identigi la ĉefan fenestron" +#, c-format +msgid "E802: Invalid ID: %ld (must be greater than or equal to 1)" +msgstr "E802: Nevalida ID: %ld (devas esti egala aÅ pli granda ol 1)" -#~ msgid "--socketid <xid>\tOpen Vim inside another GTK widget" -#~ msgstr "--socketid <xid>\tMalfermi Vim en alia GTK fenestraĵo" +#, c-format +msgid "E803: ID not found: %ld" +msgstr "E803: ID netrovita: %ld" -#~ msgid "--echo-wid\t\tMake gvim echo the Window ID on stdout" -#~ msgstr "--echo-wid\t\tIgas gvim afiÅi la identigilon de vindozo sur stdout" +#, c-format +msgid "E370: Could not load library %s" +msgstr "E370: Ne eblis Åargi bibliotekon %s" -#~ msgid "-P <parent title>\tOpen Vim inside parent application" -#~ msgstr "-P <gepatra titolo>\tMalfermi Vim en gepatra aplikaĵo" +msgid "Sorry, this command is disabled: the Perl library could not be loaded." +msgstr "" +"BedaÅrinde tiu komando estas malÅaltita: la biblioteko de Perl ne Åargeblis." -#~ msgid "--windowid <HWND>\tOpen Vim inside another win32 widget" -#~ msgstr "--windowid <HWND>\tMalfermi Vim en alia win32 fenestraĵo" +msgid "E299: Perl evaluation forbidden in sandbox without the Safe module" +msgstr "" +"E299: Plenumo de Perl esprimoj malpermesata en sabloludejo sen la modulo Safe" -#~ msgid "No display" -#~ msgstr "Neniu ekrano" +msgid "Edit with &multiple Vims" +msgstr "Redakti per &pluraj Vim-oj" -#~ msgid ": Send failed.\n" -#~ msgstr ": Sendo fiaskis.\n" +msgid "Edit with single &Vim" +msgstr "Redakti per unuopa &Vim" -#~ msgid ": Send failed. Trying to execute locally\n" -#~ msgstr ": Sendo fiaskis. Provo de loka plenumo\n" +msgid "Diff with Vim" +msgstr "Kompari per Vim" -#~ msgid "%d of %d edited" -#~ msgstr "%d de %d redaktita(j)" +msgid "Edit with &Vim" +msgstr "Redakti per &Vim" -#~ msgid "No display: Send expression failed.\n" -#~ msgstr "Neniu ekrano: Sendado de esprimo fiaskis.\n" +#. Now concatenate +msgid "Edit with existing Vim - " +msgstr "Redakti per ekzistanta Vim - " -#~ msgid ": Send expression failed.\n" -#~ msgstr ": Sendado de esprimo fiaskis.\n" +msgid "Edits the selected file(s) with Vim" +msgstr "Redakti la apartigita(j)n dosiero(j)n per Vim" -#~ msgid "E543: Not a valid codepage" -#~ msgstr "E543: Nevalida kodpaÄo" +msgid "Error creating process: Check if gvim is in your path!" +msgstr "Eraro dum kreo de procezo: Kontrolu ĉu gvim estas en via serĉvojo!" -#~ msgid "E284: Cannot set IC values" -#~ msgstr "E284: Ne eblas agordi valorojn de IC" +msgid "gvimext.dll error" +msgstr "Eraro de gvimext.dll" -#~ msgid "E285: Failed to create input context" -#~ msgstr "E285: Ne eblis krei enigan kuntekston" +msgid "Path length too long!" +msgstr "Serĉvojo estas tro longa!" -#~ msgid "E286: Failed to open input method" -#~ msgstr "E286: Ne eblis malfermi enigan metodon" +msgid "--No lines in buffer--" +msgstr "--Neniu linio en bufro--" -#~ msgid "E287: Warning: Could not set destroy callback to IM" -#~ msgstr "E287: Averto: Ne eblis agordi detruan reagfunkcion al IM" +#. +#. * The error messages that can be shared are included here. +#. * Excluded are errors that are only used once and debugging messages. +#. +msgid "E470: Command aborted" +msgstr "E470: komando ĉesigita" -#~ msgid "E288: input method doesn't support any style" -#~ msgstr "E288: eniga metodo subtenas neniun stilon" +msgid "E471: Argument required" +msgstr "E471: Argumento bezonata" -# DP: mi ne scias, kio estas "preedit" -#~ msgid "E289: input method doesn't support my preedit type" -#~ msgstr "E289: eniga metodo ne subtenas mian antaÅredaktan tipon" - -#~ msgid "E843: Error while updating swap file crypt" -#~ msgstr "E843: Eraro dum Äisdatigo de ĉifrada permutodosiero .swp" - -#~ msgid "" -#~ "E833: %s is encrypted and this version of Vim does not support encryption" -#~ msgstr "E833: %s estas ĉifrata kaj tiu versio de Vim ne subtenas ĉifradon" - -#~ msgid "Swap file is encrypted: \"%s\"" -#~ msgstr "Perumutodosiero .swp estas ĉifrata: \"%s\"" - -#~ msgid "" -#~ "\n" -#~ "If you entered a new crypt key but did not write the text file," -#~ msgstr "" -#~ "\n" -#~ "Se vi tajpis novan Ålosilon de ĉifrado sed ne skribis la tekstan dosieron," - -#~ msgid "" -#~ "\n" -#~ "enter the new crypt key." -#~ msgstr "" -#~ "\n" -#~ "tajpu la novan Ålosilon de ĉifrado." +msgid "E10: \\ should be followed by /, ? or &" +msgstr "E10: \\ devus esti sekvita de /, ? aÅ &" -#~ msgid "" -#~ "\n" -#~ "If you wrote the text file after changing the crypt key press enter" -#~ msgstr "" -#~ "\n" -#~ "Se vi skribis la tekstan dosieron post ÅanÄo de la Ålosilo de ĉifrado, " -#~ "premu enenklavon" +msgid "E11: Invalid in command-line window; <CR> executes, CTRL-C quits" +msgstr "" +"E11: Nevalida en fenestro de komanda linio; <CR> plenumas, CTRL-C eliras" -#~ msgid "" -#~ "\n" -#~ "to use the same key for text file and swap file" -#~ msgstr "" -#~ "\n" -#~ "por uzi la saman Ålosilon por la teksta dosiero kaj permuto dosiero .swp" +msgid "E12: Command not allowed from exrc/vimrc in current dir or tag search" +msgstr "" +"E12: Nepermesebla komando el exrc/vimrc en aktuala dosierujo aÅ etikeda serĉo" -#~ msgid "Using crypt key from swap file for the text file.\n" -#~ msgstr "" -#~ "Uzas Ålosilon de ĉifrado el permuto dosiero .swp por la teksta dosiero.\n" +msgid "E171: Missing :endif" +msgstr "E171: Mankas \":endif\"" -#~ msgid "" -#~ "\n" -#~ " [not usable with this version of Vim]" -#~ msgstr "" -#~ "\n" -#~ " [ne uzebla per tiu versio de Vim]" +msgid "E600: Missing :endtry" +msgstr "E600: Mankas \":endtry\"" -#~ msgid "Tear off this menu" -#~ msgstr "Disigi tiun menuon" +msgid "E170: Missing :endwhile" +msgstr "E170: Mankas \":endwhile\"" -#~ msgid "Select Directory dialog" -#~ msgstr "Dialogujo de dosiera elekto" +msgid "E170: Missing :endfor" +msgstr "E170: Mankas \":endfor\"" -#~ msgid "Save File dialog" -#~ msgstr "Dialogujo de dosiera konservo" +msgid "E588: :endwhile without :while" +msgstr "E588: \":endwhile\" sen \":while\"" -#~ msgid "Open File dialog" -#~ msgstr "Dialogujo de dosiera malfermo" +msgid "E588: :endfor without :for" +msgstr "E588: \":endfor\" sen \":for\"" -#~ msgid "E338: Sorry, no file browser in console mode" -#~ msgstr "E338: BedaÅrinde ne estas dosierfoliumilo en konzola reÄimo" +msgid "E13: File exists (add ! to override)" +msgstr "E13: Dosiero ekzistas (aldonu ! por transpasi)" -#~ msgid "Vim: preserving files...\n" -#~ msgstr "Vim: konservo de dosieroj...\n" +msgid "E472: Command failed" +msgstr "E472: La komando malsukcesis" -#~ msgid "Vim: Finished.\n" -#~ msgstr "Vim: Finita.\n" +#, c-format +msgid "E234: Unknown fontset: %s" +msgstr "E234: Nekonata familio de tiparo: %s" -#~ msgid "ERROR: " -#~ msgstr "ERARO: " +#, c-format +msgid "E235: Unknown font: %s" +msgstr "E235: Nekonata tiparo: %s" -#~ msgid "" -#~ "\n" -#~ "[bytes] total alloc-freed %<PRIu64>-%<PRIu64>, in use %<PRIu64>, peak use " -#~ "%<PRIu64>\n" -#~ msgstr "" -#~ "\n" -#~ "[bajtoj] totalaj disponigitaj/maldisponigitaj %<PRIu64>-%<PRIu64>, nun " -#~ "uzataj %<PRIu64>, kulmina uzo %<PRIu64>\n" +#, c-format +msgid "E236: Font \"%s\" is not fixed-width" +msgstr "E236: La tiparo \"%s\" ne estas egallarÄa" -#~ msgid "" -#~ "[calls] total re/malloc()'s %<PRIu64>, total free()'s %<PRIu64>\n" -#~ "\n" -#~ msgstr "" -#~ "[alvokoj] totalaj re/malloc() %<PRIu64>, totalaj free() %<PRIu64>\n" -#~ "\n" +msgid "E473: Internal error" +msgstr "E473: Interna eraro" -#~ msgid "E340: Line is becoming too long" -#~ msgstr "E340: Linio iÄas tro longa" +#, c-format +msgid "E685: Internal error: %s" +msgstr "E685: Interna eraro: %s" -#~ msgid "E341: Internal error: lalloc(%<PRId64>, )" -#~ msgstr "E341: Interna eraro: lalloc(%<PRId64>, )" +msgid "Interrupted" +msgstr "Interrompita" -#~ msgid "E547: Illegal mouseshape" -#~ msgstr "E547: Nevalida formo de muskursoro" +msgid "E14: Invalid address" +msgstr "E14: Nevalida adreso" -#~ msgid "Enter encryption key: " -#~ msgstr "Tajpu la Ålosilon de ĉifrado: " +msgid "E474: Invalid argument" +msgstr "E474: Nevalida argumento" -#~ msgid "Enter same key again: " -#~ msgstr "Tajpu la Ålosilon denove: " +#, c-format +msgid "E475: Invalid argument: %s" +msgstr "E475: Nevalida argumento: %s" -#~ msgid "Keys don't match!" -#~ msgstr "Åœlosiloj ne kongruas!" +#, c-format +msgid "E15: Invalid expression: %s" +msgstr "E15: Nevalida esprimo: %s" -#~ msgid "Cannot connect to Netbeans #2" -#~ msgstr "Ne eblas konekti al Netbeans n-ro 2" +msgid "E16: Invalid range" +msgstr "E16: Nevalida amplekso" -#~ msgid "Cannot connect to Netbeans" -#~ msgstr "Ne eblas konekti al Netbeans" +msgid "E476: Invalid command" +msgstr "E476: Nevalida komando" -#~ msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\"" -#~ msgstr "" -#~ "E668: Nevalida permeso de dosiero de informo de konekto NetBeans: \"%s\"" +#, c-format +msgid "E17: \"%s\" is a directory" +msgstr "E17: \"%s\" estas dosierujo" -#~ msgid "read from Netbeans socket" -#~ msgstr "lego el kontaktoskatolo de Netbeans" +#, c-format +msgid "E364: Library call failed for \"%s()\"" +msgstr "E364: Alvoko al biblioteko malsukcesis por \"%s()\"" -#~ msgid "E658: NetBeans connection lost for buffer %<PRId64>" -#~ msgstr "E658: Konekto de NetBeans perdita por bufro %<PRId64>" +#, c-format +msgid "E448: Could not load library function %s" +msgstr "E448: Ne eblis Åargi bibliotekan funkcion %s" -#~ msgid "E838: netbeans is not supported with this GUI" -#~ msgstr "E838: netbeans ne estas subtenata kun tiu grafika interfaco" +msgid "E19: Mark has invalid line number" +msgstr "E19: Marko havas nevalidan numeron de linio" -#~ msgid "E511: netbeans already connected" -#~ msgstr "E511: nebeans jam konektata" +msgid "E20: Mark not set" +msgstr "E20: Marko ne estas agordita" -#~ msgid "E505: %s is read-only (add ! to override)" -#~ msgstr "E505: %s estas nurlegebla (aldonu ! por transpasi)" +msgid "E21: Cannot make changes, 'modifiable' is off" +msgstr "E21: Ne eblas fari ÅanÄojn, 'modifiable' estas malÅaltita" -# DP: ĉu Eval devas esti tradukita? -#~ msgid "E775: Eval feature not available" -#~ msgstr "E775: Eval eblo ne disponeblas" +msgid "E22: Scripts nested too deep" +msgstr "E22: Tro profunde ingitaj skriptoj" -#~ msgid "freeing %<PRId64> lines" -#~ msgstr "malokupas %<PRId64> liniojn" +msgid "E23: No alternate file" +msgstr "E23: Neniu alterna dosiero" -#~ msgid "E530: Cannot change term in GUI" -#~ msgstr "E530: term ne ÅanÄeblas en grafika interfaco" +msgid "E24: No such abbreviation" +msgstr "E24: Ne estas tia mallongigo" -#~ msgid "E531: Use \":gui\" to start the GUI" -#~ msgstr "E531: Uzu \":gui\" por lanĉi la grafikan interfacon" +msgid "E477: No ! allowed" +msgstr "E477: Neniu ! permesebla" -#~ msgid "E617: Cannot be changed in the GTK+ 2 GUI" -#~ msgstr "E617: Ne ÅanÄeblas en la grafika interfaco GTK+ 2" +msgid "E25: GUI cannot be used: Not enabled at compile time" +msgstr "E25: Grafika interfaco ne uzeblas: MalÅaltita dum kompilado" -#~ msgid "E596: Invalid font(s)" -#~ msgstr "E596: Nevalida(j) tiparo(j)" +msgid "E26: Hebrew cannot be used: Not enabled at compile time\n" +msgstr "E26: La hebrea ne uzeblas: MalÅaltita dum kompilado\n" -#~ msgid "E597: can't select fontset" -#~ msgstr "E597: ne eblas elekti tiparon" +msgid "E27: Farsi cannot be used: Not enabled at compile time\n" +msgstr "E27: La persa ne uzeblas: MalÅaltita dum kompilado\n" -#~ msgid "E598: Invalid fontset" -#~ msgstr "E598: Nevalida tiparo" +msgid "E800: Arabic cannot be used: Not enabled at compile time\n" +msgstr "E800: La araba ne uzeblas: MalÅaltita dum kompilado\n" -#~ msgid "E533: can't select wide font" -#~ msgstr "E533: ne eblas elekti larÄan tiparon" +#, c-format +msgid "E28: No such highlight group name: %s" +msgstr "E28: Neniu grupo de emfazo kiel: %s" -#~ msgid "E534: Invalid wide font" -#~ msgstr "E534: Nevalida larÄa tiparo" +msgid "E29: No inserted text yet" +msgstr "E29: AnkoraÅ neniu enmetita teksto" -#~ msgid "E538: No mouse support" -#~ msgstr "E538: Neniu muso subtenata" +msgid "E30: No previous command line" +msgstr "E30: Neniu antaÅa komanda linio" -#~ msgid "cannot open " -#~ msgstr "ne eblas malfermi " +msgid "E31: No such mapping" +msgstr "E31: Neniu tiel mapo" -#~ msgid "VIM: Can't open window!\n" -#~ msgstr "VIM: Ne eblas malfermi fenestron!\n" +msgid "E479: No match" +msgstr "E479: Neniu kongruo" -#~ msgid "Need Amigados version 2.04 or later\n" -#~ msgstr "Bezonas version 2.04 de Amigados aÅ pli novan\n" +#, c-format +msgid "E480: No match: %s" +msgstr "E480: Neniu kongruo: %s" -#~ msgid "Need %s version %<PRId64>\n" -#~ msgstr "Bezonas %s-on versio %<PRId64>\n" +msgid "E32: No file name" +msgstr "E32: Neniu dosiernomo" -#~ msgid "Cannot open NIL:\n" -#~ msgstr "Ne eblas malfermi NIL:\n" +msgid "E33: No previous substitute regular expression" +msgstr "E33: Neniu antaÅa regulesprimo de anstataÅigo" -#~ msgid "Cannot create " -#~ msgstr "Ne eblas krei " +msgid "E34: No previous command" +msgstr "E34: Neniu antaÅa komando" -#~ msgid "Vim exiting with %d\n" -#~ msgstr "Vim eliras kun %d\n" +msgid "E35: No previous regular expression" +msgstr "E35: Neniu antaÅa regulesprimo" -#~ msgid "cannot change console mode ?!\n" -#~ msgstr "ne eblas ÅanÄi reÄimon de konzolo?!\n" +msgid "E481: No range allowed" +msgstr "E481: Amplekso nepermesebla" -#~ msgid "mch_get_shellsize: not a console??\n" -#~ msgstr "mch_get_shellsize: ne estas konzolo??\n" +msgid "E36: Not enough room" +msgstr "E36: Ne sufiĉe da spaco" -#~ msgid "E360: Cannot execute shell with -f option" -#~ msgstr "E360: Ne eblas plenumi Åelon kun opcio -f" +#, c-format +msgid "E247: no registered server named \"%s\"" +msgstr "E247: neniu registrita servilo nomita \"%s\"" -#~ msgid "Cannot execute " -#~ msgstr "Ne eblas plenumi " +#, c-format +msgid "E482: Can't create file %s" +msgstr "E482: Ne eblas krei dosieron %s" -#~ msgid "shell " -#~ msgstr "Åelo " +msgid "E483: Can't get temp file name" +msgstr "E483: Ne eblas akiri provizoran dosiernomon" -#~ msgid " returned\n" -#~ msgstr " liveris\n" +#, c-format +msgid "E484: Can't open file %s" +msgstr "E484: Ne eblas malfermi dosieron %s" -#~ msgid "ANCHOR_BUF_SIZE too small." -#~ msgstr "ANCHOR_BUF_SIZE tro malgranda." +#, c-format +msgid "E485: Can't read file %s" +msgstr "E485: Ne eblas legi dosieron %s" -#~ msgid "I/O ERROR" -#~ msgstr "ERARO DE ENIGO/ELIGO" +msgid "E37: No write since last change (add ! to override)" +msgstr "E37: Neniu skribo de post lasta ÅanÄo (aldonu ! por transpasi)" -#~ msgid "Message" -#~ msgstr "MesaÄo" +msgid "E37: No write since last change" +msgstr "E37: Neniu skribo de post lasta ÅanÄo" -#~ msgid "'columns' is not 80, cannot execute external commands" -#~ msgstr "'columns' ne estas 80, ne eblas plenumi eksternajn komandojn" +msgid "E38: Null argument" +msgstr "E38: Nula argumento" -#~ msgid "E237: Printer selection failed" -#~ msgstr "E237: Elekto de presilo fiaskis" +msgid "E39: Number expected" +msgstr "E39: Nombro atendita" -#~ msgid "to %s on %s" -#~ msgstr "al %s de %s" +#, c-format +msgid "E40: Can't open errorfile %s" +msgstr "E40: Ne eblas malfermi eraran dosieron %s" -#~ msgid "E613: Unknown printer font: %s" -#~ msgstr "E613: Nekonata tiparo de presilo: %s" +msgid "E233: cannot open display" +msgstr "E233: ne eblas malfermi vidigon" -#~ msgid "E238: Print error: %s" -#~ msgstr "E238: Eraro de presado: %s" +msgid "E41: Out of memory!" +msgstr "E41: Ne plu restas memoro!" -#~ msgid "Printing '%s'" -#~ msgstr "Presas '%s'" +msgid "Pattern not found" +msgstr "Åœablono ne trovita" -#~ msgid "E244: Illegal charset name \"%s\" in font name \"%s\"" -#~ msgstr "E244: Nevalida nomo de signaro \"%s\" en nomo de tiparo \"%s\"" +#, c-format +msgid "E486: Pattern not found: %s" +msgstr "E486: Åœablono ne trovita: %s" -#~ msgid "E245: Illegal char '%c' in font name \"%s\"" -#~ msgstr "E245: Nevalida signo '%c' en nomo de tiparo \"%s\"" +msgid "E487: Argument must be positive" +msgstr "E487: La argumento devas esti pozitiva" -#~ msgid "Vim: Double signal, exiting\n" -#~ msgstr "Vim: Duobla signalo, eliranta\n" +msgid "E459: Cannot go back to previous directory" +msgstr "E459: Ne eblas reiri al antaÅa dosierujo" -#~ msgid "Vim: Caught deadly signal %s\n" -#~ msgstr "Vim: Kaptis mortigantan signalon %s\n" +msgid "E42: No Errors" +msgstr "E42: Neniu eraro" -#~ msgid "Vim: Caught deadly signal\n" -#~ msgstr "Vim: Kaptis mortigantan signalon\n" +msgid "E776: No location list" +msgstr "E776: Neniu listo de lokoj" -#~ msgid "Opening the X display took %<PRId64> msec" -#~ msgstr "Malfermo de vidigo X daÅris %<PRId64> msek" +msgid "E43: Damaged match string" +msgstr "E43: Difekta kongruenda ĉeno" -#~ msgid "" -#~ "\n" -#~ "Vim: Got X error\n" -#~ msgstr "" -#~ "\n" -#~ "Vim: Alvenis X eraro\n" +msgid "E44: Corrupted regexp program" +msgstr "E44: Difekta programo de regulesprimo" -#~ msgid "Testing the X display failed" -#~ msgstr "Testo de la vidigo X fiaskis" +msgid "E45: 'readonly' option is set (add ! to override)" +msgstr "E45: La opcio 'readonly' estas Åaltita '(aldonu ! por transpasi)" -#~ msgid "Opening the X display timed out" -#~ msgstr "Tempolimo okazis dum malfermo de vidigo X" +#, c-format +msgid "E46: Cannot change read-only variable \"%s\"" +msgstr "E46: Ne eblas ÅanÄi nurlegeblan variablon \"%s\"" -#~ msgid "" -#~ "\n" -#~ "Cannot execute shell sh\n" -#~ msgstr "" -#~ "\n" -#~ "Ne eblas plenumi Åelon sh\n" +#, c-format +msgid "E794: Cannot set variable in the sandbox: \"%s\"" +msgstr "E794: Ne eblas agordi variablon en la sabloludejo: \"%s\"" -#~ msgid "" -#~ "\n" -#~ "Cannot create pipes\n" -#~ msgstr "" -#~ "\n" -#~ "Ne eblas krei duktojn\n" +msgid "E713: Cannot use empty key for Dictionary" +msgstr "E713: Ne eblas uzi malplenan Ålosilon de Vortaro" -#~ msgid "" -#~ "\n" -#~ "Cannot fork\n" -#~ msgstr "" -#~ "\n" -#~ "Ne eblas forki\n" +msgid "E715: Dictionary required" +msgstr "E715: Vortaro bezonata" -#~ msgid "" -#~ "\n" -#~ "Command terminated\n" -#~ msgstr "" -#~ "\n" -#~ "Komando terminigita\n" +#, c-format +msgid "E684: list index out of range: %ld" +msgstr "E684: indekso de listo ekster limoj: %ld" -#~ msgid "XSMP lost ICE connection" -#~ msgstr "XSMP perdis la konekton ICE" +#, c-format +msgid "E118: Too many arguments for function: %s" +msgstr "E118: Tro da argumentoj por funkcio: %s" -#~ msgid "Opening the X display failed" -#~ msgstr "Malfermo de vidigo X fiaskis" +#, c-format +msgid "E716: Key not present in Dictionary: %s" +msgstr "E716: Åœlosilo malekzistas en Vortaro: %s" -#~ msgid "XSMP handling save-yourself request" -#~ msgstr "XSMP: traktado de peto konservi-mem" +msgid "E714: List required" +msgstr "E714: Listo bezonata" -#~ msgid "XSMP opening connection" -#~ msgstr "XSMP: malfermo de konekto" +#, c-format +msgid "E712: Argument of %s must be a List or Dictionary" +msgstr "E712: Argumento de %s devas esti Listo aÅ Vortaro" -#~ msgid "XSMP ICE connection watch failed" -#~ msgstr "XSMP: kontrolo de konekto ICE fiaskis" +msgid "E47: Error while reading errorfile" +msgstr "E47: Eraro dum legado de erardosiero" -#~ msgid "XSMP SmcOpenConnection failed: %s" -#~ msgstr "XSMP: SmcOpenConnection fiaskis: %s" +msgid "E48: Not allowed in sandbox" +msgstr "E48: Nepermesebla en sabloludejo" -#~ msgid "At line" -#~ msgstr "Ĉe linio" +msgid "E523: Not allowed here" +msgstr "E523: Nepermesebla tie" -#~ msgid "Could not load vim32.dll!" -#~ msgstr "Ne eblis Åargi vim32.dll!" +msgid "E359: Screen mode setting not supported" +msgstr "E359: ReÄimo de ekrano ne subtenata" -#~ msgid "VIM Error" -#~ msgstr "Eraro de VIM" +msgid "E49: Invalid scroll size" +msgstr "E49: Nevalida grando de rulumo" -#~ msgid "Could not fix up function pointers to the DLL!" -#~ msgstr "Ne eblis ripari referencojn de funkcioj al la DLL!" +msgid "E91: 'shell' option is empty" +msgstr "E91: La opcio 'shell' estas malplena" -#~ msgid "shell returned %d" -#~ msgstr "la Åelo liveris %d" +msgid "E255: Couldn't read in sign data!" +msgstr "E255: Ne eblis legi datumojn de simboloj!" -# DP: la eventoj estas tiuj, kiuj estas en la sekvantaj ĉenoj -#~ msgid "Vim: Caught %s event\n" -#~ msgstr "Vim: Kaptis eventon %s\n" +msgid "E72: Close error on swap file" +msgstr "E72: Eraro dum malfermo de permutodosiero .swp" -#~ msgid "close" -#~ msgstr "fermo" +msgid "E73: tag stack empty" +msgstr "E73: malplena stako de etikedo" -#~ msgid "logoff" -#~ msgstr "elsaluto" +msgid "E74: Command too complex" +msgstr "E74: Komando tro kompleksa" -#~ msgid "shutdown" -#~ msgstr "sistemfermo" +msgid "E75: Name too long" +msgstr "E75: Nomo tro longa" -#~ msgid "E371: Command not found" -#~ msgstr "E371: Netrovebla komando" +msgid "E76: Too many [" +msgstr "E76: Tro da [" -#~ msgid "" -#~ "VIMRUN.EXE not found in your $PATH.\n" -#~ "External commands will not pause after completion.\n" -#~ "See :help win32-vimrun for more information." -#~ msgstr "" -#~ "VIMRUN.EXE ne troveblas en via $PATH.\n" -#~ "Eksteraj komandoj ne paÅzos post kompletigo.\n" -#~ "Vidu :help win32-vimrun por pliaj informoj." - -#~ msgid "Vim Warning" -#~ msgstr "Averto de Vim" - -#~ msgid "Error file" -#~ msgstr "Erara Dosiero" - -#~ msgid "E868: Error building NFA with equivalence class!" -#~ msgstr "E868: Eraro dum prekomputado de NFA kun ekvivalentoklaso!" - -#~ msgid "E999: (NFA regexp internal error) Should not process NOT node !" -#~ msgstr "" -#~ "E999: (interna eraro de NFA-regulesprimo) Ne devus procezi nodon 'NOT'!" - -#~ msgid "E878: (NFA) Could not allocate memory for branch traversal!" -#~ msgstr "E878: (NFA) Ne povis asigni memoron por traigi branĉojn!" - -#~ msgid "Warning: Cannot find word list \"%s_%s.spl\" or \"%s_ascii.spl\"" -#~ msgstr "Averto: Ne eblas trovi vortliston \"%s_%s.spl\" aÅ \"%s_ascii.spl\"" - -#~ msgid "Conversion in %s not supported" -#~ msgstr "Konverto en %s nesubtenata" - -#~ msgid "E845: Insufficient memory, word list will be incomplete" -#~ msgstr "E845: Ne sufiĉe da memoro, vortlisto estos nekompleta." - -#~ msgid "E430: Tag file path truncated for %s\n" -#~ msgstr "E430: Vojo de etikeda dosiero trunkita por %s\n" - -#~ msgid "new shell started\n" -#~ msgstr "nova Åelo lanĉita\n" - -#~ msgid "Used CUT_BUFFER0 instead of empty selection" -#~ msgstr "Uzis CUT_BUFFER0 anstataÅ malplenan apartigon" - -#~ msgid "No undo possible; continue anyway" -#~ msgstr "Malfaro neebla; daÅrigi tamene" - -#~ msgid "E832: Non-encrypted file has encrypted undo file: %s" -#~ msgstr "E832: Ne ĉifrata dosiero havas ĉifratan malfaran dosieron: %s" - -#~ msgid "E826: Undo file decryption failed: %s" -#~ msgstr "E826: Malĉifrado de malfara dosiero fiaskis: %s" - -#~ msgid "E827: Undo file is encrypted: %s" -#~ msgstr "E827: Malfara dosiero estas ĉifrata: %s" - -#~ msgid "" -#~ "\n" -#~ "MS-Windows 16/32-bit GUI version" -#~ msgstr "" -#~ "\n" -#~ "Grafika versio MS-Vindozo 16/32-bitoj" - -#~ msgid "" -#~ "\n" -#~ "MS-Windows 64-bit GUI version" -#~ msgstr "" -#~ "\n" -#~ "Grafika versio MS-Vindozo 64-bitoj" - -#~ msgid "" -#~ "\n" -#~ "MS-Windows 32-bit GUI version" -#~ msgstr "" -#~ "\n" -#~ "Grafika versio MS-Vindozo 32-bitoj" - -#~ msgid " in Win32s mode" -#~ msgstr " en reÄimo Win32s" - -#~ msgid " with OLE support" -#~ msgstr " kun subteno de OLE" - -#~ msgid "" -#~ "\n" -#~ "MS-Windows 64-bit console version" -#~ msgstr "" -#~ "\n" -#~ "Versio konzola MS-Vindozo 64-bitoj" - -#~ msgid "" -#~ "\n" -#~ "MS-Windows 32-bit console version" -#~ msgstr "" -#~ "\n" -#~ "Versio konzola MS-Vindozo 32-bitoj" - -#~ msgid "" -#~ "\n" -#~ "MS-Windows 16-bit version" -#~ msgstr "" -#~ "\n" -#~ "Versio MS-Vindozo 16-bitoj" - -#~ msgid "" -#~ "\n" -#~ "32-bit MS-DOS version" -#~ msgstr "" -#~ "\n" -#~ "Versio MS-DOS 32-bitoj" - -#~ msgid "" -#~ "\n" -#~ "16-bit MS-DOS version" -#~ msgstr "" -#~ "\n" -#~ "Versio MS-DOS 16-bitoj" - -#~ msgid "" -#~ "\n" -#~ "MacOS X (unix) version" -#~ msgstr "" -#~ "\n" -#~ "Versio Mak OS X (unikso)" - -#~ msgid "" -#~ "\n" -#~ "MacOS X version" -#~ msgstr "" -#~ "\n" -#~ "Versio Mak OS X" - -#~ msgid "" -#~ "\n" -#~ "MacOS version" -#~ msgstr "" -#~ "\n" -#~ "Versio Mak OS" - -#~ msgid "" -#~ "\n" -#~ "OpenVMS version" -#~ msgstr "" -#~ "\n" -#~ "Versio OpenVMS" - -#~ msgid "" -#~ "\n" -#~ "Big version " -#~ msgstr "" -#~ "\n" -#~ "Granda versio " - -#~ msgid "" -#~ "\n" -#~ "Normal version " -#~ msgstr "" -#~ "\n" -#~ "Normala versio " - -#~ msgid "" -#~ "\n" -#~ "Small version " -#~ msgstr "" -#~ "\n" -#~ "Malgranda versio " - -#~ msgid "" -#~ "\n" -#~ "Tiny version " -#~ msgstr "" -#~ "\n" -#~ "Malgrandega versio " - -#~ msgid "with GTK2-GNOME GUI." -#~ msgstr "kun grafika interfaco GTK2-GNOME." - -#~ msgid "with GTK2 GUI." -#~ msgstr "kun grafika interfaco GTK2." - -#~ msgid "with X11-Motif GUI." -#~ msgstr "kun grafika interfaco X11-Motif." - -#~ msgid "with X11-neXtaw GUI." -#~ msgstr "kun grafika interfaco X11-neXtaw." - -#~ msgid "with X11-Athena GUI." -#~ msgstr "kun grafika interfaco X11-Athena." - -#~ msgid "with Photon GUI." -#~ msgstr "kun grafika interfaco Photon." - -#~ msgid "with GUI." -#~ msgstr "sen grafika interfaco." - -#~ msgid "with Carbon GUI." -#~ msgstr "kun grafika interfaco Carbon." - -#~ msgid "with Cocoa GUI." -#~ msgstr "kun grafika interfaco Cocoa." - -#~ msgid "with (classic) GUI." -#~ msgstr "kun (klasika) grafika interfaco." - -#~ msgid " system gvimrc file: \"" -#~ msgstr " sistema dosiero gvimrc: \"" - -#~ msgid " user gvimrc file: \"" -#~ msgstr " dosiero gvimrc de uzanto: \"" - -#~ msgid "2nd user gvimrc file: \"" -#~ msgstr " 2-a dosiero gvimrc de uzanto: \"" - -#~ msgid "3rd user gvimrc file: \"" -#~ msgstr " 3-a dosiero gvimrc de uzanto: \"" - -#~ msgid " system menu file: \"" -#~ msgstr " dosiero de sistema menuo: \"" - -#~ msgid "Compiler: " -#~ msgstr "Kompililo: " +msgid "E77: Too many file names" +msgstr "E77: Tro da dosiernomoj" -# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon -#~ msgid "menu Help->Orphans for information " -#~ msgstr "menuo Help->Orfinoj por pliaj informoj " +msgid "E488: Trailing characters" +msgstr "E488: Vostaj signoj" -#~ msgid "Running modeless, typed text is inserted" -#~ msgstr "RuliÄas senreÄime, tajpita teksto estas enmetita" +msgid "E78: Unknown mark" +msgstr "E78: Nekonata marko" -# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon -#~ msgid "menu Edit->Global Settings->Toggle Insert Mode " -#~ msgstr "menuo Redakti->Mallokaj Agordoj->Baskuligi Enmetan ReÄimon" +msgid "E79: Cannot expand wildcards" +msgstr "E79: Ne eblas malvolvi ĵokerojn" -# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon -#~ msgid " for two modes " -#~ msgstr " por du reÄimoj " +msgid "E591: 'winheight' cannot be smaller than 'winminheight'" +msgstr "E591: 'winheight' ne rajtas esti malpli ol 'winminheight'" -# DP: tiu ĉeno pli longas (mi ne volas igi ĉiujn aliajn ĉenojn -# pli longajn) -#~ msgid "menu Edit->Global Settings->Toggle Vi Compatible" -#~ msgstr "menuo Redakti->Mallokaj Agordoj->Baskuligi ReÄimon Kongruan kun Vi" +msgid "E592: 'winwidth' cannot be smaller than 'winminwidth'" +msgstr "E592: 'winwidth' ne rajtas esti malpli ol 'winminwidth'" -# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon -#~ msgid " for Vim defaults " -#~ msgstr " por defaÅltoj de Vim " +msgid "E80: Error while writing" +msgstr "E80: Eraro dum skribado" -#~ msgid "WARNING: Windows 95/98/ME detected" -#~ msgstr "AVERTO: Trovis Vindozon 95/98/ME" +msgid "Zero count" +msgstr "Nul kvantoro" -# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon -#~ msgid "type :help windows95<Enter> for info on this" -#~ msgstr "tajpu :help windows95<Enenklavo> por pliaj informoj " +msgid "E81: Using <SID> not in a script context" +msgstr "E81: Uzo de <SID> ekster kunteksto de skripto" -#~ msgid "E370: Could not load library %s" -#~ msgstr "E370: Ne eblis Åargi bibliotekon %s" +msgid "E449: Invalid expression received" +msgstr "E449: Nevalida esprimo ricevita" -#~ msgid "" -#~ "Sorry, this command is disabled: the Perl library could not be loaded." -#~ msgstr "" -#~ "BedaÅrinde tiu komando estas malÅaltita: la biblioteko de Perl ne " -#~ "Åargeblis." +msgid "E463: Region is guarded, cannot modify" +msgstr "E463: Regiono estas gardita, ne eblas ÅanÄi" -#~ msgid "E299: Perl evaluation forbidden in sandbox without the Safe module" -#~ msgstr "" -#~ "E299: Plenumo de Perl esprimoj malpermesata en sabloludejo sen la modulo " -#~ "Safe" +msgid "E744: NetBeans does not allow changes in read-only files" +msgstr "E744: NetBeans ne permesas ÅanÄojn en nurlegeblaj dosieroj" -#~ msgid "Edit with &multiple Vims" -#~ msgstr "Redakti per &pluraj Vim-oj" +msgid "E363: pattern uses more memory than 'maxmempattern'" +msgstr "E363: Åablono uzas pli da memoro ol 'maxmempattern'" -#~ msgid "Edit with single &Vim" -#~ msgstr "Redakti per unuopa &Vim" +msgid "E749: empty buffer" +msgstr "E749: malplena bufro" -#~ msgid "Diff with Vim" -#~ msgstr "Kompari per Vim" +#, c-format +msgid "E86: Buffer %ld does not exist" +msgstr "E86: La bufro %ld ne ekzistas" -#~ msgid "Edit with &Vim" -#~ msgstr "Redakti per &Vim" +msgid "E682: Invalid search pattern or delimiter" +msgstr "E682: Nevalida serĉa Åablono aÅ disigilo" -#~ msgid "Edit with existing Vim - " -#~ msgstr "Redakti per ekzistanta Vim - " +msgid "E139: File is loaded in another buffer" +msgstr "E139: Dosiero estas Åargita en alia bufro" -#~ msgid "Edits the selected file(s) with Vim" -#~ msgstr "Redakti la apartigita(j)n dosiero(j)n per Vim" +#, c-format +msgid "E764: Option '%s' is not set" +msgstr "E764: La opcio '%s' ne estas Åaltita" -#~ msgid "Error creating process: Check if gvim is in your path!" -#~ msgstr "Eraro dum kreo de procezo: Kontrolu ĉu gvim estas en via serĉvojo!" +msgid "E850: Invalid register name" +msgstr "E850: Nevalida nomo de reÄistro" -#~ msgid "gvimext.dll error" -#~ msgstr "Eraro de gvimext.dll" +#, c-format +msgid "E919: Directory not found in '%s': \"%s\"" +msgstr "E919: Dosierujo ne trovita en '%s': \"%s\"" -#~ msgid "Path length too long!" -#~ msgstr "Serĉvojo estas tro longa!" +msgid "search hit TOP, continuing at BOTTOM" +msgstr "serĉo atingis SUPRON, daÅrigonte al SUBO" -#~ msgid "E234: Unknown fontset: %s" -#~ msgstr "E234: Nekonata familio de tiparo: %s" +msgid "search hit BOTTOM, continuing at TOP" +msgstr "serĉo atingis SUBON, daÅrigonte al SUPRO" -#~ msgid "E235: Unknown font: %s" -#~ msgstr "E235: Nekonata tiparo: %s" +#, c-format +msgid "Need encryption key for \"%s\"" +msgstr "Åœlosilo de ĉifrado bezonata por \"%s\"" -#~ msgid "E236: Font \"%s\" is not fixed-width" -#~ msgstr "E236: La tiparo \"%s\" ne estas egallarÄa" +msgid "empty keys are not allowed" +msgstr "malplenaj Ålosiloj nepermeseblaj" -#~ msgid "E448: Could not load library function %s" -#~ msgstr "E448: Ne eblis Åargi bibliotekan funkcion %s" +msgid "dictionary is locked" +msgstr "vortaro estas Ålosita" -#~ msgid "E26: Hebrew cannot be used: Not enabled at compile time\n" -#~ msgstr "E26: La hebrea ne uzeblas: MalÅaltita dum kompilado\n" +msgid "list is locked" +msgstr "listo estas Ålosita" -#~ msgid "E27: Farsi cannot be used: Not enabled at compile time\n" -#~ msgstr "E27: La persa ne uzeblas: MalÅaltita dum kompilado\n" +#, c-format +msgid "failed to add key '%s' to dictionary" +msgstr "aldono de Ålosilo '%s' al vortaro malsukcesis" -#~ msgid "E800: Arabic cannot be used: Not enabled at compile time\n" -#~ msgstr "E800: La araba ne uzeblas: MalÅaltita dum kompilado\n" +#, c-format +msgid "index must be int or slice, not %s" +msgstr "indekso devas esti 'int' aÅ 'slice', ne %s" -#~ msgid "E247: no registered server named \"%s\"" -#~ msgstr "E247: neniu registrita servilo nomita \"%s\"" +#, c-format +msgid "expected str() or unicode() instance, but got %s" +msgstr "atendis aperon de str() aÅ unicode(), sed ricevis %s" -#~ msgid "E233: cannot open display" -#~ msgstr "E233: ne eblas malfermi vidigon" +#, c-format +msgid "expected bytes() or str() instance, but got %s" +msgstr "atendis aperon de bytes() aÅ str(), sed ricevis %s" -#~ msgid "E449: Invalid expression received" -#~ msgstr "E449: Nevalida esprimo ricevita" +#, c-format +msgid "" +"expected int(), long() or something supporting coercing to long(), but got %s" +msgstr "atendis int(), long() aÅ ion konverteblan al long(), sed ricevis %s" -#~ msgid "E463: Region is guarded, cannot modify" -#~ msgstr "E463: Regiono estas gardita, ne eblas ÅanÄi" +#, c-format +msgid "expected int() or something supporting coercing to int(), but got %s" +msgstr "atendis int() aÅ ion konverteblan al int(), sed ricevis %s" -#~ msgid "E744: NetBeans does not allow changes in read-only files" -#~ msgstr "E744: NetBeans ne permesas ÅanÄojn en nurlegeblaj dosieroj" +msgid "value is too large to fit into C int type" +msgstr "valoro estas tro grada por C-tipo 'int'" -#~ msgid "Need encryption key for \"%s\"" -#~ msgstr "Åœlosilo de ĉifrado bezonata por \"%s\"" +msgid "value is too small to fit into C int type" +msgstr "valoro estas tro malgranda por C-tipo 'int'" -#~ msgid "can't delete OutputObject attributes" -#~ msgstr "ne eblas forviÅi atributojn de OutputObject" +msgid "number must be greater than zero" +msgstr "nombro devas esti pli granda ol nul" -#~ msgid "softspace must be an integer" -#~ msgstr "malmolspaceto (softspace) devas esti entjero" +msgid "number must be greater or equal to zero" +msgstr "nombro devas esti egala aÅ pli granda ol nul" -#~ msgid "invalid attribute" -#~ msgstr "nevalida atributo" +msgid "can't delete OutputObject attributes" +msgstr "ne eblas forviÅi atributojn de OutputObject" -#~ msgid "writelines() requires list of strings" -#~ msgstr "writelines() bezonas liston de ĉenoj" +#, c-format +msgid "invalid attribute: %s" +msgstr "nevalida atributo: %s" -#~ msgid "E264: Python: Error initialising I/O objects" -#~ msgstr "E264: Pitono: Eraro de pravalorizo de eneligaj objektoj" +msgid "E264: Python: Error initialising I/O objects" +msgstr "E264: Pitono: Eraro de pravalorizo de eneligaj objektoj" -#~ msgid "empty keys are not allowed" -#~ msgstr "malplenaj Ålosiloj nepermeseblaj" +msgid "failed to change directory" +msgstr "malsukcesis ÅanÄi dosierujon" -#~ msgid "Cannot delete DictionaryObject attributes" -#~ msgstr "ne eblas forviÅi atributojn de DictionaryObject" +#, c-format +msgid "expected 3-tuple as imp.find_module() result, but got %s" +msgstr "atendis 3-opon kiel rezulto de imp.find_module(), sed ricevis %s" -#~ msgid "Cannot modify fixed dictionary" -#~ msgstr "Ne eblas ÅanÄi fiksan vortaron" +#, c-format +msgid "expected 3-tuple as imp.find_module() result, but got tuple of size %d" +msgstr "atendis 3-opon kiel rezulto de imp.find_module(), sed ricevis %d-opon" -#~ msgid "Cannot set this attribute" -#~ msgstr "Ne eblas agordi tiun atributon" +msgid "internal error: imp.find_module returned tuple with NULL" +msgstr "interna eraro: imp.find_module liveris opon kun NULL" -#~ msgid "dict is locked" -#~ msgstr "vortaro estas Ålosita" +msgid "cannot delete vim.Dictionary attributes" +msgstr "ne eblas forviÅi atributojn de 'vim.Dictionary'" -#~ msgid "failed to add key to dictionary" -#~ msgstr "aldono de Ålosilo al vortaro fiaskis" +msgid "cannot modify fixed dictionary" +msgstr "ne eblas ÅanÄi fiksan vortaron" -#~ msgid "list index out of range" -#~ msgstr "indekso de listo ekster limoj" +#, c-format +msgid "cannot set attribute %s" +msgstr "ne eblas agordi atributon %s" -#~ msgid "internal error: failed to get vim list item" -#~ msgstr "interna eraro: obteno de vim-a listero fiaskis" +msgid "hashtab changed during iteration" +msgstr "hakettabelo ÅanÄiÄis dum iteracio" -#~ msgid "list is locked" -#~ msgstr "listo estas Ålosita" +#, c-format +msgid "expected sequence element of size 2, but got sequence of size %d" +msgstr "atendis 2-longan sekvencon, sed ricevis %d-longan sekvencon" -#~ msgid "Failed to add item to list" -#~ msgstr "Aldono de listero fiaskis" +msgid "list constructor does not accept keyword arguments" +msgstr "konstruilo de listo ne akceptas Ålosilvortajn argumentojn" -#~ msgid "can only assign lists to slice" -#~ msgstr "nur eblas pravalorizi listojn al segmento" +msgid "list index out of range" +msgstr "indekso de listo ekster limoj" -#~ msgid "internal error: failed to add item to list" -#~ msgstr "interna eraro: aldono de listero fiaskis" +#. No more suitable format specifications in python-2.3 +#, c-format +msgid "internal error: failed to get vim list item %d" +msgstr "interna eraro: obteno de vim-a listero %d malsukcesis" -#~ msgid "can only concatenate with lists" -#~ msgstr "eblas nur kunmeti kun listoj" +msgid "slice step cannot be zero" +msgstr "paÅo de sekco ne povas esti nul" -#~ msgid "cannot delete vim.dictionary attributes" -#~ msgstr "ne eblas forviÅi atributojn de 'vim.dictionary'" +#, c-format +msgid "attempt to assign sequence of size greater than %d to extended slice" +msgstr "provis valorizi sekvencon kun pli ol %d eroj en etendita sekco" -#~ msgid "cannot modify fixed list" -#~ msgstr "ne eblas ÅanÄi fiksan liston" +#, c-format +msgid "internal error: no vim list item %d" +msgstr "interna eraro: neniu vim-a listero %d" -#~ msgid "cannot set this attribute" -#~ msgstr "ne eblas agordi tiun atributon" +msgid "internal error: not enough list items" +msgstr "interna eraro: ne sufiĉaj listeroj" -#~ msgid "'self' argument must be a dictionary" -#~ msgstr "argumento 'self' devas esti vortaro" +msgid "internal error: failed to add item to list" +msgstr "interna eraro: aldono de listero malsukcesis" -#~ msgid "failed to run function" -#~ msgstr "fiaskis ruli funkcion" +#, c-format +msgid "attempt to assign sequence of size %d to extended slice of size %d" +msgstr "provis valorizi sekvencon kun %d eroj al etendita sekco kun %d eroj" -#~ msgid "unable to unset global option" -#~ msgstr "ne povis malÅalti mallokan opcion" +msgid "failed to add item to list" +msgstr "aldono de listero malsukcesis" -#~ msgid "unable to unset option without global value" -#~ msgstr "ne povis malÅalti opcion sen malloka valoro" +msgid "cannot delete vim.List attributes" +msgstr "ne eblas forviÅi atributojn de 'vim.List'" -#~ msgid "object must be integer" -#~ msgstr "objekto devas esti entjero." +msgid "cannot modify fixed list" +msgstr "ne eblas ÅanÄi fiksan liston" -#~ msgid "object must be string" -#~ msgstr "objekto devas esti ĉeno" +#, c-format +msgid "unnamed function %s does not exist" +msgstr "sennoma funkcio %s ne ekzistas" -#~ msgid "attempt to refer to deleted tab page" -#~ msgstr "provo de referenco al forviÅita langeto" +#, c-format +msgid "function %s does not exist" +msgstr "funkcio %s ne ekzistas" -#~ msgid "<tabpage object (deleted) at %p>" -#~ msgstr "<langeta objekto (forviÅita) ĉe %p>" +#, c-format +msgid "failed to run function %s" +msgstr "malsukcesis ruli funkcion %s" -#~ msgid "<tabpage object (unknown) at %p>" -#~ msgstr "<langeta objekto (nekonata) ĉe %p>" +msgid "unable to get option value" +msgstr "malsukcesis akiri valoron de opcio" -#~ msgid "<tabpage %d>" -#~ msgstr "<langeto %d>" +msgid "internal error: unknown option type" +msgstr "interna eraro: nekonata tipo de opcio" -#~ msgid "no such tab page" -#~ msgstr "ne estas tia langeto" +msgid "problem while switching windows" +msgstr "problemo dum salto al vindozoj" -#~ msgid "attempt to refer to deleted window" -#~ msgstr "provo de referenco al forviÅita fenestro" +#, c-format +msgid "unable to unset global option %s" +msgstr "ne povis malÅalti mallokan opcion %s" -#~ msgid "readonly attribute" -#~ msgstr "nurlegebla atributo" +#, c-format +msgid "unable to unset option %s which does not have global value" +msgstr "ne povis malÅalti opcion %s, kiu ne havas mallokan valoron" -#~ msgid "cursor position outside buffer" -#~ msgstr "kursoro poziciita ekster bufro" +msgid "attempt to refer to deleted tab page" +msgstr "provo de referenco al forviÅita langeto" -#~ msgid "<window object (deleted) at %p>" -#~ msgstr "<fenestra objekto (forviÅita) ĉe %p>" +msgid "no such tab page" +msgstr "ne estas tia langeto" -#~ msgid "<window object (unknown) at %p>" -#~ msgstr "<objekta fenestro (nekonata) ĉe %p>" +msgid "attempt to refer to deleted window" +msgstr "provo de referenco al forviÅita fenestro" -#~ msgid "<window %d>" -#~ msgstr "<fenestro %d>" +msgid "readonly attribute: buffer" +msgstr "nurlegebla atributo: buffer" -#~ msgid "no such window" -#~ msgstr "ne estas tia fenestro" +msgid "cursor position outside buffer" +msgstr "kursoro poziciita ekster bufro" -#~ msgid "attempt to refer to deleted buffer" -#~ msgstr "provo de referenco al forviÅita bufro" +msgid "no such window" +msgstr "ne estas tia fenestro" -#~ msgid "<buffer object (deleted) at %p>" -#~ msgstr "<bufra objekto (forviÅita) ĉe %p>" +msgid "attempt to refer to deleted buffer" +msgstr "provo de referenco al forviÅita bufro" -#~ msgid "key must be integer" -#~ msgstr "Ålosilo devas esti entjero." +msgid "failed to rename buffer" +msgstr "malsukcesis renomi bufron" -#~ msgid "expected vim.buffer object" -#~ msgstr "atendis objekton vim.buffer" +msgid "mark name must be a single character" +msgstr "nomo de marko devas esti unuopa signo" -#~ msgid "failed to switch to given buffer" -#~ msgstr "ne povis salti al la specifita bufro" +#, c-format +msgid "expected vim.Buffer object, but got %s" +msgstr "atendis objekton vim.Buffer, sed ricevis %s" -#~ msgid "expected vim.window object" -#~ msgstr "atendis objekton vim.window" +#, c-format +msgid "failed to switch to buffer %d" +msgstr "salto al la bufro %d malsukcesis" -#~ msgid "failed to find window in the current tab page" -#~ msgstr "ne povis trovi vindozon en la nuna langeto" +#, c-format +msgid "expected vim.Window object, but got %s" +msgstr "atendis objekton vim.window, sed ricevis %s" -#~ msgid "did not switch to the specified window" -#~ msgstr "ne saltis al la specifita vindozo" +msgid "failed to find window in the current tab page" +msgstr "malsukcesis trovi vindozon en la nuna langeto" -#~ msgid "expected vim.tabpage object" -#~ msgstr "atendis objekton vim.tabpage" +msgid "did not switch to the specified window" +msgstr "ne saltis al la specifita vindozo" -#~ msgid "did not switch to the specified tab page" -#~ msgstr "ne saltis al la specifita langeto" +#, c-format +msgid "expected vim.TabPage object, but got %s" +msgstr "atendis objekton vim.TabPage, sed ricevis %s" -#~ msgid "failed to run the code" -#~ msgstr "fiaskis ruli la kodon" +msgid "did not switch to the specified tab page" +msgstr "ne saltis al la specifita langeto" -#~ msgid "E858: Eval did not return a valid python object" -#~ msgstr "E858: Eval ne revenis kun valida python-objekto" +msgid "failed to run the code" +msgstr "malsukcesis ruli la kodon" -#~ msgid "E859: Failed to convert returned python object to vim value" -#~ msgstr "E859: Konverto de revena python-objekto al vim-valoro fiaskis" +msgid "E858: Eval did not return a valid python object" +msgstr "E858: Eval ne revenis kun valida python-objekto" -#~ msgid "unable to convert to vim structure" -#~ msgstr "ne povis konverti al vim-strukturo" +msgid "E859: Failed to convert returned python object to vim value" +msgstr "E859: Konverto de revena python-objekto al vim-valoro malsukcesis" -#~ msgid "NULL reference passed" -#~ msgstr "NULL-referenco argumento" +#, c-format +msgid "unable to convert %s to vim dictionary" +msgstr "ne povis konverti %s al vim-vortaro" -#~ msgid "internal error: invalid value type" -#~ msgstr "interna eraro: nevalida tipo de valoro" +#, c-format +msgid "unable to convert %s to vim list" +msgstr "ne povis konverti %s al vim-listo" -#~ msgid "E863: return value must be an instance of str" -#~ msgstr "E863: elira valoro devas esti apero de str" +#, c-format +msgid "unable to convert %s to vim structure" +msgstr "ne povis konverti %s al vim-strukturo" -#~ msgid "E860: Eval did not return a valid python 3 object" -#~ msgstr "E860: Eval ne revenis kun valida python3-objekto" +msgid "internal error: NULL reference passed" +msgstr "interna eraro: NULL-referenco argumento" -#~ msgid "E861: Failed to convert returned python 3 object to vim value" -#~ msgstr "E861: Konverto de revena python3-objekto al vim-valoro fiaskis" +msgid "internal error: invalid value type" +msgstr "interna eraro: nevalida tipo de valoro" -#~ msgid "Only boolean objects are allowed" -#~ msgstr "Nur buleaj objektoj estas permeseblaj" +msgid "" +"Failed to set path hook: sys.path_hooks is not a list\n" +"You should now do the following:\n" +"- append vim.path_hook to sys.path_hooks\n" +"- append vim.VIM_SPECIAL_PATH to sys.path\n" +msgstr "" +"Valorizo de sys.path_hooks malsukcesis: sys.path_hooks ne estas listo\n" +"Vi nun devas fari tion:\n" +"- postaldoni vim.path_hook al sys.path_hooks\n" +"- postaldoni vim.VIM_SPECIAL_PATH al sys.path\n" -#~ msgid "no such key in dictionary" -#~ msgstr "tiu Ålosilo ne ekzistas en vortaro" +msgid "" +"Failed to set path: sys.path is not a list\n" +"You should now append vim.VIM_SPECIAL_PATH to sys.path" +msgstr "" +"Agordo de serĉvojo malsukcesis: sys.path ne estas listo\n" +"Vi nun devas aldoni vim.VIM_SPECIAL_PATH al sys.path" diff --git a/src/nvim/po/fr.po b/src/nvim/po/fr.po index 2d99d67099..c0df5f2170 100644 --- a/src/nvim/po/fr.po +++ b/src/nvim/po/fr.po @@ -1,3 +1,4 @@ + # French Translation for Vim # # Do ":help uganda" in Vim to read copying and usage conditions. @@ -6,7 +7,7 @@ # FIRST AUTHOR DindinX <David.Odin@bigfoot.com> 2000. # SECOND AUTHOR Adrien Beau <version.francaise@free.fr> 2002, 2003. # THIRD AUTHOR David Blanchet <david.blanchet@free.fr> 2006, 2008. -# FOURTH AUTHOR Dominique Pellé <dominique.pelle@gmail.com> 2008, 2015. +# FOURTH AUTHOR Dominique Pellé <dominique.pelle@gmail.com> 2008, 2017. # # Latest translation available at: # http://dominique.pelle.free.fr/vim-fr.php @@ -15,8 +16,8 @@ msgid "" msgstr "" "Project-Id-Version: Vim(Français)\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-07-02 16:21+0200\n" -"PO-Revision-Date: 2016-07-02 17:06+0200\n" +"POT-Creation-Date: 2017-01-16 00:30+0100\n" +"PO-Revision-Date: 2017-01-16 00:51+0100\n" "Last-Translator: Dominique Pellé <dominique.pelle@gmail.com>\n" "Language-Team: \n" "Language: fr\n" @@ -24,13 +25,20 @@ msgstr "" "Content-Type: text/plain; charset=ISO_8859-15\n" "Content-Transfer-Encoding: 8bit\n" -#, fuzzy -#~ msgid "Unable to get option value" -#~ msgstr "impossible d'obtenir la valeur d'une option" +msgid "E831: bf_key_init() called with empty password" +msgstr "E831: bf_key_init() appelée avec un mot de passe vide" + +msgid "E820: sizeof(uint32_t) != 4" +msgstr "E820: sizeof(uint32_t) != 4" + +msgid "E817: Blowfish big/little endian use wrong" +msgstr "E817: petit/gros boutisme incorrect dans blowfish" -#, fuzzy -#~ msgid "internal error: unknown option type" -#~ msgstr "erreur interne : pas d'élément de liste vim" +msgid "E818: sha256 test failed" +msgstr "E818: le test de sha256 a échoué" + +msgid "E819: Blowfish test failed" +msgstr "E819: le test de blowfish a échoué" # DB - TODO : Trouver une traduction valable et attestée pour "location". msgid "[Location List]" @@ -53,6 +61,12 @@ msgid "E83: Cannot allocate buffer, using other one..." msgstr "" "E83: L'allocation du tampon a échoué : arrêtez Vim, libérez de la mémoire" +msgid "E931: Buffer cannot be registered" +msgstr "E931: Le tampon ne peut pas être enregistré" + +msgid "E937: Attempt to delete a buffer that is in use" +msgstr "E937: Tentative de suppression d'un tampon en cours d'utilisation" + msgid "E515: No buffers were unloaded" msgstr "E515: Aucun tampon n'a été déchargé" @@ -103,20 +117,18 @@ msgid "E88: Cannot go before first buffer" msgstr "E88: Impossible d'aller avant le premier tampon" #, c-format -msgid "" -"E89: No write since last change for buffer %<PRId64> (add ! to override)" +msgid "E89: No write since last change for buffer %ld (add ! to override)" msgstr "" -"E89: Le tampon %<PRId64> n'a pas été enregistré (ajoutez ! pour passer outre)" +"E89: Le tampon %ld n'a pas été enregistré (ajoutez ! pour passer outre)" -#. wrap around (may cause duplicates) msgid "W14: Warning: List of file names overflow" msgstr "W14: Alerte : La liste des noms de fichier déborde" # AB - Vu le code source, la version française est meilleure que la # version anglaise. Ce message est similaire au message E86. #, c-format -msgid "E92: Buffer %<PRId64> not found" -msgstr "E92: Le tampon %<PRId64> n'existe pas" +msgid "E92: Buffer %ld not found" +msgstr "E92: Le tampon %ld n'existe pas" # AB - Il faut respecter l'esprit plus que la lettre. #, c-format @@ -128,8 +140,8 @@ msgid "E94: No matching buffer for %s" msgstr "E94: Aucun tampon ne correspond à %s" #, c-format -msgid "line %<PRId64>" -msgstr "ligne %<PRId64>" +msgid "line %ld" +msgstr "ligne %ld" msgid "E95: Buffer with this name already exists" msgstr "E95: Un tampon porte déjà ce nom" @@ -160,14 +172,14 @@ msgid "1 line --%d%%--" msgstr "1 ligne --%d%%--" #, c-format -msgid "%<PRId64> lines --%d%%--" -msgstr "%<PRId64> lignes --%d%%--" +msgid "%ld lines --%d%%--" +msgstr "%ld lignes --%d%%--" # AB - Faut-il remplacer "sur" par "de" ? # DB - Mon avis : oui. #, c-format -msgid "line %<PRId64> of %<PRId64> --%d%%-- col " -msgstr "ligne %<PRId64> sur %<PRId64> --%d%%-- col " +msgid "line %ld of %ld --%d%%-- col " +msgstr "ligne %ld sur %ld --%d%%-- col " # DB - Je trouvais [Aucun fichier] (VO : [No file]) plus naturel # lors du lancement de Vim en mode graphique (ce message @@ -221,28 +233,106 @@ msgid "Signs for %s:" msgstr "Symboles dans %s :" #, c-format -msgid " line=%<PRId64> id=%d name=%s" -msgstr " ligne=%<PRId64> id=%d nom=%s" +msgid " line=%ld id=%d name=%s" +msgstr " ligne=%ld id=%d nom=%s" -msgid "E545: Missing colon" -msgstr "E545: ':' manquant" +msgid "E902: Cannot connect to port" +msgstr "E902: Impossible de se connecter au port" -msgid "E546: Illegal mode" -msgstr "E546: Mode non autorisé" +msgid "E901: gethostbyname() in channel_open()" +msgstr "E901: gethostbyname() dans channel_open()" -msgid "E548: digit expected" -msgstr "E548: chiffre attendu" +msgid "E898: socket() in channel_open()" +msgstr "E898: socket() dans channel_open()" -msgid "E549: Illegal percentage" -msgstr "E549: Pourcentage non autorisé" +msgid "E903: received command with non-string argument" +msgstr "E903: commande reçue avec un argument qui n'est pas une chaîne" + +msgid "E904: last argument for expr/call must be a number" +msgstr "E904: le dernier argument de expr/call doit être un nombre" + +msgid "E904: third argument for call must be a list" +msgstr "E904: le troisième argument de \"call\" doit être une liste" + +#, c-format +msgid "E905: received unknown command: %s" +msgstr "E905: commande inconnue reçue : %s" + +#, c-format +msgid "E630: %s(): write while not connected" +msgstr "E630: %s() : écriture sans être connecté" + +#, c-format +msgid "E631: %s(): write failed" +msgstr "E631: %s() : erreur d'écriture" + +#, c-format +msgid "E917: Cannot use a callback with %s()" +msgstr "E917: Impossible d'utiliser un callback avec %s()" + +msgid "E912: cannot use ch_evalexpr()/ch_sendexpr() with a raw or nl channel" +msgstr "" +"E912: Impossible d'utiliser ch_evalexpr()/ch_sendexpr() avec un canal brut " +"ou nl" + +msgid "E906: not an open channel" +msgstr "E906: pas un canal ouvert" + +msgid "E920: _io file requires _name to be set" +msgstr "E920: fichier _io nécessite _name" + +msgid "E915: in_io buffer requires in_buf or in_name to be set" +msgstr "E915: tampon in_io nécessite in_buf ou in_name " + +#, c-format +msgid "E918: buffer must be loaded: %s" +msgstr "E918: le tampon doit être chargé : %s" + +msgid "E821: File is encrypted with unknown method" +msgstr "E821: Le fichier est chiffré avec une méthode inconnue" + +msgid "Warning: Using a weak encryption method; see :help 'cm'" +msgstr "" +"Alerte : utilisation d'une méthode de chiffrage faible ; consultez :help 'cm'" + +msgid "Enter encryption key: " +msgstr "Tapez la clé de chiffrement : " + +msgid "Enter same key again: " +msgstr "Tapez la clé à nouveau : " + +msgid "Keys don't match!" +msgstr "Les clés ne correspondent pas !" + +msgid "[crypted]" +msgstr "[chiffré]" -# AB - Je n'ai pas trouvé de traduction satisfaisante au verbe "diff". Comme -# Vim fait en pratique appel au programme "diff" pour evaluer les -# différences entre fichiers, "to diff" a été traduit par "utiliser diff" -# et d'autres expressions appropriées. #, c-format -msgid "E96: Can not diff more than %<PRId64> buffers" -msgstr "E96: Impossible d'utiliser diff sur plus de %<PRId64> tampons" +msgid "E720: Missing colon in Dictionary: %s" +msgstr "E720: Il manque ':' dans le Dictionnaire %s" + +#, c-format +msgid "E721: Duplicate key in Dictionary: \"%s\"" +msgstr "E721: Clé dupliquée dans le Dictionnaire : %s" + +#, c-format +msgid "E722: Missing comma in Dictionary: %s" +msgstr "E722: Il manque une virgule dans le Dictionnaire : %s" + +#, c-format +msgid "E723: Missing end of Dictionary '}': %s" +msgstr "E723: Il manque '}' à la fin du Dictionnaire : %s" + +msgid "extend() argument" +msgstr "argument de extend()" + +#, c-format +msgid "E737: Key already exists: %s" +msgstr "E737: La clé existe déjà : %s" + +#, c-format +msgid "E96: Cannot diff more than %ld buffers" +msgstr "E96: Impossible d'utiliser diff sur plus de %ld tampons" msgid "E810: Cannot read or write temp files" msgstr "E810: Impossible de lire ou écrire des fichiers temporaires" @@ -251,6 +341,9 @@ msgstr "E810: Impossible de lire ou écrire des fichiers temporaires" msgid "E97: Cannot create diffs" msgstr "E97: diff ne fonctionne pas" +msgid "Patch file" +msgstr "Fichier rustine" + msgid "E816: Cannot read patch output" msgstr "E816: Le fichier intermédiaire produit par patch n'a pu être lu" @@ -429,59 +522,17 @@ msgstr "Correspondance %d sur %d" msgid "match %d" msgstr "Correspondance %d" +#. maximum nesting of lists and dicts msgid "E18: Unexpected characters in :let" msgstr "E18: Caractères inattendus avant '='" #, c-format -msgid "E684: list index out of range: %<PRId64>" -msgstr "E684: index de Liste hors limites : %<PRId64> au-delà de la fin" - -#, c-format msgid "E121: Undefined variable: %s" msgstr "E121: Variable non définie : %s" msgid "E111: Missing ']'" msgstr "E111: ']' manquant" -#, c-format -msgid "E686: Argument of %s must be a List" -msgstr "E686: L'argument de %s doit être une Liste" - -#, c-format -msgid "E712: Argument of %s must be a List or Dictionary" -msgstr "E712: L'argument de %s doit être une Liste ou un Dictionnaire" - -msgid "E713: Cannot use empty key for Dictionary" -msgstr "E713: Impossible d'utiliser une clé vide dans un Dictionnaire" - -msgid "E714: List required" -msgstr "E714: Liste requise" - -msgid "E715: Dictionary required" -msgstr "E715: Dictionnaire requis" - -msgid "E928: String required" -msgstr "E928: Chaine requis" - -# DB : Suggestion -#, c-format -msgid "E118: Too many arguments for function: %s" -msgstr "E118: La fonction %s a reçu trop d'arguments" - -#, c-format -msgid "E716: Key not present in Dictionary: %s" -msgstr "E716: La clé %s n'existe pas dans le Dictionnaire" - -#, c-format -msgid "E122: Function %s already exists, add ! to replace it" -msgstr "E122: La fonction %s existe déjà (ajoutez ! pour la remplacer)" - -msgid "E717: Dictionary entry already exists" -msgstr "E717: Une entrée du Dictionnaire porte déjà ce nom" - -msgid "E718: Funcref required" -msgstr "E718: Référence de fonction (Funcref) requise" - msgid "E719: Cannot use [:] with a Dictionary" msgstr "E719: Utilisation de [:] impossible avec un Dictionnaire" @@ -490,10 +541,6 @@ msgid "E734: Wrong variable type for %s=" msgstr "E734: Type de variable erroné avec %s=" #, c-format -msgid "E130: Unknown function: %s" -msgstr "E130: Fonction inconnue : %s" - -#, c-format msgid "E461: Illegal variable name: %s" msgstr "E461: Nom de variable invalide : %s" @@ -522,7 +569,7 @@ msgid "E708: [:] must come last" msgstr "E708: [:] ne peut être spécifié qu'en dernier" msgid "E709: [:] requires a List value" -msgstr "E709: [:] n?cessite une Liste" +msgstr "E709: [:] nécessite une Liste" msgid "E710: List value has more items than target" msgstr "E710: La Liste a plus d'éléments que la destination" @@ -534,10 +581,6 @@ msgid "E690: Missing \"in\" after :for" msgstr "E690: \"in\" manquant après :for" #, c-format -msgid "E107: Missing parentheses: %s" -msgstr "E107: Parenthèses manquantes : %s" - -#, c-format msgid "E108: No such variable: \"%s\"" msgstr "E108: Variable inexistante : %s" @@ -552,8 +595,8 @@ msgstr "E109: Il manque ':' après '?'" msgid "E691: Can only compare List with List" msgstr "E691: Une Liste ne peut être comparée qu'avec une Liste" -msgid "E692: Invalid operation for Lists" -msgstr "E692: Opération invalide avec les Listes" +msgid "E692: Invalid operation for List" +msgstr "E692: Opération invalide avec les Liste" msgid "E735: Can only compare Dictionary with Dictionary" msgstr "E735: Un Dictionnaire ne peut être comparé qu'avec un Dictionnaire" @@ -561,10 +604,6 @@ msgstr "E735: Un Dictionnaire ne peut être comparé qu'avec un Dictionnaire" msgid "E736: Invalid operation for Dictionary" msgstr "E736: Opération invalide avec les Dictionnaires" -# DB - todo : Traduction valable (et courte) pour Funcref ? -msgid "E693: Can only compare Funcref with Funcref" -msgstr "E693: Une Funcref ne peut être comparée qu'à une Funcref" - msgid "E694: Invalid operation for Funcrefs" msgstr "E694: Opération invalide avec les Funcrefs" @@ -577,6 +616,9 @@ msgstr "E110: ')' manquant" msgid "E695: Cannot index a Funcref" msgstr "E695: Impossible d'indexer une Funcref" +msgid "E909: Cannot index a special variable" +msgstr "E909: Impossible d'indexer une variable spéciale" + # AB - La version française est meilleure que la version anglaise. #, c-format msgid "E112: Option name missing: %s" @@ -598,60 +640,119 @@ msgstr "E114: Il manque \" à la fin de %s" msgid "E115: Missing quote: %s" msgstr "E115: Il manque ' à la fin de %s" -#, c-format -msgid "E696: Missing comma in List: %s" -msgstr "E696: Il manque une virgule dans la Liste %s" - -#, c-format -msgid "E697: Missing end of List ']': %s" -msgstr "E697: Il manque ']' à la fin de la Liste %s" - msgid "Not enough memory to set references, garbage collection aborted!" msgstr "" "Pas assez de mémoire pour les références, arrêt du ramassage de miètes !" -#, c-format -msgid "E720: Missing colon in Dictionary: %s" -msgstr "E720: Il manque ':' dans le Dictionnaire %s" +msgid "E724: variable nested too deep for displaying" +msgstr "E724: variable trop imbriquée pour être affichée" -#, c-format -msgid "E721: Duplicate key in Dictionary: \"%s\"" -msgstr "E721: Clé \"%s\" dupliquée dans le Dictionnaire" +msgid "E805: Using a Float as a Number" +msgstr "E805: Utilisation d'un Flottant comme un Nombre" -#, c-format -msgid "E722: Missing comma in Dictionary: %s" -msgstr "E722: Il manque une virgule dans le Dictionnaire %s" +msgid "E703: Using a Funcref as a Number" +msgstr "E703: Utilisation d'une Funcref comme un Nombre" -#, c-format -msgid "E723: Missing end of Dictionary '}': %s" -msgstr "E723: Il manque '}' à la fin du Dictionnaire %s" +msgid "E745: Using a List as a Number" +msgstr "E745: Utilisation d'une Liste comme un Nombre" -msgid "E724: variable nested too deep for displaying" -msgstr "E724: variable trop imbriquée pour être affichée" +msgid "E728: Using a Dictionary as a Number" +msgstr "E728: Utilisation d'un Dictionnaire comme un Nombre" + +msgid "E910: Using a Job as a Number" +msgstr "E910: Utilisation d'une Tâche comme un Nombre" + +msgid "E913: Using a Channel as a Number" +msgstr "E913: Utilisation d'un Canal comme un Nombre" + +msgid "E891: Using a Funcref as a Float" +msgstr "E891: Utilisation d'une Funcref comme un Flottant" + +msgid "E892: Using a String as a Float" +msgstr "E892: Utilisation d'une Chaîne comme un Flottant" + +msgid "E893: Using a List as a Float" +msgstr "E893: Utilisation d'une Liste comme un Flottant" + +msgid "E894: Using a Dictionary as a Float" +msgstr "E894: Utilisation d'un Dictionnaire comme un Flottant" + +msgid "E907: Using a special value as a Float" +msgstr "E907: Utilisation d'une valeur spéciale comme un Flottant" + +msgid "E911: Using a Job as a Float" +msgstr "E911: Utilisation d'une Tâche comme un Flottant" + +msgid "E914: Using a Channel as a Float" +msgstr "E914: Utilisation d'un Canal comme un Flottant" + +msgid "E729: using Funcref as a String" +msgstr "E729: Utilisation d'une Funcref comme une Chaîne" + +msgid "E730: using List as a String" +msgstr "E730: Utilisation d'une Liste comme une Chaîne" + +msgid "E731: using Dictionary as a String" +msgstr "E731: Utilisation d'un Dictionnaire comme une Chaîne" + +msgid "E908: using an invalid value as a String" +msgstr "E908: Utilisation d'une valeur invalide comme une Chaîne" #, c-format -msgid "E740: Too many arguments for function %s" -msgstr "E740: Trop d'arguments pour la fonction %s" +msgid "E795: Cannot delete variable %s" +msgstr "E795: Impossible de supprimer la variable %s" #, c-format -msgid "E116: Invalid arguments for function %s" -msgstr "E116: Arguments invalides pour la fonction %s" +msgid "E704: Funcref variable name must start with a capital: %s" +msgstr "E704: Le nom d'une Funcref doit commencer par une majuscule : %s" #, c-format -msgid "E117: Unknown function: %s" -msgstr "E117: Fonction inconnue : %s" +msgid "E705: Variable name conflicts with existing function: %s" +msgstr "E705: Le nom d'une variable entre en conflit avec la fonction %s" #, c-format -msgid "E119: Not enough arguments for function: %s" -msgstr "E119: La fonction %s n'a pas reçu assez d'arguments" +msgid "E741: Value is locked: %s" +msgstr "E741: La valeur de %s est verrouillée" + +msgid "Unknown" +msgstr "Inconnu" #, c-format -msgid "E120: Using <SID> not in a script context: %s" -msgstr "E120: <SID> utilisé en dehors d'un script : %s" +msgid "E742: Cannot change value of %s" +msgstr "E742: Impossible de modifier la valeur de %s" + +msgid "E698: variable nested too deep for making a copy" +msgstr "E698: variable trop imbriquée pour en faire une copie" + +# AB - La version française est capitalisée pour être en accord avec les autres +# commentaires enregistrés dans le fichier viminfo. +msgid "" +"\n" +"# global variables:\n" +msgstr "" +"\n" +"# Variables globales:\n" + +# DB - Plus précis ("la dernière fois") ? +msgid "" +"\n" +"\tLast set from " +msgstr "" +"\n" +"\tModifié la dernière fois dans " + +msgid "map() argument" +msgstr "argument de map()" + +msgid "filter() argument" +msgstr "argument de filter()" #, c-format -msgid "E725: Calling dict function without Dictionary: %s" -msgstr "E725: Appel d'une fonction « dict » sans Dictionnaire : %s" +msgid "E686: Argument of %s must be a List" +msgstr "E686: L'argument de %s doit être une Liste" + +msgid "E928: String required" +msgstr "E928: Chaîne requis" msgid "E808: Number or Float required" msgstr "E808: Nombre ou Flottant requis" @@ -659,38 +760,44 @@ msgstr "E808: Nombre ou Flottant requis" msgid "add() argument" msgstr "argument de add()" -msgid "E699: Too many arguments" -msgstr "E699: Trop d'arguments" - msgid "E785: complete() can only be used in Insert mode" msgstr "E785: complete() n'est utilisable que dans le mode Insertion" # AB - Texte par défaut du bouton de la boîte de dialogue affichée par la # fonction confirm(). +#. +#. * Yes this is ugly, I don't particularly like it either. But doing it +#. * this way has the compelling advantage that translations need not to +#. * be touched at all. See below what 'ok' and 'ync' are used for. +#. msgid "&Ok" msgstr "&Ok" -msgid "extend() argument" -msgstr "argument de extend()" - -#, c-format -msgid "E737: Key already exists: %s" -msgstr "E737: un mappage existe déjà pour %s" - -msgid "map() argument" -msgstr "argument de map()" - -msgid "filter() argument" -msgstr "argument de filter()" - #, c-format -msgid "+-%s%3ld lines: " -msgstr "+-%s%3ld lignes : " +msgid "+-%s%3ld line: " +msgid_plural "+-%s%3ld lines: " +msgstr[0] "+-%s%3ld ligne : " +msgstr[1] "+-%s%3ld lignes : " #, c-format msgid "E700: Unknown function: %s" msgstr "E700: Fonction inconnue : %s" +msgid "E922: expected a dict" +msgstr "E922: dictionnaire attendu" + +msgid "E923: Second argument of function() must be a list or a dict" +msgstr "" +"E923: Le second argument de function() doit être une liste ou un dictionnaire" + +# AB - Textes des boutons de la boîte de dialogue affichée par inputdialog(). +msgid "" +"&OK\n" +"&Cancel" +msgstr "" +"&Ok\n" +"&Annuler" + # AB - La version française est meilleure que la version anglaise. msgid "called inputrestore() more often than inputsave()" msgstr "inputrestore() a été appelé plus de fois qu'inputsave()" @@ -701,9 +808,16 @@ msgstr "argument de insert()" msgid "E786: Range not allowed" msgstr "E786: Les plages ne sont pas autorisées" +msgid "E916: not a valid job" +msgstr "E916: tâche invalide" + msgid "E701: Invalid type for len()" msgstr "E701: Type invalide avec len()" +#, c-format +msgid "E798: ID is reserved for \":match\": %ld" +msgstr "E798: ID est réservé pour \":match\": %ld" + msgid "E726: Stride is zero" msgstr "E726: Le pas est nul" @@ -713,6 +827,19 @@ msgstr "E727: Début au-delà de la fin" msgid "<empty>" msgstr "<vide>" +# AB - À mon avis, la version anglaise est erronée. +# DB : Vérifier +msgid "E240: No connection to Vim server" +msgstr "E240: Pas de connexion au serveur X" + +# AB - La version française est meilleure que la version anglaise. +#, c-format +msgid "E241: Unable to send to %s" +msgstr "E241: L'envoi au serveur %s a échoué" + +msgid "E277: Unable to read a server reply" +msgstr "E277: Impossible de lire la réponse du serveur" + msgid "remove() argument" msgstr "argument de remove()" @@ -722,6 +849,10 @@ msgstr "E655: Trop de liens symboliques (cycle ?)" msgid "reverse() argument" msgstr "argument de reverse()" +# AB - La version française est meilleure que la version anglaise. +msgid "E258: Unable to send to client" +msgstr "E258: La réponse n'a pas pu être envoyée au client" + #, c-format msgid "E927: Invalid action: '%s'" msgstr "E927: Action invalide : « %s »" @@ -729,185 +860,27 @@ msgstr "E927: Action invalide : « %s »" msgid "sort() argument" msgstr "argument de sort()" -#, fuzzy -#~ msgid "uniq() argument" -#~ msgstr "argument de add()" +msgid "uniq() argument" +msgstr "argument de uniq()" msgid "E702: Sort compare function failed" msgstr "E702: La fonction de comparaison de sort() a échoué" -#, fuzzy -#~ msgid "E882: Uniq compare function failed" -#~ msgstr "E702: La fonction de comparaison de sort() a échoué" +msgid "E882: Uniq compare function failed" +msgstr "E882: La fonction de comparaison de uniq() a échoué" msgid "(Invalid)" msgstr "(Invalide)" -msgid "E677: Error writing temp file" -msgstr "E677: Erreur lors de l'écriture du fichier temporaire" - -msgid "E805: Using a Float as a Number" -msgstr "E805: Utilisation d'un Flottant comme un Nombre" - -msgid "E703: Using a Funcref as a Number" -msgstr "E703: Utilisation d'une Funcref comme un Nombre" - -msgid "E745: Using a List as a Number" -msgstr "E745: Utilisation d'une Liste comme un Nombre" - -msgid "E728: Using a Dictionary as a Number" -msgstr "E728: Utilisation d'un Dictionnaire comme un Nombre" - -msgid "E729: using Funcref as a String" -msgstr "E729: Utilisation d'une Funcref comme une Chaîne" - -msgid "E730: using List as a String" -msgstr "E730: Utilisation d'une Liste comme une Chaîne" - -msgid "E731: using Dictionary as a String" -msgstr "E731: Utilisation d'un Dictionnaire comme une Chaîne" - -# DB : On doit pouvoir trouver nettement mieux que ça. -#, c-format -msgid "E706: Variable type mismatch for: %s" -msgstr "E706: Type de variable incohérent pour %s" - -#, c-format -msgid "E795: Cannot delete variable %s" -msgstr "E795: Impossible de supprimer la variable %s" - -#, c-format -msgid "E704: Funcref variable name must start with a capital: %s" -msgstr "E704: Le nom d'une Funcref doit commencer par une majuscule : %s" - -#, c-format -msgid "E705: Variable name conflicts with existing function: %s" -msgstr "E705: Le nom d'une variable entre en conflit avec la fonction %s" - -#, c-format -msgid "E741: Value is locked: %s" -msgstr "E741: La valeur de %s est verrouillée" - -msgid "Unknown" -msgstr "Inconnu" - -#, c-format -msgid "E742: Cannot change value of %s" -msgstr "E742: Impossible de modifier la valeur de %s" - -msgid "E698: variable nested too deep for making a copy" -msgstr "E698: variable trop imbriquée pour en faire une copie" - #, c-format -msgid "E123: Undefined function: %s" -msgstr "E123: Fonction non définie : %s" - -# AB - La version française est plus consistante que la version anglaise. -# AB - Je suis partagé entre la concision d'une traduction assez littérale et -# la lourdeur d'une traduction plus correcte. -#, c-format -msgid "E124: Missing '(': %s" -msgstr "E124: Il manque '(' après %s" - -msgid "E862: Cannot use g: here" -msgstr "E862: Impossible d'utiliser g: ici" - -#, c-format -msgid "E125: Illegal argument: %s" -msgstr "E125: Argument invalide : %s" - -#, c-format -msgid "E853: Duplicate argument name: %s" -msgstr "E853: Nom d'argument dupliqué : %s" - -msgid "E126: Missing :endfunction" -msgstr "E126: Il manque :endfunction" - -#, c-format -msgid "E707: Function name conflicts with variable: %s" -msgstr "E707: Le nom de fonction entre en conflit avec la variable : %s" - -#, c-format -msgid "E127: Cannot redefine function %s: It is in use" -msgstr "E127: Impossible de redéfinir fonction %s : déjà utilisée" - -# DB - Le contenu du "c-format" est le nom de la fonction. -#, c-format -msgid "E746: Function name does not match script file name: %s" -msgstr "E746: Le nom de la fonction %s ne correspond pas le nom du script" - -msgid "E129: Function name required" -msgstr "E129: Nom de fonction requis" - -#, fuzzy, c-format -#~ msgid "E128: Function name must start with a capital or \"s:\": %s" -#~ msgstr "E128: La fonction %s ne commence pas par une majuscule ou contient ':'" - -#, fuzzy, c-format -#~ msgid "E884: Function name cannot contain a colon: %s" -#~ msgstr "E128: La fonction %s ne commence pas par une majuscule ou contient ':'" - -# AB - Il est difficile de créer une version française qui fasse moins de 80 -# caractères de long, nom de la fonction compris : "It is in use" est une -# expression très dense. Traductions possibles : "elle est utilisée", -# "elle s'exécute" ou "elle est occupée". -#, c-format -msgid "E131: Cannot delete function %s: It is in use" -msgstr "E131: Impossible d'effacer %s : cette fonction est utilisée" - -# AB - Vérifier dans la littérature technique s'il n'existe pas une meilleure -# traduction pour "function call depth". -msgid "E132: Function call depth is higher than 'maxfuncdepth'" -msgstr "" -"E132: La profondeur d'appel de fonction est supérieure à 'maxfuncdepth'" - -# AB - Ce texte fait partie d'un message de débogage. -#, c-format -msgid "calling %s" -msgstr "appel de %s" - -# AB - Vérifier. -#, c-format -msgid "%s aborted" -msgstr "%s annulée" - -# AB - Ce texte fait partie d'un message de débogage. -#, c-format -msgid "%s returning #%<PRId64>" -msgstr "%s a retourné #%<PRId64>" - -# AB - Ce texte fait partie d'un message de débogage. -#, c-format -msgid "%s returning %s" -msgstr "%s a retourné \"%s\"" - -# AB - Ce texte fait partie d'un message de débogage. -#, c-format -msgid "continuing in %s" -msgstr "de retour dans %s" - -msgid "E133: :return not inside a function" -msgstr "E133: :return en dehors d'une fonction" - -# AB - La version française est capitalisée pour être en accord avec les autres -# commentaires enregistrés dans le fichier viminfo. -msgid "" -"\n" -"# global variables:\n" -msgstr "" -"\n" -"# Variables globales:\n" +msgid "E935: invalid submatch number: %d" +msgstr "E935: numéro de submatch invalide : %d" -# DB - Plus précis ("la dernière fois") ? -msgid "" -"\n" -"\tLast set from " -msgstr "" -"\n" -"\tModifié la dernière fois dans " +msgid "E677: Error writing temp file" +msgstr "E677: Erreur lors de l'écriture du fichier temporaire" -msgid "No old files" -msgstr "Aucun vieux fichier" +msgid "E921: Invalid callback argument" +msgstr "E921: Argument de callback invalide" #, c-format msgid "<%s>%s%s %d, Hex %02x, Octal %03o" @@ -930,12 +903,12 @@ msgid "1 line moved" msgstr "1 ligne déplacée" #, c-format -msgid "%<PRId64> lines moved" -msgstr "%<PRId64> lignes déplacées" +msgid "%ld lines moved" +msgstr "%ld lignes déplacées" #, c-format -msgid "%<PRId64> lines filtered" -msgstr "%<PRId64> lignes filtrées" +msgid "%ld lines filtered" +msgstr "%ld lignes filtrées" # AB - J'ai volontairement omis l'astérisque initiale car je pense que le # motif "Filter*" décrit plus clairement les quatre autocommandes liées @@ -997,6 +970,10 @@ msgstr " ÉCHEC" msgid "E137: Viminfo file is not writable: %s" msgstr "E137: L'écriture dans le fichier %s est interdite" +#, c-format +msgid "E929: Too many viminfo temp files, like %s!" +msgstr "E929: Trop de fichiers temporaires viminfo, comme %s!" + # AB - Le point d'exclamation est superflu. # AB - Le mot "viminfo" a été retiré pour que le message ne dépasse pas 80 # caractères dans le cas courant où %s = /home/12345678/.viminfo @@ -1009,6 +986,10 @@ msgstr "E138: Impossible d'écrire le fichier %s" msgid "Writing viminfo file \"%s\"" msgstr "Écriture du fichier viminfo \"%s\"" +#, c-format +msgid "E886: Can't rename viminfo file to %s!" +msgstr "E886: Impossible de renommer viminfo en %s" + #. Write the info: #, c-format msgid "# This viminfo file was generated by Vim %s.\n" @@ -1030,6 +1011,19 @@ msgstr "# 'encoding' dans lequel ce fichier a été écrit\n" msgid "Illegal starting char" msgstr "Caractère initial non valide" +msgid "" +"\n" +"# Bar lines, copied verbatim:\n" +msgstr "" +"\n" +"# Lignes commençant par |, copiées littéralement :\n" + +# AB - Ceci est un titre de boîte de dialogue. Vérifier que la version +# française est correcte pour les trois références ; j'ai un doute quant +# à la troisième. +msgid "Save As" +msgstr "Enregistrer sous - Vim" + # AB - Ceci est un contenu de boîte de dialogue (éventuellement en mode texte). # AB - La version française est meilleure que la version anglaise. msgid "Write partial file?" @@ -1054,8 +1048,8 @@ msgid "E768: Swap file exists: %s (:silent! overrides)" msgstr "E768: Le fichier d'échange %s existe déjà (:silent! pour passer outre)" #, c-format -msgid "E141: No file name for buffer %<PRId64>" -msgstr "E141: Pas de nom de fichier pour le tampon %<PRId64>" +msgid "E141: No file name for buffer %ld" +msgstr "E141: Pas de nom de fichier pour le tampon %ld" # AB - Il faut respecter l'esprit plus que la lettre. msgid "E142: File not written: Writing is disabled by 'write' option" @@ -1086,6 +1080,10 @@ msgstr "" msgid "E505: \"%s\" is read-only (add ! to override)" msgstr "E505: \"%s\" est en lecture seule (ajoutez ! pour passer outre)" +# AB - Ceci est un titre de boîte de dialogue. +msgid "Edit File" +msgstr "Ouvrir un fichier - Vim" + # AB - Il faut respecter l'esprit plus que la lettre. # AB - J'hésite à ajouter "à sa création" après le nom du tampon. Ce message # devrait n'être affiché qu'après une tentative d'ouverture de fichier, @@ -1123,19 +1121,19 @@ msgid "1 substitution" msgstr "1 substitution" #, c-format -msgid "%<PRId64> matches" -msgstr "%<PRId64> correspondances" +msgid "%ld matches" +msgstr "%ld correspondances" #, c-format -msgid "%<PRId64> substitutions" -msgstr "%<PRId64> substitutions" +msgid "%ld substitutions" +msgstr "%ld substitutions" msgid " on 1 line" msgstr " sur 1 ligne" #, c-format -msgid " on %<PRId64> lines" -msgstr " sur %<PRId64> lignes" +msgid " on %ld lines" +msgstr " sur %ld lignes" # AB - Il faut respecter l'esprit plus que la lettre. # AB - Ce message devrait contenir une référence à :vglobal. @@ -1189,18 +1187,16 @@ msgid "Sorry, help file \"%s\" not found" msgstr "Désolé, le fichier d'aide \"%s\" est introuvable" #, c-format -msgid "E150: Not a directory: %s" -msgstr "E150: %s n'est pas un répertoire" +msgid "E151: No match: %s" +msgstr "E151: Aucune correspondance : %s" -# AB - La version anglaise est plus précise, mais trop technique. #, c-format msgid "E152: Cannot open %s for writing" -msgstr "E152: Impossible d'écrire %s" +msgstr "E152: Impossible d'ouvrir %s en écriture" -# AB - La version anglaise est plus précise, mais trop technique. #, c-format msgid "E153: Unable to open %s for reading" -msgstr "E153: Impossible de lire %s" +msgstr "E153: Impossible d'ouvrir %s en lecture" #, c-format msgid "E670: Mix of help file encodings within a language: %s" @@ -1215,6 +1211,10 @@ msgstr "E670: Encodages différents dans les fichiers d'aide en langue %s" msgid "E154: Duplicate tag \"%s\" in file %s/%s" msgstr "E154: Marqueur \"%s\" dupliqué dans le fichier %s/%s" +#, c-format +msgid "E150: Not a directory: %s" +msgstr "E150: %s n'est pas un répertoire" + # AB - Il faut respecter l'esprit plus que la lettre. #, c-format msgid "E160: Unknown sign command: %s" @@ -1247,11 +1247,21 @@ msgstr "E159: Il manque l'ID du symbole" msgid "E158: Invalid buffer name: %s" msgstr "E158: Le tampon %s est introuvable" +msgid "E934: Cannot jump to a buffer that does not have a name" +msgstr "E934: Impossible de sauter à un tampon sans nom" + # AB - Vu le code source, la version française est meilleure que la # version anglaise. #, c-format -msgid "E157: Invalid sign ID: %<PRId64>" -msgstr "E157: Le symbole %<PRId64> est introuvable" +msgid "E157: Invalid sign ID: %ld" +msgstr "E157: Le symbole %ld est introuvable" + +#, c-format +msgid "E885: Not possible to change sign %s" +msgstr "E885: Impossible de changer le symbole %s" + +msgid " (NOT FOUND)" +msgstr " (INTROUVABLE)" msgid " (not supported)" msgstr " (non supporté)" @@ -1259,22 +1269,32 @@ msgstr " (non supporté)" msgid "[Deleted]" msgstr "[Effacé]" +msgid "No old files" +msgstr "Aucun vieux fichier" + # AB - La version française de la première phrase ne me satisfait pas. # DB - Suggestion. msgid "Entering Debug mode. Type \"cont\" to continue." msgstr "Mode débogage activé. Tapez \"cont\" pour continuer." #, c-format -msgid "line %<PRId64>: %s" -msgstr "ligne %<PRId64> : %s" +msgid "line %ld: %s" +msgstr "ligne %ld : %s" #, c-format msgid "cmd: %s" msgstr "cmde : %s" +msgid "frame is zero" +msgstr "le cadre de pile est zéro" + #, c-format -msgid "Breakpoint in \"%s%s\" line %<PRId64>" -msgstr "Point d'arrêt dans %s%s ligne %<PRId64>" +msgid "frame at highest level: %d" +msgstr "cadre de pile au niveau le plus haut : %d" + +#, c-format +msgid "Breakpoint in \"%s%s\" line %ld" +msgstr "Point d'arrêt dans %s%s ligne %ld" #, c-format msgid "E161: Breakpoint not found: %s" @@ -1286,8 +1306,8 @@ msgstr "Aucun point d'arrêt n'est défini" # AB - Le deuxième %s est remplacé par "func" ou "file" sans que l'on puisse # traduire ces mots. #, c-format -msgid "%3d %s %s line %<PRId64>" -msgstr "%3d %s %s ligne %<PRId64>" +msgid "%3d %s %s line %ld" +msgstr "%3d %s %s ligne %ld" msgid "E750: First use \":profile start {fname}\"" msgstr "E750: Utilisez d'abord \":profile start {nomfichier}\"" @@ -1309,7 +1329,8 @@ msgid "E162: No write since last change for buffer \"%s\"" msgstr "E162: Le tampon %s n'a pas été enregistré" msgid "Warning: Entered other buffer unexpectedly (check autocommands)" -msgstr "Alerte : Entrée inattendue dans un autre tampon (vérifier autocommandes)" +msgstr "" +"Alerte : Entrée inattendue dans un autre tampon (vérifier autocommandes)" msgid "E163: There is only one file to edit" msgstr "E163: Il n'y a qu'un seul fichier à éditer" @@ -1336,6 +1357,9 @@ msgstr "Recherche de \"%s\"" msgid "not found in '%s': \"%s\"" msgstr "introuvable dans '%s' : \"%s\"" +msgid "Source Vim script" +msgstr "Sourcer un script - Vim" + #, c-format msgid "Cannot source a directory: \"%s\"" msgstr "Impossible de sourcer un répertoire : \"%s\"" @@ -1345,21 +1369,26 @@ msgid "could not source \"%s\"" msgstr "impossible de sourcer \"%s\"" #, c-format -msgid "line %<PRId64>: could not source \"%s\"" -msgstr "ligne %<PRId64> : impossible de sourcer \"%s\"" +msgid "line %ld: could not source \"%s\"" +msgstr "ligne %ld : impossible de sourcer \"%s\"" #, c-format msgid "sourcing \"%s\"" msgstr "sourcement \"%s\"" #, c-format -msgid "line %<PRId64>: sourcing \"%s\"" -msgstr "ligne %<PRId64> : sourcement de \"%s\"" +msgid "line %ld: sourcing \"%s\"" +msgstr "ligne %ld : sourcement de \"%s\"" #, c-format msgid "finished sourcing %s" msgstr "fin du sourcement de %s" +# AB - Ce texte fait partie d'un message de débogage. +#, c-format +msgid "continuing in %s" +msgstr "de retour dans %s" + msgid "modeline" msgstr "ligne de mode" @@ -1394,8 +1423,6 @@ msgstr "Langue courante pour %s : \"%s\"" msgid "E197: Cannot set language to \"%s\"" msgstr "E197: Impossible de choisir la langue \"%s\"" -#. don't redisplay the window -#. don't wait for return msgid "Entering Ex mode. Type \"visual\" to go to Normal mode." msgstr "Mode Ex activé. Tapez \"visual\" pour passer en mode Normal." @@ -1427,12 +1454,10 @@ msgstr "E493: La plage spécifiée est inversée" msgid "Backwards range given, OK to swap" msgstr "La plage spécifiée est inversée, OK pour l'inverser" -#. append -#. typed wrong msgid "E494: Use w or w>>" msgstr "E494: Utilisez w ou w>>" -msgid "E319: The command is not available in this version" +msgid "E319: Sorry, the command is not available in this version" msgstr "E319: Désolé, cette commande n'est pas disponible dans cette version" msgid "E172: Only one file name allowed" @@ -1449,8 +1474,8 @@ msgid "E173: 1 more file to edit" msgstr "E173: encore 1 fichier à éditer" #, c-format -msgid "E173: %<PRId64> more files to edit" -msgstr "E173: encore %<PRId64> fichiers à éditer" +msgid "E173: %ld more files to edit" +msgstr "E173: encore %ld fichiers à éditer" msgid "E174: Command already exists: add ! to replace it" msgstr "E174: La commande existe déjà : ajoutez ! pour la redéfinir" @@ -1513,7 +1538,10 @@ msgid "E468: Completion argument only allowed for custom completion" msgstr "E468: Seul le complètement personnalisé accepte un argument" msgid "E467: Custom completion requires a function argument" -msgstr "E467: Le complètement personnalisé requiert une fonction en argument" +msgstr "E467: Le complètement personnalisé nécessite une fonction en argument" + +msgid "unknown" +msgstr "inconnu" #, c-format msgid "E185: Cannot find color scheme '%s'" @@ -1528,6 +1556,9 @@ msgstr "E784: Impossible de fermer le dernier onglet" msgid "Already only one tab page" msgstr "Il ne reste déjà plus qu'un seul onglet" +msgid "Edit File in new window" +msgstr "Ouvrir un fichier dans une nouvelle fenêtre - Vim" + #, c-format msgid "Tab page %d" msgstr "Onglet %d" @@ -1535,6 +1566,9 @@ msgstr "Onglet %d" msgid "No swap file" msgstr "Pas de fichier d'échange" +msgid "Append File" +msgstr "Ajouter fichier" + msgid "E747: Cannot change directory, buffer is modified (add ! to override)" msgstr "" "E747: Tampon modifié : impossible de changer de répertoire (ajoutez ! pour " @@ -1547,7 +1581,11 @@ msgid "E187: Unknown" msgstr "E187: Inconnu" msgid "E465: :winsize requires two number arguments" -msgstr "E465: :winsize requiert deux arguments numériques" +msgstr "E465: :winsize nécessite deux arguments numériques" + +#, c-format +msgid "Window position: X %d, Y %d" +msgstr "Position de la fenêtre : X %d, Y %d" # DB : Suggestion, sans doute perfectible. msgid "E188: Obtaining window position not implemented for this platform" @@ -1555,7 +1593,22 @@ msgstr "" "E188: Récupérer la position de la fenêtre non implémenté dans cette version" msgid "E466: :winpos requires two number arguments" -msgstr "E466: :winpos requiert deux arguments numériques" +msgstr "E466: :winpos nécessite deux arguments numériques" + +msgid "E930: Cannot use :redir inside execute()" +msgstr "E930: Impossible d'utiliser :redir dans execute()" + +msgid "Save Redirection" +msgstr "Enregistrer la redirection" + +msgid "Save View" +msgstr "Enregistrer la vue - Vim" + +msgid "Save Session" +msgstr "Enregistrer la session - Vim" + +msgid "Save Setup" +msgstr "Enregistrer les réglages - Vim" #, c-format msgid "E739: Cannot create directory: %s" @@ -1576,6 +1629,9 @@ msgstr "E191: L'argument doit être une lettre ou une (contre-)apostrophe" msgid "E192: Recursive use of :normal too deep" msgstr "E192: Appel récursif de :normal trop important" +msgid "E809: #< is not available without the +eval feature" +msgstr "E809: #< n'est pas disponible sans la fonctionnalité +eval" + msgid "E194: No alternate file name to substitute for '#'" msgstr "E194: Aucun nom de fichier alternatif à substituer à '#'" @@ -1594,7 +1650,7 @@ msgstr "E498: Aucun nom de fichier :source à substituer à \"<sfile>\"" msgid "E842: no line number to use for \"<slnum>\"" msgstr "E842: aucun numéro de ligne à utiliser pour \"<slnum>\"" -#, c-format +#, no-c-format msgid "E499: Empty file name for '%' or '#', only works with \":p:h\"" msgstr "E499: Nom de fichier vide pour '%' ou '#', ne marche qu'avec \":p:h\"" @@ -1604,6 +1660,9 @@ msgstr "E500: Évalué en une chaîne vide" msgid "E195: Cannot open viminfo file for reading" msgstr "E195: Impossible d'ouvrir le viminfo en lecture" +msgid "E196: No digraphs in this version" +msgstr "E196: Pas de digraphes dans cette version" + msgid "E608: Cannot :throw exceptions with 'Vim' prefix" msgstr "E608: Impossible d'émettre des exceptions avec 'Vim' comme préfixe" @@ -1621,8 +1680,8 @@ msgid "Exception discarded: %s" msgstr "Exception éliminée : %s" #, c-format -msgid "%s, line %<PRId64>" -msgstr "%s, ligne %<PRId64>" +msgid "%s, line %ld" +msgstr "%s, ligne %ld" #. always scroll up, don't overwrite #, c-format @@ -1762,33 +1821,6 @@ msgstr "E198: cmd_pchar au-delà de la longueur de la commande" msgid "E199: Active window or buffer deleted" msgstr "E199: Fenêtre ou tampon actif effacé" -msgid "E854: path too long for completion" -msgstr "E854: chemin trop long pour complètement" - -#, c-format -msgid "" -"E343: Invalid path: '**[number]' must be at the end of the path or be " -"followed by '%s'." -msgstr "" -"E343: Chemin invalide : '**[nombre]' doit être à la fin du chemin ou être " -"suivi de '%s'." - -#, c-format -msgid "E344: Can't find directory \"%s\" in cdpath" -msgstr "E344: Répertoire \"%s\" introuvable dans 'cdpath'" - -#, c-format -msgid "E345: Can't find file \"%s\" in path" -msgstr "E345: Fichier \"%s\" introuvable dans 'path'" - -#, c-format -msgid "E346: No more directory \"%s\" found in cdpath" -msgstr "E346: Plus de répertoire \"%s\" dans 'cdpath'" - -#, c-format -msgid "E347: No more file \"%s\" found in path" -msgstr "E347: Plus de fichier \"%s\" dans 'path'" - msgid "E812: Autocommands changed buffer or buffer name" msgstr "E812: Des autocommandes ont changé le tampon ou le nom du tampon" @@ -1801,6 +1833,9 @@ msgstr "est un répertoire" msgid "is not a file" msgstr "n'est pas un fichier" +msgid "is a device (disabled with 'opendevice' option)" +msgstr "est un périphérique (désactivé par l'option 'opendevice')" + msgid "[New File]" msgstr "[Nouveau fichier]" @@ -1821,26 +1856,25 @@ msgstr "" "E201: Autocommandes *ReadPre ne doivent pas modifier le contenu du tampon " "courant" -msgid "Nvim: Reading from stdin...\n" +msgid "Vim: Reading from stdin...\n" msgstr "Vim : Lecture de stdin...\n" +msgid "Reading from stdin..." +msgstr "Lecture de stdin..." + #. Re-opening the original file failed! msgid "E202: Conversion made file unreadable!" msgstr "E202: La conversion a rendu le fichier illisible !" -#. fifo or socket msgid "[fifo/socket]" msgstr "[fifo/socket]" -#. fifo msgid "[fifo]" msgstr "[fifo]" -#. or socket msgid "[socket]" msgstr "[socket]" -#. or character special msgid "[character special]" msgstr "[caractère spécial]" @@ -1857,12 +1891,12 @@ msgid "[converted]" msgstr "[converti]" #, c-format -msgid "[CONVERSION ERROR in line %<PRId64>]" -msgstr "[ERREUR DE CONVERSION à la ligne %<PRId64>]" +msgid "[CONVERSION ERROR in line %ld]" +msgstr "[ERREUR DE CONVERSION à la ligne %ld]" #, c-format -msgid "[ILLEGAL BYTE in line %<PRId64>]" -msgstr "[OCTET INVALIDE à la ligne %<PRId64>]" +msgid "[ILLEGAL BYTE in line %ld]" +msgstr "[OCTET INVALIDE à la ligne %ld]" msgid "[READ ERRORS]" msgstr "[ERREURS DE LECTURE]" @@ -1887,9 +1921,18 @@ msgid "E204: Autocommand changed number of lines in unexpected way" msgstr "" "E204: L'autocommande a modifié le nombre de lignes de manière inattendue" +msgid "NetBeans disallows writes of unmodified buffers" +msgstr "NetBeans interdit l'écriture des tampons non modifiés" + +msgid "Partial writes disallowed for NetBeans buffers" +msgstr "Netbeans interdit l'écriture partielle de ses tampons" + msgid "is not a file or writable device" msgstr "n'est pas un fichier ou un périphérique inscriptible" +msgid "writing to device disabled with 'opendevice' option" +msgstr "écriture vers un périphérique désactivé par l'option 'opendevice'" + msgid "is read-only (add ! to override)" msgstr "est en lecture seule (ajoutez ! pour passer outre)" @@ -1912,7 +1955,10 @@ msgid "E510: Can't make backup file (add ! to override)" msgstr "" "E510: Impossible de générer la copie de secours (ajoutez ! pour passer outre)" -#. Can't write without a tempfile! +msgid "E460: The resource fork would be lost (add ! to override)" +msgstr "" +"E460: Les ressources partagées seraient perdues (ajoutez ! pour passer outre)" + msgid "E214: Can't find temp file for writing" msgstr "E214: Impossible de générer un fichier temporaire pour y écrire" @@ -1937,11 +1983,11 @@ msgstr "" #, c-format msgid "" -"E513: write error, conversion failed in line %<PRId64> (make 'fenc' empty to " +"E513: write error, conversion failed in line %ld (make 'fenc' empty to " "override)" msgstr "" -"E513: Erreur d'écriture, échec de conversion à la ligne %<PRId64> (videz " -"'fenc' pour passer outre)" +"E513: Erreur d'écriture, échec de conversion à la ligne %ld (videz 'fenc' " +"pour passer outre)" msgid "E514: write error (file system full?)" msgstr "E514: erreur d'écriture (système de fichiers plein ?)" @@ -1950,8 +1996,8 @@ msgid " CONVERSION ERROR" msgstr " ERREUR DE CONVERSION" #, c-format -msgid " in line %<PRId64>;" -msgstr " à la ligne %<PRId64>" +msgid " in line %ld;" +msgstr " à la ligne %ld" msgid "[Device]" msgstr "[Périph.]" @@ -2015,15 +2061,15 @@ msgid "1 line, " msgstr "1 ligne, " #, c-format -msgid "%<PRId64> lines, " -msgstr "%<PRId64> lignes, " +msgid "%ld lines, " +msgstr "%ld lignes, " msgid "1 character" msgstr "1 caractère" #, c-format -msgid "%<PRId64> characters" -msgstr "%<PRId64> caractères" +msgid "%lld characters" +msgstr "%lld caractères" msgid "[noeol]" msgstr "[noeol]" @@ -2120,6 +2166,12 @@ msgstr "Autocommandes marquées pour auto-suppression : %s <tampon=%d>" msgid "E367: No such group: \"%s\"" msgstr "E367: Aucun groupe \"%s\"" +msgid "E936: Cannot delete the current group" +msgstr "E936: Impossible de supprimer le groupe courant" + +msgid "W19: Deleting augroup that is still in use" +msgstr "W19: Effacement d'augroup toujours en usage" + #, c-format msgid "E215: Illegal character after *: %s" msgstr "E215: Caractère non valide après * : %s" @@ -2182,10 +2234,11 @@ msgid "E351: Cannot delete fold with current 'foldmethod'" msgstr "E351: Impossible de supprimer un repli avec la 'foldmethod'e actuelle" #, c-format -msgid "+--%3ld lines folded " -msgstr "+--%3ld lignes repliées " +msgid "+--%3ld line folded " +msgid_plural "+--%3ld lines folded " +msgstr[0] "+--%3ld ligne repliée " +msgstr[1] "+--%3ld lignes repliées " -#. buffer has already been read msgid "E222: Add to read buffer" msgstr "E222: Ajout au tampon de lecture" @@ -2217,333 +2270,308 @@ msgstr "Aucun mappage trouvé" msgid "E228: makemap: Illegal mode" msgstr "E228: makemap : mode invalide" -# msgstr "--Pas de lignes dans le tampon--" -# DB - todo : ou encore : msgstr "--Aucune ligne dans le tampon--" -#. key value of 'cedit' option -#. type of cmdline window or 0 -#. result of cmdline window or 0 -msgid "--No lines in buffer--" -msgstr "--Le tampon est vide--" - -#. -#. * The error messages that can be shared are included here. -#. * Excluded are errors that are only used once and debugging messages. -#. -msgid "E470: Command aborted" -msgstr "E470: Commande annulée" - -msgid "E471: Argument required" -msgstr "E471: Argument requis" - -msgid "E10: \\ should be followed by /, ? or &" -msgstr "E10: \\ devrait être suivi de /, ? ou &" - -msgid "E11: Invalid in command-line window; <CR> executes, CTRL-C quits" +msgid "E851: Failed to create a new process for the GUI" msgstr "" -"E11: Invalide dans la fenêtre ligne-de-commande ; <CR> exécute, CTRL-C quitte" +"E851: Échec lors de la création d'un nouveau processus pour l'interface " +"graphique" -msgid "E12: Command not allowed from exrc/vimrc in current dir or tag search" +msgid "E852: The child process failed to start the GUI" msgstr "" -"E12: commande non autorisée depuis un exrc/vimrc dans répertoire courant ou " -"une recherche de marqueur" - -msgid "E171: Missing :endif" -msgstr "E171: :endif manquant" - -msgid "E600: Missing :endtry" -msgstr "E600: :endtry manquant" - -msgid "E170: Missing :endwhile" -msgstr "E170: :endwhile manquant" +"E852: Le processus fils n'a pas réussi à démarrer l'interface graphique" -msgid "E170: Missing :endfor" -msgstr "E170: :endfor manquant" - -msgid "E588: :endwhile without :while" -msgstr "E588: :endwhile sans :while" - -msgid "E588: :endfor without :for" -msgstr "E588: :endfor sans :for" - -msgid "E13: File exists (add ! to override)" -msgstr "E13: Le fichier existe déjà (ajoutez ! pour passer outre)" - -msgid "E472: Command failed" -msgstr "E472: La commande a échoué" - -msgid "E473: Internal error" -msgstr "E473: Erreur interne" +msgid "E229: Cannot start the GUI" +msgstr "E229: Impossible de démarrer l'interface graphique" -msgid "Interrupted" -msgstr "Interrompu" +#, c-format +msgid "E230: Cannot read from \"%s\"" +msgstr "E230: Impossible de lire \"%s\"" -msgid "E14: Invalid address" -msgstr "E14: Adresse invalide" +msgid "E665: Cannot start GUI, no valid font found" +msgstr "" +"E665: Impossible de démarrer l'IHM graphique, aucune police valide trouvée" -msgid "E474: Invalid argument" -msgstr "E474: Argument invalide" +msgid "E231: 'guifontwide' invalid" +msgstr "E231: 'guifontwide' est invalide" -#, c-format -msgid "E475: Invalid argument: %s" -msgstr "E475: Argument invalide : %s" +msgid "E599: Value of 'imactivatekey' is invalid" +msgstr "E599: Valeur de 'imactivatekey' invalide" #, c-format -msgid "E15: Invalid expression: %s" -msgstr "E15: Expression invalide : %s" +msgid "E254: Cannot allocate color %s" +msgstr "E254: Impossible d'allouer la couleur %s" -msgid "E16: Invalid range" -msgstr "E16: Plage invalide" +msgid "No match at cursor, finding next" +msgstr "Aucune correspondance sous le curseur, recherche de la suivante" -msgid "E476: Invalid command" -msgstr "E476: Commande invalide" +msgid "<cannot open> " +msgstr "<impossible d'ouvrir> " #, c-format -msgid "E17: \"%s\" is a directory" -msgstr "E17: \"%s\" est un répertoire" +msgid "E616: vim_SelFile: can't get font %s" +msgstr "E616: vim_SelFile : impossible d'obtenir la police %s" -#, fuzzy -#~ msgid "E900: Invalid job id" -#~ msgstr "E49: Valeur de défilement invalide" +msgid "E614: vim_SelFile: can't return to current directory" +msgstr "E614: vim_SelFile : impossible de revenir dans le répertoire courant" -#~ msgid "E901: Job table is full" -#~ msgstr "" +msgid "Pathname:" +msgstr "Chemin :" -#, c-format -msgid "E364: Library call failed for \"%s()\"" -msgstr "E364: L'appel à la bibliothèque a échoué pour \"%s()\"" +msgid "E615: vim_SelFile: can't get current directory" +msgstr "E615: vim_SelFile : impossible d'obtenir le répertoire courant" -msgid "E19: Mark has invalid line number" -msgstr "E19: La marque a un numéro de ligne invalide" +msgid "OK" +msgstr "Ok" -msgid "E20: Mark not set" -msgstr "E20: Marque non positionnée" +msgid "Cancel" +msgstr "Annuler" -msgid "E21: Cannot make changes, 'modifiable' is off" -msgstr "E21: Impossible de modifier, 'modifiable' est désactivé" +msgid "Scrollbar Widget: Could not get geometry of thumb pixmap." +msgstr "Widget scrollbar : Impossible d'obtenir la géométrie du pixmap 'thumb'" -msgid "E22: Scripts nested too deep" -msgstr "E22: Trop de récursion dans les scripts" +msgid "Vim dialog" +msgstr "Vim" -msgid "E23: No alternate file" -msgstr "E23: Pas de fichier alternatif" +msgid "E232: Cannot create BalloonEval with both message and callback" +msgstr "E232: Impossible de créer un BalloonEval avec message ET callback" -msgid "E24: No such abbreviation" -msgstr "E24: Cette abréviation n'existe pas" +msgid "_Cancel" +msgstr "_Annuler" -msgid "E477: No ! allowed" -msgstr "E477: Le ! n'est pas autorisé" +msgid "_Save" +msgstr "_Enregistrer" -msgid "E25: Nvim does not have a built-in GUI" -msgstr "E25: L'interface graphique n'a pas été compilée dans cette version" +msgid "_Open" +msgstr "_Ouvrir" -#, c-format -msgid "E28: No such highlight group name: %s" -msgstr "E28: Aucun nom de groupe de surbrillance %s" +msgid "_OK" +msgstr "_Ok" -msgid "E29: No inserted text yet" -msgstr "E29: Pas encore de texte inséré" +msgid "" +"&Yes\n" +"&No\n" +"&Cancel" +msgstr "" +"&Oui\n" +"&Non\n" +"&Annuler" -msgid "E30: No previous command line" -msgstr "E30: Aucune ligne de commande précédente" +msgid "Yes" +msgstr "Oui" -msgid "E31: No such mapping" -msgstr "E31: Mappage inexistant" +msgid "No" +msgstr "Non" -msgid "E479: No match" -msgstr "E479: Aucune correspondance" +# todo '_' is for hotkey, i guess? +msgid "Input _Methods" +msgstr "_Méthodes de saisie" -#, c-format -msgid "E480: No match: %s" -msgstr "E480: Aucune correspondance : %s" +msgid "VIM - Search and Replace..." +msgstr "Remplacer - Vim" -msgid "E32: No file name" -msgstr "E32: Aucun nom de fichier" +msgid "VIM - Search..." +msgstr "Rechercher - Vim" -msgid "E33: No previous substitute regular expression" -msgstr "E33: Aucune expression régulière de substitution précédente" +msgid "Find what:" +msgstr "Rechercher :" -msgid "E34: No previous command" -msgstr "E34: Aucune commande précédente" +msgid "Replace with:" +msgstr "Remplacer par :" -msgid "E35: No previous regular expression" -msgstr "E35: Aucune expression régulière précédente" +#. whole word only button +msgid "Match whole word only" +msgstr "Mots entiers seulement" -msgid "E481: No range allowed" -msgstr "E481: Les plages ne sont pas autorisées" +#. match case button +msgid "Match case" +msgstr "Respecter la casse" -msgid "E36: Not enough room" -msgstr "E36: Pas assez de place" +msgid "Direction" +msgstr "Direction" -#, c-format -msgid "E482: Can't create file %s" -msgstr "E482: Impossible de créer le fichier %s" +#. 'Up' and 'Down' buttons +msgid "Up" +msgstr "Haut" -msgid "E483: Can't get temp file name" -msgstr "E483: Impossible d'obtenir un nom de fichier temporaire" +msgid "Down" +msgstr "Bas" -#, c-format -msgid "E484: Can't open file %s" -msgstr "E484: Impossible d'ouvrir le fichier \"%s\"" +msgid "Find Next" +msgstr "Suivant" -#, c-format -msgid "E485: Can't read file %s" -msgstr "E485: Impossible de lire le fichier %s" +msgid "Replace" +msgstr "Remplacer" -msgid "E37: No write since last change (add ! to override)" -msgstr "E37: Modifications non enregistrées (ajoutez ! pour passer outre)" +msgid "Replace All" +msgstr "Remplacer tout" -# AB - Il faut respecter l'esprit plus que la lettre. Dans le cas présent, -# nettement plus. -#, fuzzy -#~ msgid "E37: No write since last change" -#~ msgstr "[Attention : tout n'est pas enregistré]\n" +msgid "_Close" +msgstr "_Fermer" -msgid "E38: Null argument" -msgstr "E38: Argument null" +msgid "Vim: Received \"die\" request from session manager\n" +msgstr "Vim : Une requête \"die\" a été reçue par le gestionnaire de session\n" -msgid "E39: Number expected" -msgstr "E39: Nombre attendu" +msgid "Close tab" +msgstr "Fermer l'onglet" -#, c-format -msgid "E40: Can't open errorfile %s" -msgstr "E40: Impossible d'ouvrir le fichier d'erreurs %s" +msgid "New tab" +msgstr "Nouvel onglet" -msgid "E41: Out of memory!" -msgstr "E41: Mémoire épuisée" +# DB - todo : un peu long. Cet entrée de menu permet d'ouvrir un fichier +# dans un nouvel onglet via le sélecteur de fichiers graphique. +msgid "Open Tab..." +msgstr "Ouvrir dans un onglet..." -msgid "Pattern not found" -msgstr "Motif introuvable" +msgid "Vim: Main window unexpectedly destroyed\n" +msgstr "Vim : Fenêtre principale détruite inopinément\n" -#, c-format -msgid "E486: Pattern not found: %s" -msgstr "E486: Motif introuvable : %s" +msgid "&Filter" +msgstr "&Filtrer" -msgid "E487: Argument must be positive" -msgstr "E487: L'argument doit être positif" +msgid "&Cancel" +msgstr "&Annuler" -msgid "E459: Cannot go back to previous directory" -msgstr "E459: Impossible de retourner au répertoire précédent" +msgid "Directories" +msgstr "Répertoires" -msgid "E42: No Errors" -msgstr "E42: Aucune erreur" +msgid "Filter" +msgstr "Filtre" -# DB - TODO : trouver une traduction valable et attestée pour "location". -msgid "E776: No location list" -msgstr "E776: Aucune liste d'emplacements" +msgid "&Help" +msgstr "&Aide" -msgid "E43: Damaged match string" -msgstr "E43: La chaîne de recherche est endommagée" +msgid "Files" +msgstr "Fichiers" -msgid "E44: Corrupted regexp program" -msgstr "E44: L'automate de regexp est corrompu" +msgid "&OK" +msgstr "&Ok" -msgid "E45: 'readonly' option is set (add ! to override)" -msgstr "E45: L'option 'readonly' est activée (ajoutez ! pour passer outre)" +msgid "Selection" +msgstr "Sélection" -#, c-format -msgid "E46: Cannot change read-only variable \"%s\"" -msgstr "E46: La variable \"%s\" est en lecture seule" +msgid "Find &Next" +msgstr "Suiva&nt" -#, c-format -msgid "E794: Cannot set variable in the sandbox: \"%s\"" -msgstr "" -"E794: Impossible de modifier une variable depuis le bac à sable : \"%s\"" +msgid "&Replace" +msgstr "&Remplacer" -msgid "E47: Error while reading errorfile" -msgstr "E47: Erreur lors de la lecture du fichier d'erreurs" +msgid "Replace &All" +msgstr "Rempl&acer tout" -msgid "E48: Not allowed in sandbox" -msgstr "E48: Opération interdite dans le bac à sable" +msgid "&Undo" +msgstr "Ann&uler" -msgid "E523: Not allowed here" -msgstr "E523: Interdit à cet endroit" +msgid "Open tab..." +msgstr "Ouvrir dans un onglet..." -msgid "E359: Screen mode setting not supported" -msgstr "E359: Choix du mode d'écran non supporté" +msgid "Find string (use '\\\\' to find a '\\')" +msgstr "Chercher une chaîne (utilisez '\\\\' pour chercher un '\\')" -msgid "E49: Invalid scroll size" -msgstr "E49: Valeur de défilement invalide" +msgid "Find & Replace (use '\\\\' to find a '\\')" +msgstr "Chercher et remplacer (utilisez '\\\\' pour trouver un '\\')" -msgid "E91: 'shell' option is empty" -msgstr "E91: L'option 'shell' est vide" +# DB - Traduction non indispensable puisque le code indique qu'il s'agit d'un +# paramétrage bidon afin de sélectionner un répertoire plutôt qu'un +# fichier. +#. We fake this: Use a filter that doesn't select anything and a default +#. * file name that won't be used. +msgid "Not Used" +msgstr "Non utilisé" -msgid "E255: Couldn't read in sign data!" -msgstr "E255: Impossible de lire les données du symbole !" +# DB - Traduction non indispensable puisque le code indique qu'il s'agit d'un +# paramétrage bidon afin de sélectionner un répertoire plutôt qu'un +# fichier. +msgid "Directory\t*.nothing\n" +msgstr "Répertoire\t*.rien\n" -msgid "E72: Close error on swap file" -msgstr "E72: Erreur lors de la fermeture du fichier d'échange" +#, c-format +msgid "E671: Cannot find window title \"%s\"" +msgstr "E671: Titre de fenêtre \"%s\" introuvable" -msgid "E73: tag stack empty" -msgstr "E73: La pile des marqueurs est vide" +#, c-format +msgid "E243: Argument not supported: \"-%s\"; Use the OLE version." +msgstr "E243: Argument non supporté : \"-%s\" ; Utilisez la version OLE." -msgid "E74: Command too complex" -msgstr "E74: Commande trop complexe" +msgid "E672: Unable to open window inside MDI application" +msgstr "E672: Impossible d'ouvrir une fenêtre dans une application MDI" -msgid "E75: Name too long" -msgstr "E75: Nom trop long" +# DB - todo : perfectible. +msgid "Vim E458: Cannot allocate colormap entry, some colors may be incorrect" +msgstr "" +"Vim E458: Erreur d'allocation de couleurs, couleurs possiblement incorrectes" -msgid "E76: Too many [" -msgstr "E76: Trop de [" +# DB - todo : La VF est-elle compréhensible ? +#, c-format +msgid "E250: Fonts for the following charsets are missing in fontset %s:" +msgstr "" +"E250: Des polices manquent dans %s pour les jeux de caractères suivants :" -msgid "E77: Too many file names" -msgstr "E77: Trop de noms de fichiers" +#, c-format +msgid "E252: Fontset name: %s" +msgstr "E252: Nom du jeu de polices : %s" -msgid "E488: Trailing characters" -msgstr "E488: Caractères surnuméraires" +#, c-format +msgid "Font '%s' is not fixed-width" +msgstr "La police '%s' n'a pas une largeur fixe" -msgid "E78: Unknown mark" -msgstr "E78: Marque inconnue" +#, c-format +msgid "E253: Fontset name: %s" +msgstr "E253: Nom du jeu de polices : %s" -msgid "E79: Cannot expand wildcards" -msgstr "E79: Impossible de développer les métacaractères" +#, c-format +msgid "Font0: %s" +msgstr "Font0: %s" -msgid "E591: 'winheight' cannot be smaller than 'winminheight'" -msgstr "E591: 'winheight' ne peut pas être plus petit que 'winminheight'" +#, c-format +msgid "Font1: %s" +msgstr "Font1: %s" -msgid "E592: 'winwidth' cannot be smaller than 'winminwidth'" -msgstr "E592: 'winwidth' ne peut pas être plus petit que 'winminwidth'" +#, c-format +msgid "Font%ld width is not twice that of font0" +msgstr "La largeur de Font%ld n'est pas le double de celle de Font0" -msgid "E80: Error while writing" -msgstr "E80: Erreur lors de l'écriture" +#, c-format +msgid "Font0 width: %ld" +msgstr "Largeur de Font0 : %ld" -msgid "Zero count" -msgstr "Le quantificateur est nul" +#, c-format +msgid "Font1 width: %ld" +msgstr "Largeur de Font1 : %ld" -msgid "E81: Using <SID> not in a script context" -msgstr "E81: <SID> utilisé en dehors d'un script" +# DB - todo : Pas certain de mon coup, ici... +msgid "Invalid font specification" +msgstr "La spécification de la police est invalide" -#, c-format -msgid "E685: Internal error: %s" -msgstr "E685: Erreur interne : %s" +msgid "&Dismiss" +msgstr "Aban&donner" -msgid "E363: pattern uses more memory than 'maxmempattern'" -msgstr "E363: le motif utilise plus de mémoire que 'maxmempattern'" +# DB - todo : Pas certain de mon coup, ici... +msgid "no specific match" +msgstr "aucune correspondance particulière" -msgid "E749: empty buffer" -msgstr "E749: tampon vide" +msgid "Vim - Font Selector" +msgstr "Choisir une police - Vim" -#, c-format -msgid "E86: Buffer %<PRId64> does not exist" -msgstr "E86: Le tampon %<PRId64> n'existe pas" +msgid "Name:" +msgstr "Nom :" -msgid "E682: Invalid search pattern or delimiter" -msgstr "E682: Délimiteur ou motif de recherche invalide" +#. create toggle button +msgid "Show size in Points" +msgstr "Afficher la taille en Points" -msgid "E139: File is loaded in another buffer" -msgstr "E139: Le fichier est chargé dans un autre tampon" +msgid "Encoding:" +msgstr "Encodage :" -#, c-format -msgid "E764: Option '%s' is not set" -msgstr "E764: L'option '%s' n'est pas activée" +msgid "Font:" +msgstr "Police :" -msgid "E850: Invalid register name" -msgstr "E850: Nom de registre invalide" +msgid "Style:" +msgstr "Style :" -msgid "search hit TOP, continuing at BOTTOM" -msgstr "La recherche a atteint le HAUT, et continue en BAS" +msgid "Size:" +msgstr "Taille :" -msgid "search hit BOTTOM, continuing at TOP" -msgstr "La recherche a atteint le BAS, et continue en HAUT" +msgid "E256: Hangul automata ERROR" +msgstr "E256: ERREUR dans l'automate Hangul" msgid "E550: Missing colon" msgstr "E550: ':' manquant" @@ -2677,6 +2705,9 @@ msgstr "E257: cstag : marqueur introuvable" msgid "E563: stat(%s) error: %d" msgstr "E563: Erreur stat(%s) : %d" +msgid "E563: stat error" +msgstr "E563: Erreur stat" + #, c-format msgid "E564: %s is not a directory or a valid cscope database" msgstr "E564: %s n'est pas un répertoire ou une base de données cscope valide" @@ -2686,8 +2717,8 @@ msgid "Added cscope database %s" msgstr "Base de données cscope %s ajoutée" #, c-format -msgid "E262: error reading cscope connection %<PRId64>" -msgstr "E262: erreur lors de la lecture de la connexion cscope %<PRId64>" +msgid "E262: error reading cscope connection %ld" +msgstr "E262: erreur lors de la lecture de la connexion cscope %ld" msgid "E561: unknown cscope search type" msgstr "E561: type de recherche cscope inconnu" @@ -2698,9 +2729,8 @@ msgstr "E566: Impossible de créer les tuyaux (pipes) cscope" msgid "E622: Could not fork for cscope" msgstr "E622: Impossible de forker pour cscope" -#, fuzzy -#~ msgid "cs_create_connection setpgid failed" -#~ msgstr "exec de cs_create_connection a échoué" +msgid "cs_create_connection setpgid failed" +msgstr "cs_create_connection setpgid a échoué" msgid "cs_create_connection exec failed" msgstr "exec de cs_create_connection a échoué" @@ -2735,6 +2765,7 @@ msgstr "%-5s: %s%*s (Utilisation : %s)" msgid "" "\n" +" a: Find assignments to this symbol\n" " c: Find functions calling this function\n" " d: Find functions called by this function\n" " e: Find this egrep pattern\n" @@ -2743,9 +2774,9 @@ msgid "" " i: Find files #including this file\n" " s: Find this C symbol\n" " t: Find this text string\n" -" a: Find assignments to this symbol\n" msgstr "" "\n" +" a: Trouver les affectations à ce symbole\n" " c: Trouver les fonctions appelant cette fonction\n" " d: Trouver les fonctions appelées par cette fonction\n" " e: Trouver ce motif egrep\n" @@ -2754,7 +2785,14 @@ msgstr "" " i: Trouver les fichiers qui #incluent ce fichier\n" " s: Trouver ce symbole C\n" " t: Trouver cette chaîne\n" -" a: Trouver les assignements à ce symbole\n" + +#, c-format +msgid "E625: cannot open cscope database: %s" +msgstr "E625: impossible d'ouvrir la base de données cscope %s" + +msgid "E626: cannot get cscope database information" +msgstr "" +"E626: impossible d'obtenir des informations sur la base de données cscope" msgid "E568: duplicate cscope database not added" msgstr "E568: base de données cscope redondante non ajoutée" @@ -2799,6 +2837,229 @@ msgstr "aucune connexion cscope\n" msgid " # pid database name prepend path\n" msgstr " # pid nom de la base de données chemin\n" +msgid "Lua library cannot be loaded." +msgstr "La bibliothèque Lua n'a pas pu être chargée." + +msgid "cannot save undo information" +msgstr "impossible d'enregistrer les informations d'annulation" + +msgid "" +"E815: Sorry, this command is disabled, the MzScheme libraries could not be " +"loaded." +msgstr "" +"E815: Désolé, cette commande est désactivée : les bibliothèques MzScheme " +"n'ont pas pu être chargées." + +msgid "" +"E895: Sorry, this command is disabled, the MzScheme's racket/base module " +"could not be loaded." +msgstr "" +"E895: Désolé, cette commande est désactivée : le module MzScheme racket/base " +"ne peut pas être chargé." + +msgid "invalid expression" +msgstr "expression invalide" + +msgid "expressions disabled at compile time" +msgstr "expressions désactivées lors de la compilation" + +msgid "hidden option" +msgstr "option cachée" + +msgid "unknown option" +msgstr "option inconnue" + +msgid "window index is out of range" +msgstr "numéro de fenêtre hors limites" + +msgid "couldn't open buffer" +msgstr "impossible d'ouvrir le tampon" + +msgid "cannot delete line" +msgstr "impossible d'effacer la ligne" + +msgid "cannot replace line" +msgstr "impossible de remplacer la ligne" + +msgid "cannot insert line" +msgstr "impossible d'insérer la ligne" + +msgid "string cannot contain newlines" +msgstr "une chaîne ne peut pas contenir de saut-de-ligne" + +msgid "error converting Scheme values to Vim" +msgstr "erreur lors de la conversion d'une valeur de Scheme à Vim" + +msgid "Vim error: ~a" +msgstr "Erreur Vim : ~a" + +msgid "Vim error" +msgstr "Erreur Vim" + +msgid "buffer is invalid" +msgstr "tampon invalide" + +msgid "window is invalid" +msgstr "fenêtre invalide" + +msgid "linenr out of range" +msgstr "numéro de ligne hors limites" + +msgid "not allowed in the Vim sandbox" +msgstr "non autorisé dans le bac à sable" + +msgid "E836: This Vim cannot execute :python after using :py3" +msgstr "E836: Vim ne peut pas exécuter :python après avoir utilisé :py3" + +msgid "" +"E263: Sorry, this command is disabled, the Python library could not be " +"loaded." +msgstr "" +"E263: Désolé, commande désactivée : la bibliothèque Python n'a pas pu être " +"chargée." + +msgid "" +"E887: Sorry, this command is disabled, the Python's site module could not be " +"loaded." +msgstr "" +"E887: Désolé, commande désactivée : la bibliothèque Python n'a pas pu être " +"chargée." + +msgid "E659: Cannot invoke Python recursively" +msgstr "E659: Impossible d'invoquer Python récursivement" + +msgid "E837: This Vim cannot execute :py3 after using :python" +msgstr "E837: Vim ne peut pas exécuter :py3 après avoir utilisé :python" + +msgid "E265: $_ must be an instance of String" +msgstr "E265: $_ doit être une instance de chaîne (String)" + +msgid "" +"E266: Sorry, this command is disabled, the Ruby library could not be loaded." +msgstr "" +"E266: Désolé, commande désactivée : la bibliothèque Ruby n'a pas pu être " +"chargée." + +msgid "E267: unexpected return" +msgstr "E267: « return » inattendu" + +msgid "E268: unexpected next" +msgstr "E268: « next » inattendu" + +msgid "E269: unexpected break" +msgstr "E269: « break » inattendu" + +msgid "E270: unexpected redo" +msgstr "E270: « redo » inattendu" + +msgid "E271: retry outside of rescue clause" +msgstr "E271: « retry » hors d'une clause « rescue »" + +msgid "E272: unhandled exception" +msgstr "E272: Exception non prise en charge" + +# DB - todo +#, c-format +msgid "E273: unknown longjmp status %d" +msgstr "E273: contexte de longjmp inconnu : %d" + +msgid "invalid buffer number" +msgstr "numéro de tampon invalide" + +msgid "not implemented yet" +msgstr "pas encore implémenté" + +# DB - TODO : le contexte est celui d'une annulation. +#. ??? +msgid "cannot set line(s)" +msgstr "Impossible de remettre la/les ligne(s)" + +msgid "invalid mark name" +msgstr "nom de marque invalide" + +msgid "mark not set" +msgstr "marque non positionnée" + +#, c-format +msgid "row %d column %d" +msgstr "ligne %d colonne %d" + +msgid "cannot insert/append line" +msgstr "Impossible d'insérer/ajouter de lignes" + +msgid "line number out of range" +msgstr "numéro de ligne hors limites" + +msgid "unknown flag: " +msgstr "drapeau inconnu : " + +msgid "unknown vimOption" +msgstr "vimOption inconnue" + +msgid "keyboard interrupt" +msgstr "interruption clavier" + +msgid "vim error" +msgstr "erreur Vim" + +msgid "cannot create buffer/window command: object is being deleted" +msgstr "" +"Impossible de créer commande de tampon/fenêtre : objet en cours d'effacement" + +msgid "" +"cannot register callback command: buffer/window is already being deleted" +msgstr "" +"Impossible d'inscrire la commande de rappel : tampon/fenêtre en effacement" + +#. This should never happen. Famous last word? +msgid "" +"E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-dev@vim." +"org" +msgstr "" +"E280: ERREUR FATALE TCL: reflist corrompue ?! Contactez vim-dev@vim.org, SVP." + +msgid "cannot register callback command: buffer/window reference not found" +msgstr "" +"Impossible d'inscrire la commande de rappel : réf. tampon/fenêtre introuvable" + +msgid "" +"E571: Sorry, this command is disabled: the Tcl library could not be loaded." +msgstr "" +"E571: Désolé, commande désactivée: la bibliothèque Tcl n'a pas pu être " +"chargée." + +#, c-format +msgid "E572: exit code %d" +msgstr "E572: code de sortie %d" + +msgid "cannot get line" +msgstr "Impossible d'obtenir la ligne" + +msgid "Unable to register a command server name" +msgstr "Impossible d'inscrire un nom de serveur de commande" + +msgid "E248: Failed to send command to the destination program" +msgstr "E248: Échec de l'envoi de la commande au programme cible" + +#, c-format +msgid "E573: Invalid server id used: %s" +msgstr "E573: Id utilisé pour le serveur invalide : %s" + +msgid "E251: VIM instance registry property is badly formed. Deleted!" +msgstr "E251: Entrée registre de l'instance de Vim mal formatée. Suppression !" + +#, c-format +msgid "E938: Duplicate key in JSON: \"%s\"" +msgstr "E938: Clé dupliquée dans le document JSON : \"%s\"" + +#, c-format +msgid "E696: Missing comma in List: %s" +msgstr "E696: Il manque une virgule dans la Liste %s" + +#, c-format +msgid "E697: Missing end of List ']': %s" +msgstr "E697: Il manque ']' à la fin de la Liste %s" + msgid "Unknown option argument" msgstr "Option inconnue" @@ -2821,6 +3082,15 @@ msgstr "Argument invalide pour" msgid "%d files to edit\n" msgstr "%d fichiers à éditer\n" +msgid "netbeans is not supported with this GUI\n" +msgstr "netbeans n'est pas supporté avec cette interface graphique\n" + +msgid "'-nb' cannot be used: not enabled at compile time\n" +msgstr "'-nb' ne peut pas être utilisé : désactivé à la compilation\n" + +msgid "This Vim was not compiled with the diff feature." +msgstr "Ce Vim n'a pas été compilé avec la fonctionnalité diff" + msgid "Attempt to open script file again: \"" msgstr "Nouvelle tentative pour ouvrir le script : \"" @@ -2830,6 +3100,14 @@ msgstr "Impossible d'ouvrir en lecture : \"" msgid "Cannot open for script output: \"" msgstr "Impossible d'ouvrir pour la sortie script : \"" +msgid "Vim: Error: Failure to start gvim from NetBeans\n" +msgstr "Vim : Erreur : Impossible de démarrer gvim depuis NetBeans\n" + +msgid "Vim: Error: This version of Vim does not run in a Cygwin terminal\n" +msgstr "" +"Vim : Erreur : Cette version de Vim ne fonctionne pas dans un terminal " +"Cygwin\n" + msgid "Vim: Warning: Output is not to a terminal\n" msgstr "Vim : Alerte : La sortie ne s'effectue pas sur un terminal\n" @@ -2882,6 +3160,15 @@ msgstr "" "\n" " ou :" +# DB - todo (VMS uniquement). +msgid "" +"\n" +"Where case is ignored prepend / to make flag upper case" +msgstr "" +"\n" +"pour lesquels la casse est indifférente (/ pour que le drapeau soit " +"majuscule)" + msgid "" "\n" "\n" @@ -2897,6 +3184,20 @@ msgstr "--\t\tSeuls des noms de fichier sont spécifiés après ceci" msgid "--literal\t\tDon't expand wildcards" msgstr "--literal\tNe pas développer les métacaractères" +msgid "-register\t\tRegister this gvim for OLE" +msgstr "-register\tInscrire ce gvim pour OLE" + +msgid "-unregister\t\tUnregister gvim for OLE" +msgstr "-unregister\tDésinscrire gvim de OLE" + +msgid "-g\t\t\tRun using GUI (like \"gvim\")" +msgstr "-g\t\tLancer l'interface graphique (comme \"gvim\")" + +msgid "-f or --nofork\tForeground: Don't fork when starting GUI" +msgstr "" +"-f, --nofork\tPremier-plan : ne pas détacher l'interface graphique du " +"terminal" + msgid "-v\t\t\tVi mode (like \"vi\")" msgstr "-v\t\tMode Vi (comme \"vi\")" @@ -2957,6 +3258,12 @@ msgstr "-r <fichier>\tRécupérer une session plantée" msgid "-L\t\t\tSame as -r" msgstr "-L\t\tComme -r" +msgid "-f\t\t\tDon't use newcli to open window" +msgstr "-f\t\tNe pas utiliser newcli pour l'ouverture des fenêtres" + +msgid "-dev <device>\t\tUse <device> for I/O" +msgstr "-dev <périph>\tUtiliser <périphérique> pour les E/S" + msgid "-A\t\t\tstart in Arabic mode" msgstr "-A\t\tDémarrer en mode arabe" @@ -2969,9 +3276,20 @@ msgstr "-F\t\tDémarrer en mode farsi" msgid "-T <terminal>\tSet terminal type to <terminal>" msgstr "-T <term>\tRégler le type du terminal sur <terminal>" +msgid "--not-a-term\t\tSkip warning for input/output not being a terminal" +msgstr "" +"--no-a-term\t\tAucun avertissement si l'entrée/sortie n'est pas un terminal" + +msgid "--ttyfail\t\tExit if input or output is not a terminal" +msgstr "" +"--ttyfail\t\tQuitte si l'entrée ou la sortie ne sont pas un terminal" + msgid "-u <vimrc>\t\tUse <vimrc> instead of any .vimrc" msgstr "-u <vimrc>\tUtiliser <vimrc> au lieu du vimrc habituel" +msgid "-U <gvimrc>\t\tUse <gvimrc> instead of any .gvimrc" +msgstr "-U <gvimrc>\tUtiliser <gvimrc> au lieu du gvimrc habituel" + msgid "--noplugin\t\tDon't load plugin scripts" msgstr "--noplugin\tNe charger aucun greffon" @@ -3009,6 +3327,53 @@ msgstr "-w <dest>\tAjouter toutes les commandes tapées dans le fichier <dest>" msgid "-W <scriptout>\tWrite all typed commands to file <scriptout>" msgstr "-W <dest>\tÉcrire toutes les commandes tapées dans le fichier <dest>" +msgid "-x\t\t\tEdit encrypted files" +msgstr "-x\t\t\tÉditer des fichiers chiffrés" + +msgid "-display <display>\tConnect vim to this particular X-server" +msgstr "-display <display>\tConnecter Vim au serveur X spécifié" + +msgid "-X\t\t\tDo not connect to X server" +msgstr "-X\t\t\tNe pas se connecter à un serveur X" + +msgid "--remote <files>\tEdit <files> in a Vim server if possible" +msgstr "--remote <fich>\tÉditer les <fichiers> dans un serveur Vim si possible" + +msgid "--remote-silent <files> Same, don't complain if there is no server" +msgstr "" +"--remote-silent ...\tPareil, mais pas d'erreur s'il n'y a aucun serveur" + +msgid "" +"--remote-wait <files> As --remote but wait for files to have been edited" +msgstr "" +"--remote-wait <fich>\tComme --remote mais ne quitter qu'à la fin de l'édition" + +msgid "" +"--remote-wait-silent <files> Same, don't complain if there is no server" +msgstr "" +"--remote-wait-silent\tPareil, mais pas d'erreur s'il n'y a aucun serveur" + +msgid "" +"--remote-tab[-wait][-silent] <files> As --remote but use tab page per file" +msgstr "" +"--remote-tab[-wait][-silent] <fich>\tComme --remote mais ouvrir un onglet " +"pour chaque fichier" + +msgid "--remote-send <keys>\tSend <keys> to a Vim server and exit" +msgstr "--remote-send <tche>\tEnvoyer <touches> à un serveur Vim puis quitter" + +msgid "--remote-expr <expr>\tEvaluate <expr> in a Vim server and print result" +msgstr "" +"--remote-expr <expr>\tÉvaluer <expr> dans un serveur Vim, afficher le " +"résultat" + +msgid "--serverlist\t\tList available Vim server names and exit" +msgstr "" +"--serverlist\t\tLister les noms des serveurs Vim disponibles et quitter" + +msgid "--servername <name>\tSend to/become the Vim server <name>" +msgstr "--servername <nom>\tEnvoyer au/devenir le serveur Vim nommé <nom>" + msgid "--startuptime <file>\tWrite startup timing messages to <file>" msgstr "" "--startuptime <fich>\tÉcrire les messages d'horodatage au démarrage dans " @@ -3023,6 +3388,120 @@ msgstr "-h ou --help\t\tAfficher l'aide (ce message) puis quitter" msgid "--version\t\tPrint version information and exit" msgstr "--version\t\tAfficher les informations de version et quitter" +msgid "" +"\n" +"Arguments recognised by gvim (Motif version):\n" +msgstr "" +"\n" +"Arguments reconnus par gvim (version Motif) :\n" + +msgid "" +"\n" +"Arguments recognised by gvim (neXtaw version):\n" +msgstr "" +"\n" +"Arguments reconnus par gvim (version neXtaw) :\n" + +msgid "" +"\n" +"Arguments recognised by gvim (Athena version):\n" +msgstr "" +"\n" +"Arguments reconnus par gvim (version Athena) :\n" + +msgid "-display <display>\tRun vim on <display>" +msgstr "-display <écran>\tLancer Vim sur ce <display>" + +msgid "-iconic\t\tStart vim iconified" +msgstr "-iconic\t\tIconifier Vim au démarrage" + +msgid "-background <color>\tUse <color> for the background (also: -bg)" +msgstr "" +"-background <coul>\tUtiliser <couleur> pour l'arrière-plan\t (abrv : -bg)" + +msgid "-foreground <color>\tUse <color> for normal text (also: -fg)" +msgstr "" +"-foreground <coul>\tUtiliser <couleur> pour le texte normal\t (abrv : -fg)" + +msgid "-font <font>\t\tUse <font> for normal text (also: -fn)" +msgstr "-font <fonte>\tUtiliser <fonte> pour le texte normal\t (abrv : -fn)" + +msgid "-boldfont <font>\tUse <font> for bold text" +msgstr "-boldfont <fonte>\tUtiliser <fonte> pour le texte gras" + +msgid "-italicfont <font>\tUse <font> for italic text" +msgstr "-italicfont <fonte>\tUtiliser <fonte> pour le texte italique" + +msgid "-geometry <geom>\tUse <geom> for initial geometry (also: -geom)" +msgstr "-geometry <géom>\tUtiliser cette <géométrie> initiale\t (abrv : -geom)" + +msgid "-borderwidth <width>\tUse a border width of <width> (also: -bw)" +msgstr "" +"-borderwidth <épais>\tUtiliser cette <épaisseur> de bordure\t (abrv : -bw)" + +msgid "-scrollbarwidth <width> Use a scrollbar width of <width> (also: -sw)" +msgstr "" +"-scrollbarwidth <lg>\tUtiliser cette <largeur> de barre de défil. (abrv: -sw)" + +msgid "-menuheight <height>\tUse a menu bar height of <height> (also: -mh)" +msgstr "-menuheight <haut>\tUtiliser cette <hauteur> de menu\t (abrv : -mh)" + +msgid "-reverse\t\tUse reverse video (also: -rv)" +msgstr "-reverse\t\tUtiliser la vidéo inverse\t\t (abrv : -rv)" + +msgid "+reverse\t\tDon't use reverse video (also: +rv)" +msgstr "+reverse\t\tNe pas utiliser de vidéo inverse\t (abrv : +rv)" + +msgid "-xrm <resource>\tSet the specified resource" +msgstr "-xrm <ressource>\tConfigurer la <ressource> spécifiée" + +msgid "" +"\n" +"Arguments recognised by gvim (GTK+ version):\n" +msgstr "" +"\n" +"Arguments reconnus par gvim (version GTK+) :\n" + +msgid "-display <display>\tRun vim on <display> (also: --display)" +msgstr "" +"-display <display>\tLancer Vim sur ce <display>\t(également : --display)" + +msgid "--role <role>\tSet a unique role to identify the main window" +msgstr "--role <rôle>\tDonner un rôle pour identifier la fenêtre principale" + +msgid "--socketid <xid>\tOpen Vim inside another GTK widget" +msgstr "--socketid <xid>\tOuvrir Vim dans un autre widget GTK" + +msgid "--echo-wid\t\tMake gvim echo the Window ID on stdout" +msgstr "--echo-wid\t\tGvim affiche l'ID de la fenêtre sur stdout" + +msgid "-P <parent title>\tOpen Vim inside parent application" +msgstr "-P <titre parent>\tOuvrir Vim dans une application parente" + +msgid "--windowid <HWND>\tOpen Vim inside another win32 widget" +msgstr "--windowid <HWND>\tOuvrir Vim dans un autre widget win32" + +msgid "No display" +msgstr "Aucun display" + +#. Failed to send, abort. +msgid ": Send failed.\n" +msgstr " : L'envoi a échoué.\n" + +#. Let vim start normally. +msgid ": Send failed. Trying to execute locally\n" +msgstr " : L'envoi a échoué. Tentative d'exécution locale\n" + +#, c-format +msgid "%d of %d edited" +msgstr "%d édités sur %d" + +msgid "No display: Send expression failed.\n" +msgstr "Aucun display : L'envoi de l'expression a échoué.\n" + +msgid ": Send expression failed.\n" +msgstr " : L'envoi de l'expression a échoué.\n" + msgid "No marks set" msgstr "Aucune marque positionnée" @@ -3079,6 +3558,30 @@ msgstr "" msgid "Missing '>'" msgstr "'>' manquant" +msgid "E543: Not a valid codepage" +msgstr "E543: Page de codes non valide" + +msgid "E284: Cannot set IC values" +msgstr "E284: Impossible de régler les valeurs IC" + +msgid "E285: Failed to create input context" +msgstr "E285: Échec de la création du contexte de saisie" + +msgid "E286: Failed to open input method" +msgstr "E286: Échec de l'ouverture de la méthode de saisie" + +msgid "E287: Warning: Could not set destroy callback to IM" +msgstr "" +"E287: Alerte : Impossible d'inscrire le callback de destruction dans la MS" + +msgid "E288: input method doesn't support any style" +msgstr "E288: la méthode de saisie ne supporte aucun style" + +msgid "E289: input method doesn't support my preedit type" +msgstr "" +"E289: le type de préédition de Vim n'est pas supporté par la méthode de " +"saisie" + msgid "E293: block was not locked" msgstr "E293: le bloc n'était pas verrouillé" @@ -3106,6 +3609,9 @@ msgstr "E298: Bloc n°1 non récupéré ?" msgid "E298: Didn't get block nr 2?" msgstr "E298: Bloc n°2 non récupéré ?" +msgid "E843: Error while updating swap file crypt" +msgstr "E843: Erreur lors de la mise à jour du fichier d'échange crypté" + #. could not (re)open the swap file, what can we do???? msgid "E301: Oops, lost the swap file!!!" msgstr "E301: Oups, le fichier d'échange a disparu !" @@ -3120,7 +3626,6 @@ msgstr "E303: Impossible d'ouvrir fichier .swp pour \"%s\", récup. impossible" msgid "E304: ml_upd_block0(): Didn't get block 0??" msgstr "E304: ml_upd_block0() : bloc 0 non récupéré ?!" -#. no swap files found #, c-format msgid "E305: No swap file found for %s" msgstr "E305: Aucun fichier d'échange trouvé pour %s" @@ -3166,6 +3671,12 @@ msgstr "" ",\n" "ou le fichier a été endommagé." +#, c-format +msgid "" +"E833: %s is encrypted and this version of Vim does not support encryption" +msgstr "" +"E833: %s est chiffré et cette version de Vim ne supporte pas le chiffrement" + msgid " has been damaged (page size is smaller than minimum value).\n" msgstr " a été endommagé (taille de page inférieure à la valeur minimale).\n" @@ -3181,6 +3692,40 @@ msgid "E308: Warning: Original file may have been changed" msgstr "E308: Alerte : Le fichier original a pu être modifié" #, c-format +msgid "Swap file is encrypted: \"%s\"" +msgstr "Fichier d'échange chiffré : \"%s\"" + +msgid "" +"\n" +"If you entered a new crypt key but did not write the text file," +msgstr "" +"\n" +"Si vous avez tapé une nouvelle clé de chiffrement mais n'avez pas enregistré " +"le fichier texte," + +msgid "" +"\n" +"enter the new crypt key." +msgstr "" +"\n" +"tapez la nouvelle clé de chiffrement." + +msgid "" +"\n" +"If you wrote the text file after changing the crypt key press enter" +msgstr "" +"\n" +"Si vous avez écrit le fichier texte après avoir changé la clé de " +"chiffrement, appuyez sur entrée" + +msgid "" +"\n" +"to use the same key for text file and swap file" +msgstr "" +"\n" +"afin d'utiliser la même clé pour le fichier texte et le fichier d'échange" + +#, c-format msgid "E309: Unable to read block 1 from %s" msgstr "E309: Impossible de lire le bloc 1 de %s" @@ -3251,6 +3796,11 @@ msgstr "" "Il est conseillé d'effacer maintenant le fichier .swp.\n" "\n" +msgid "Using crypt key from swap file for the text file.\n" +msgstr "" +"Utilisation de la clé de chiffrement du fichier d'échange pour le fichier " +"texte.\n" + #. use msg() to start the scrolling properly msgid "Swap files found:" msgstr "Fichiers d'échange trouvés :" @@ -3327,6 +3877,13 @@ msgstr " (en cours d'exécution)" msgid "" "\n" +" [not usable with this version of Vim]" +msgstr "" +"\n" +" [inutilisable avec cette version de Vim]" + +msgid "" +"\n" " [not usable on this computer]" msgstr "" "\n" @@ -3348,12 +3905,12 @@ msgid "E314: Preserve failed" msgstr "E314: Échec de la préservation" #, c-format -msgid "E315: ml_get: invalid lnum: %<PRId64>" -msgstr "E315: ml_get : numéro de ligne invalide : %<PRId64>" +msgid "E315: ml_get: invalid lnum: %ld" +msgstr "E315: ml_get : numéro de ligne invalide : %ld" #, c-format -msgid "E316: ml_get: cannot find line %<PRId64>" -msgstr "E316: ml_get : ligne %<PRId64> introuvable" +msgid "E316: ml_get: cannot find line %ld" +msgstr "E316: ml_get : ligne %ld introuvable" msgid "E317: pointer block id wrong 3" msgstr "E317: mauvais id de pointeur de bloc 3" @@ -3371,8 +3928,8 @@ msgid "deleted block 1?" msgstr "bloc 1 effacé ?" #, c-format -msgid "E320: Cannot find line %<PRId64>" -msgstr "E320: Ligne %<PRId64> introuvable" +msgid "E320: Cannot find line %ld" +msgstr "E320: Ligne %ld introuvable" msgid "E317: pointer block id wrong" msgstr "E317: mauvais id de pointeur de bloc" @@ -3381,12 +3938,12 @@ msgid "pe_line_count is zero" msgstr "pe_line_count vaut zéro" #, c-format -msgid "E322: line number out of range: %<PRId64> past the end" -msgstr "E322: numéro de ligne hors limites : %<PRId64> au-delà de la fin" +msgid "E322: line number out of range: %ld past the end" +msgstr "E322: numéro de ligne hors limites : %ld au-delà de la fin" #, c-format -msgid "E323: line count wrong in block %<PRId64>" -msgstr "E323: nombre de lignes erroné dans le bloc %<PRId64>" +msgid "E323: line count wrong in block %ld" +msgstr "E323: nombre de lignes erroné dans le bloc %ld" msgid "Stack size increases" msgstr "La taille de la pile s'accroît" @@ -3414,19 +3971,19 @@ msgstr "Lors de l'ouverture du fichier \"" msgid " NEWER than swap file!\n" msgstr " PLUS RÉCENT que le fichier d'échange !\n" +#. Some of these messages are long to allow translation to +#. * other languages. msgid "" "\n" "(1) Another program may be editing the same file. If this is the case,\n" " be careful not to end up with two different instances of the same\n" -" file when making changes." +" file when making changes. Quit, or continue with caution.\n" msgstr "" "\n" "(1) Un autre programme est peut-être en train d'éditer ce fichier.\n" " Si c'est le cas, faites attention à ne pas vous retrouver avec\n" -" deux versions différentes du même fichier en faisant des modifications." - -msgid " Quit, or continue with caution.\n" -msgstr " Quittez, ou continuez prudemment.\n" +" deux versions différentes du même fichier en faisant des modifications.\n" +" Quitter ou continuer avec attention.\n" msgid "(2) An edit session for this file crashed.\n" msgstr "(2) Une session d'édition de ce fichier a planté.\n" @@ -3491,21 +4048,9 @@ msgstr "" "&Quitter\n" "&Abandonner" -#. -#. * Change the ".swp" extension to find another file that can be used. -#. * First decrement the last char: ".swo", ".swn", etc. -#. * If that still isn't enough decrement the last but one char: ".svz" -#. * Can happen when editing many "No Name" buffers. -#. -#. ".s?a" -#. ".saa": tried enough, give up msgid "E326: Too many swap files found" msgstr "E326: Trop de fichiers d'échange trouvés" -#, c-format -msgid "E342: Out of memory! (allocating %<PRIu64> bytes)" -msgstr "E342: Mémoire épuisée ! (allocation de %<PRIu64> octets)" - msgid "E327: Part of menu-item path is not sub-menu" msgstr "E327: Une partie du chemin de l'élément de menu n'est pas un sous-menu" @@ -3540,6 +4085,9 @@ msgstr "" "\n" "--- Menus ---" +msgid "Tear off this menu" +msgstr "Détacher ce menu" + msgid "E333: Menu path must lead to a menu item" msgstr "E333: Le chemin du menu doit conduire à un élément de menu" @@ -3570,6 +4118,9 @@ msgid "E354: Invalid register name: '%s'" msgstr "E354: Nom de registre invalide : '%s'" # DB - todo : mettre à jour ? +msgid "Messages maintainer: Bram Moolenaar <Bram@vim.org>" +msgstr "Maintenance des messages : Dominique Pellé <dominique.pelle@gmail.com>" + msgid "Interrupt: " msgstr "Interruption : " @@ -3577,8 +4128,8 @@ msgid "Press ENTER or type command to continue" msgstr "Appuyez sur ENTRÉE ou tapez une commande pour continuer" #, c-format -msgid "%s line %<PRId64>" -msgstr "%s, ligne %<PRId64>" +msgid "%s line %ld" +msgstr "%s, ligne %ld" msgid "-- More --" msgstr "-- Plus --" @@ -3600,15 +4151,6 @@ msgstr "" msgid "" "&Yes\n" "&No\n" -"&Cancel" -msgstr "" -"&Oui\n" -"&Non\n" -"&Annuler" - -msgid "" -"&Yes\n" -"&No\n" "Save &All\n" "&Discard All\n" "&Cancel" @@ -3619,6 +4161,21 @@ msgstr "" "Tout aban&donner\n" "&Annuler" +# DB : Les trois messages qui suivent sont des titres de boîtes +# de dialogue par défaut. +msgid "Select Directory dialog" +msgstr "Sélecteur de répertoire" + +msgid "Save File dialog" +msgstr "Enregistrer un fichier" + +msgid "Open File dialog" +msgstr "Ouvrir un fichier" + +#. TODO: non-GUI file selector here +msgid "E338: Sorry, no file browser in console mode" +msgstr "E338: Désolé, pas de sélecteur de fichiers en mode console" + msgid "E766: Insufficient arguments for printf()" msgstr "E766: Pas assez d'arguments pour printf()" @@ -3644,12 +4201,12 @@ msgid "1 line less" msgstr "1 ligne en moins" #, c-format -msgid "%<PRId64> more lines" -msgstr "%<PRId64> lignes en plus" +msgid "%ld more lines" +msgstr "%ld lignes en plus" #, c-format -msgid "%<PRId64> fewer lines" -msgstr "%<PRId64> lignes en moins" +msgid "%ld fewer lines" +msgstr "%ld lignes en moins" msgid " (Interrupted)" msgstr " (Interrompu)" @@ -3657,16 +4214,111 @@ msgstr " (Interrompu)" msgid "Beep!" msgstr "Bip !" +msgid "ERROR: " +msgstr "ERREUR : " + +#, c-format +msgid "" +"\n" +"[bytes] total alloc-freed %lu-%lu, in use %lu, peak use %lu\n" +msgstr "" +"\n" +"[octets] total alloué-libéré %lu-%lu, utilisé %lu, pic %lu\n" + +#, c-format +msgid "" +"[calls] total re/malloc()'s %lu, total free()'s %lu\n" +"\n" +msgstr "" +"[appels] total re/malloc() %lu, total free() %lu\n" +"\n" + +msgid "E340: Line is becoming too long" +msgstr "E340: La ligne devient trop longue" + +#, c-format +msgid "E341: Internal error: lalloc(%ld, )" +msgstr "E341: Erreur interne : lalloc(%ld, )" + +#, c-format +msgid "E342: Out of memory! (allocating %lu bytes)" +msgstr "E342: Mémoire épuisée ! (allocation de %lu octets)" + #, c-format msgid "Calling shell to execute: \"%s\"" msgstr "Appel du shell pour exécuter : \"%s\"" +msgid "E545: Missing colon" +msgstr "E545: ':' manquant" + +msgid "E546: Illegal mode" +msgstr "E546: Mode non autorisé" + +msgid "E547: Illegal mouseshape" +msgstr "E547: Forme de curseur invalide" + +msgid "E548: digit expected" +msgstr "E548: chiffre attendu" + +msgid "E549: Illegal percentage" +msgstr "E549: Pourcentage non autorisé" + +msgid "E854: path too long for completion" +msgstr "E854: chemin trop long pour complètement" + +#, c-format +msgid "" +"E343: Invalid path: '**[number]' must be at the end of the path or be " +"followed by '%s'." +msgstr "" +"E343: Chemin invalide : '**[nombre]' doit être à la fin du chemin ou être " +"suivi de '%s'." + +#, c-format +msgid "E344: Can't find directory \"%s\" in cdpath" +msgstr "E344: Répertoire \"%s\" introuvable dans 'cdpath'" + +#, c-format +msgid "E345: Can't find file \"%s\" in path" +msgstr "E345: Fichier \"%s\" introuvable dans 'path'" + +#, c-format +msgid "E346: No more directory \"%s\" found in cdpath" +msgstr "E346: Plus de répertoire \"%s\" dans 'cdpath'" + +#, c-format +msgid "E347: No more file \"%s\" found in path" +msgstr "E347: Plus de fichier \"%s\" dans 'path'" + +#, c-format +msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\"" +msgstr "" +"E668: Mode d'accès incorrect au fichier d'infos de connexion NetBeans : \"%s" +"\"" + +#, c-format +msgid "E658: NetBeans connection lost for buffer %ld" +msgstr "E658: Connexion NetBeans perdue pour le tampon %ld" + +msgid "E838: netbeans is not supported with this GUI" +msgstr "E838: netbeans n'est pas supporté avec cette interface graphique" + +msgid "E511: netbeans already connected" +msgstr "E511: netbeans déjà connecté" + +#, c-format +msgid "E505: %s is read-only (add ! to override)" +msgstr "E505: %s est en lecture seule (ajoutez ! pour passer outre)" + msgid "E349: No identifier under cursor" msgstr "E349: Aucun identifiant sous le curseur" msgid "E774: 'operatorfunc' is empty" msgstr "E774: 'operatorfunc' est vide" +msgid "E775: Eval feature not available" +msgstr "E775: La fonctionnalité d'évaluation n'est pas disponible" + # DB : Il est ici question du mode Visuel. msgid "Warning: terminal cannot highlight" msgstr "Alerte : le terminal ne peut pas surligner" @@ -3686,7 +4338,7 @@ msgstr "E662: Au début de la liste des modifications" msgid "E663: At end of changelist" msgstr "E663: À la fin de la liste des modifications" -msgid "Type :quit<Enter> to exit Nvim" +msgid "Type :quit<Enter> to exit Vim" msgstr "tapez :q<Entrée> pour quitter Vim" #, c-format @@ -3698,23 +4350,23 @@ msgid "1 line %sed %d times" msgstr "1 ligne %sée %d fois" #, c-format -msgid "%<PRId64> lines %sed 1 time" -msgstr "%<PRId64> lignes %sées 1 fois" +msgid "%ld lines %sed 1 time" +msgstr "%ld lignes %sées 1 fois" #, c-format -msgid "%<PRId64> lines %sed %d times" -msgstr "%<PRId64> lignes %sées %d fois" +msgid "%ld lines %sed %d times" +msgstr "%ld lignes %sées %d fois" #, c-format -msgid "%<PRId64> lines to indent... " -msgstr "%<PRId64> lignes à indenter... " +msgid "%ld lines to indent... " +msgstr "%ld lignes à indenter... " msgid "1 line indented " msgstr "1 ligne indentée " #, c-format -msgid "%<PRId64> lines indented " -msgstr "%<PRId64> lignes indentées " +msgid "%ld lines indented " +msgstr "%ld lignes indentées " msgid "E748: No previously used register" msgstr "E748: Aucun registre n'a été précédemment utilisé" @@ -3728,8 +4380,12 @@ msgid "1 line changed" msgstr "1 ligne modifiée" #, c-format -msgid "%<PRId64> lines changed" -msgstr "%<PRId64> lignes modifiées" +msgid "%ld lines changed" +msgstr "%ld lignes modifiées" + +#, c-format +msgid "freeing %ld lines" +msgstr "libération de %ld lignes" msgid "block of 1 line yanked" msgstr "bloc de 1 ligne copié" @@ -3738,12 +4394,12 @@ msgid "1 line yanked" msgstr "1 ligne copiée" #, c-format -msgid "block of %<PRId64> lines yanked" -msgstr "bloc de %<PRId64> lignes copié" +msgid "block of %ld lines yanked" +msgstr "bloc de %ld lignes copié" #, c-format -msgid "%<PRId64> lines yanked" -msgstr "%<PRId64> lignes copiées" +msgid "%ld lines yanked" +msgstr "%ld lignes copiées" #, c-format msgid "E353: Nothing in register %s" @@ -3771,45 +4427,47 @@ msgstr "" msgid "E574: Unknown register type %d" msgstr "E574: Type de registre %d inconnu" +msgid "" +"E883: search pattern and expression register may not contain two or more " +"lines" +msgstr "" +"E883: le motif de recherche et le registre d'expression ne peuvent pas " +"contenir deux lignes ou plus" + #, c-format -msgid "%<PRId64> Cols; " -msgstr "%<PRId64> Colonnes ; " +msgid "%ld Cols; " +msgstr "%ld Colonnes ; " #, c-format -msgid "" -"Selected %s%<PRId64> of %<PRId64> Lines; %<PRId64> of %<PRId64> Words; " -"%<PRId64> of %<PRId64> Bytes" +msgid "Selected %s%ld of %ld Lines; %lld of %lld Words; %lld of %lld Bytes" msgstr "" -"%s%<PRId64> sur %<PRId64> Lignes ; %<PRId64> sur %<PRId64> Mots ; %<PRId64> " -"sur %<PRId64> Octets sélectionnés" +"%s%ld sur %ld Lignes ; %lld sur %lld Mots ; %lld sur %lld Octets sélectionnés" #, c-format msgid "" -"Selected %s%<PRId64> of %<PRId64> Lines; %<PRId64> of %<PRId64> Words; " -"%<PRId64> of %<PRId64> Chars; %<PRId64> of %<PRId64> Bytes" +"Selected %s%ld of %ld Lines; %lld of %lld Words; %lld of %lld Chars; %lld of " +"%lld Bytes" msgstr "" -"%s%<PRId64> sur %<PRId64> Lignes ; %<PRId64> sur %<PRId64> Mots ; %<PRId64> " -"sur %<PRId64> Caractères ; %<PRId64> sur %<PRId64> octets sélectionnés" +"%s%ld sur %ld Lignes ; %lld sur %lld Mots ; %lld sur %lld Caractères ; %lld " +"sur %lld octets sélectionnés" #, c-format -msgid "" -"Col %s of %s; Line %<PRId64> of %<PRId64>; Word %<PRId64> of %<PRId64>; Byte " -"%<PRId64> of %<PRId64>" +msgid "Col %s of %s; Line %ld of %ld; Word %lld of %lld; Byte %lld of %lld" msgstr "" -"Colonne %s sur %s ; Ligne %<PRId64> sur %<PRId64> ; Mot %<PRId64> sur " -"%<PRId64> ; Octet %<PRId64> sur %<PRId64>" +"Colonne %s sur %s ; Ligne %ld sur %ld ; Mot %lld sur %lld ; Octet %lld sur " +"%lld" #, c-format msgid "" -"Col %s of %s; Line %<PRId64> of %<PRId64>; Word %<PRId64> of %<PRId64>; Char " -"%<PRId64> of %<PRId64>; Byte %<PRId64> of %<PRId64>" +"Col %s of %s; Line %ld of %ld; Word %lld of %lld; Char %lld of %lld; Byte " +"%lld of %lld" msgstr "" -"Colonne %s sur %s ; Ligne %<PRId64> sur %<PRId64> ; Mot %<PRId64> sur " -"%<PRId64> ; Caractère %<PRId64> sur %<PRId64> ; Octet %<PRId64> sur %<PRId64>" +"Colonne %s sur %s ; Ligne %ld sur %ld ; Mot %lld sur %lld ; Caractère %lld " +"sur %lld ; Octet %lld sur %lld" #, c-format -msgid "(+%<PRId64> for BOM)" -msgstr "(+%<PRId64> pour le BOM)" +msgid "(+%ld for BOM)" +msgstr "(+%ld pour le BOM)" msgid "%<%f%h%m%=Page %N" msgstr "%<%f%h%m%=Page %N" @@ -3817,7 +4475,6 @@ msgstr "%<%f%h%m%=Page %N" msgid "Thanks for flying Vim" msgstr "Merci d'avoir choisi Vim" -#. found a mismatch: skip msgid "E518: Unknown option" msgstr "E518: Option inconnue" @@ -3847,6 +4504,12 @@ msgstr "Pour l'option %s" msgid "E529: Cannot set 'term' to empty string" msgstr "E529: 'term' ne doit pas être une chaîne vide" +msgid "E530: Cannot change term in GUI" +msgstr "E530: Impossible de modifier term dans l'interface graphique" + +msgid "E531: Use \":gui\" to start the GUI" +msgstr "E531: Utilisez \":gui\" pour démarrer l'interface graphique" + msgid "E589: 'backupext' and 'patchmode' are equal" msgstr "E589: 'backupext' et 'patchmode' sont égaux" @@ -3856,6 +4519,9 @@ msgstr "E834: Conflits avec la valeur de 'listchars'" msgid "E835: Conflicts with value of 'fillchars'" msgstr "E835: Conflits avec la valeur de 'fillchars'" +msgid "E617: Cannot be changed in the GTK+ 2 GUI" +msgstr "E617: Non modifiable dans l'interface graphique GTK+ 2" + msgid "E524: Missing colon" msgstr "E524: ':' manquant" @@ -3875,6 +4541,21 @@ msgstr "E528: Une valeur ' doit être spécifiée" msgid "E595: contains unprintable or wide character" msgstr "E595: contient des caractères à largeur double non-imprimables" +msgid "E596: Invalid font(s)" +msgstr "E596: Police(s) invalide(s)" + +msgid "E597: can't select fontset" +msgstr "E597: Impossible de sélectionner un jeu de polices" + +msgid "E598: Invalid fontset" +msgstr "E598: Jeu de polices invalide" + +msgid "E533: can't select wide font" +msgstr "E533: Impossible de sélectionner une police à largeur double" + +msgid "E534: Invalid wide font" +msgstr "E534: Police à largeur double invalide" + #, c-format msgid "E535: Illegal character after <%c>" msgstr "E535: Caractère invalide après <%c>" @@ -3886,6 +4567,9 @@ msgstr "E536: virgule requise" msgid "E537: 'commentstring' must be empty or contain %s" msgstr "E537: 'commentstring' doit être vide ou contenir %s" +msgid "E538: No mouse support" +msgstr "E538: La souris n'est pas supportée" + # DB - Le code est sans ambiguïté sur le caractère manquant. # À défaut d'une traduction valable, au moins comprend-on # ce qui se passe. @@ -3902,7 +4586,7 @@ msgid "E590: A preview window already exists" msgstr "E590: Il existe déjà une fenêtre de prévisualisation" msgid "W17: Arabic requires UTF-8, do ':set encoding=utf-8'" -msgstr "W17: L'arabe requiert l'UTF-8, tapez ':set encoding=utf-8'" +msgstr "W17: L'arabe nécessite l'UTF-8, tapez ':set encoding=utf-8'" #, c-format msgid "E593: Need at least %d lines" @@ -3962,12 +4646,135 @@ msgstr "E357: 'langmap' : Aucun caractère correspondant pour %s" msgid "E358: 'langmap': Extra characters after semicolon: %s" msgstr "E358: 'langmap' : Caractères surnuméraires après point-virgule : %s" +msgid "cannot open " +msgstr "impossible d'ouvrir " + +msgid "VIM: Can't open window!\n" +msgstr "VIM : Impossible d'ouvrir la fenêtre !\n" + +msgid "Need Amigados version 2.04 or later\n" +msgstr "Amigados version 2.04 ou ultérieure est nécessaire\n" + +#, c-format +msgid "Need %s version %ld\n" +msgstr "%s version %ld est nécessaire\n" + +msgid "Cannot open NIL:\n" +msgstr "Impossible d'ouvrir NIL :\n" + +msgid "Cannot create " +msgstr "Impossible de créer " + +#, c-format +msgid "Vim exiting with %d\n" +msgstr "Vim quitte avec %d\n" + +msgid "cannot change console mode ?!\n" +msgstr "Impossible de modifier le mode de la console ?!\n" + +msgid "mch_get_shellsize: not a console??\n" +msgstr "mch_get_shellsize : pas une console ?!\n" + +#. if Vim opened a window: Executing a shell may cause crashes +msgid "E360: Cannot execute shell with -f option" +msgstr "E360: Impossible d'exécuter un shell avec l'option -f" + +msgid "Cannot execute " +msgstr "Impossible d'exécuter " + +msgid "shell " +msgstr "le shell " + +msgid " returned\n" +msgstr " a été retourné\n" + +msgid "ANCHOR_BUF_SIZE too small." +msgstr "ANCHOR_BUF_SIZE trop petit." + +msgid "I/O ERROR" +msgstr "ERREUR d'E/S" + +msgid "Message" +msgstr "Message" + +msgid "E237: Printer selection failed" +msgstr "E237: La sélection de l'imprimante a échoué" + +# DB - Contenu des c-formats : Imprimante puis Port. +#, c-format +msgid "to %s on %s" +msgstr "vers %s sur %s" + +#, c-format +msgid "E613: Unknown printer font: %s" +msgstr "E613: Police d'imprimante inconnue : %s" + +#, c-format +msgid "E238: Print error: %s" +msgstr "E238: Erreur d'impression : %s" + +#, c-format +msgid "Printing '%s'" +msgstr "Impression de '%s'" + +#, c-format +msgid "E244: Illegal charset name \"%s\" in font name \"%s\"" +msgstr "E244: Jeu de caractères \"%s\" invalide dans le nom de fonte \"%s\"" + +#, c-format +msgid "E244: Illegal quality name \"%s\" in font name \"%s\"" +msgstr "E244: Nom de qualité \"%s\" invalide dans le nom de fonte \"%s\"" + +#, c-format +msgid "E245: Illegal char '%c' in font name \"%s\"" +msgstr "E245: Caractère '%c' invalide dans le nom de fonte \"%s\"" + +#, c-format +msgid "Opening the X display took %ld msec" +msgstr "L'ouverture du display X a pris %ld ms" + msgid "" "\n" -"Cannot execute shell " +"Vim: Got X error\n" msgstr "" "\n" -"Impossible d'exécuter le shell " +"Vim : Réception d'une erreur X\n" + +msgid "Testing the X display failed" +msgstr "Le test du display X a échoué" + +msgid "Opening the X display timed out" +msgstr "L'ouverture du display X a dépassé le délai d'attente" + +msgid "" +"\n" +"Could not get security context for " +msgstr "" +"\n" +"Impossible d'obtenir le contexte de sécurité pour " + +msgid "" +"\n" +"Could not set security context for " +msgstr "" +"\n" +"Impossible de modifier le contexte de sécurité pour " + +#, c-format +msgid "Could not set security context %s for %s" +msgstr "Impossible d'initialiser le contexte de sécurité %s pour %s" + +#, c-format +msgid "Could not get security context %s for %s. Removing it!" +msgstr "" +"Impossible d'obtenir le contexte de sécurité %s pour %s. Il sera supprimé !" + +msgid "" +"\n" +"Cannot execute shell sh\n" +msgstr "" +"\n" +"Impossible d'exécuter le shell sh\n" msgid "" "\n" @@ -3978,25 +4785,99 @@ msgstr "" msgid "" "\n" -"Could not get security context for " +"Cannot create pipes\n" msgstr "" "\n" -"Impossible d'obtenir le contexte de sécurité pour " +"Impossible de créer des tuyaux (pipes)\n" msgid "" "\n" -"Could not set security context for " +"Cannot fork\n" msgstr "" "\n" -"Impossible de modifier le contexte de sécurité pour " +"Impossible de forker\n" + +msgid "" +"\n" +"Cannot execute shell " +msgstr "" +"\n" +"Impossible d'exécuter le shell " + +msgid "" +"\n" +"Command terminated\n" +msgstr "" +"\n" +"Commande interrompue\n" + +msgid "XSMP lost ICE connection" +msgstr "XSMP a perdu la connexion ICE" #, c-format msgid "dlerror = \"%s\"" msgstr "dlerror = \"%s\"" +msgid "Opening the X display failed" +msgstr "L'ouverture du display X a échoué" + +msgid "XSMP handling save-yourself request" +msgstr "XSMP : prise en charge d'une requête save-yourself" + +msgid "XSMP opening connection" +msgstr "XSMP : ouverture de la connexion" + +msgid "XSMP ICE connection watch failed" +msgstr "XSMP : échec de la surveillance de connexion ICE" + #, c-format -msgid "E447: Can't find file \"%s\" in path" -msgstr "E447: Le fichier \"%s\" est introuvable dans 'path'" +msgid "XSMP SmcOpenConnection failed: %s" +msgstr "XSMP : SmcOpenConnection a échoué : %s" + +msgid "At line" +msgstr "À la ligne" + +msgid "Could not load vim32.dll!" +msgstr "Impossible de charger vim32.dll !" + +msgid "VIM Error" +msgstr "Erreur VIM" + +msgid "Could not fix up function pointers to the DLL!" +msgstr "Impossible d'initialiser les pointeurs de fonction vers la DLL !" + +# DB - Les événements en question sont ceux des messages qui suivent. +#, c-format +msgid "Vim: Caught %s event\n" +msgstr "Vim : Événement %s intercepté\n" + +msgid "close" +msgstr "de fermeture" + +msgid "logoff" +msgstr "de déconnexion" + +msgid "shutdown" +msgstr "d'arrêt" + +msgid "E371: Command not found" +msgstr "E371: Commande introuvable" + +msgid "" +"VIMRUN.EXE not found in your $PATH.\n" +"External commands will not pause after completion.\n" +"See :help win32-vimrun for more information." +msgstr "" +"VIMRUN.EXE est introuvable votre $PATH.\n" +"Les commandes externes ne feront pas de pause une fois terminées.\n" +"Consultez :help win32-vimrun pour plus d'informations." + +msgid "Vim Warning" +msgstr "Alerte Vim" + +#, c-format +msgid "shell returned %d" +msgstr "le shell a retourné %d" #, c-format msgid "E372: Too many %%%c in format string" @@ -4031,6 +4912,15 @@ msgstr "E379: Nom de répertoire vide ou absent" msgid "E553: No more items" msgstr "E553: Plus d'éléments" +msgid "E924: Current window was closed" +msgstr "E924: La fenêtre courante doit être fermée" + +msgid "E925: Current quickfix was changed" +msgstr "E925: Le quickfix courant a changé" + +msgid "E926: Current location list was changed" +msgstr "E926: La liste d'emplacements courante a changé" + #, c-format msgid "(%d of %d)%s%s: " msgstr "(%d sur %d)%s%s : " @@ -4038,19 +4928,25 @@ msgstr "(%d sur %d)%s%s : " msgid " (line deleted)" msgstr " (ligne effacée)" +#, c-format +msgid "%serror list %d of %d; %d errors " +msgstr "%sliste d'erreurs %d sur %d ; %d erreurs" + msgid "E380: At bottom of quickfix stack" msgstr "E380: En bas de la pile quickfix" msgid "E381: At top of quickfix stack" msgstr "E381: Au sommet de la pile quickfix" -#, c-format -msgid "error list %d of %d; %d errors" -msgstr "liste d'erreurs %d sur %d ; %d erreurs" +msgid "No entries" +msgstr "Aucune entrée" msgid "E382: Cannot write, 'buftype' option is set" msgstr "E382: Écriture impossible, l'option 'buftype' est activée" +msgid "Error file" +msgstr "Fichier d'erreurs" + msgid "E683: File name missing or invalid pattern" msgstr "E683: Nom de fichier manquant ou motif invalide" @@ -4155,6 +5051,10 @@ msgstr "E554: Erreur de syntaxe dans %s{...}" msgid "External submatches:\n" msgstr "Sous-correspondances externes :\n" +#, c-format +msgid "E888: (NFA regexp) cannot repeat %s" +msgstr "E888: (regexp NFA) %s ne peut pas être répété" + msgid "" "E864: \\%#= can only be followed by 0, 1, or 2. The automatic engine will be " "used " @@ -4162,6 +5062,9 @@ msgstr "" "E864: \\%#= peut être suivi uniquement de 0, 1 ou 2. Le moteur automatique " "sera utilisé " +msgid "Switching to backtracking RE engine for pattern: " +msgstr "Moteur RE avec backtracking utilisé pour le motif : " + msgid "E865: (NFA) Regexp end encountered prematurely" msgstr "E865: (NFA) Fin de regexp rencontrée prématurément" @@ -4169,17 +5072,21 @@ msgstr "E865: (NFA) Fin de regexp rencontrée prématurément" msgid "E866: (NFA regexp) Misplaced %c" msgstr "E866: (regexp NFA) %c au mauvais endroit" -#, fuzzy, c-format -#~ msgid "E877: (NFA regexp) Invalid character class: %<PRId64>" -#~ msgstr "E877: (regexp NFA) Classe de caractère invalide " +#, c-format +msgid "E877: (NFA regexp) Invalid character class: %ld" +msgstr "E877: (regexp NFA) Classe de caractère invalide : %ld" #, c-format msgid "E867: (NFA) Unknown operator '\\z%c'" msgstr "E867: (NFA) Opérateur inconnu '\\z%c'" -#, fuzzy, c-format -#~ msgid "E867: (NFA) Unknown operator '\\%%%c'" -#~ msgstr "E867: (NFA) Opérateur inconnu '\\z%c'" +#, c-format +msgid "E867: (NFA) Unknown operator '\\%%%c'" +msgstr "E867: (NFA) Opérateur inconnu '\\%%%c'" + +#. should never happen +msgid "E868: Error building NFA with equivalence class!" +msgstr "E868: Erreur lors de la construction du NFA avec classe d'équivalence" #, c-format msgid "E869: (NFA) Unknown operator '\\@%c'" @@ -4196,9 +5103,8 @@ msgstr "E871: (regexp NFA) Un multi ne peut pas suivre un multi !" msgid "E872: (NFA regexp) Too many '('" msgstr "E872: (regexp NFA) Trop de '('" -#, fuzzy -#~ msgid "E879: (NFA regexp) Too many \\z(" -#~ msgstr "E872: (regexp NFA) Trop de '('" +msgid "E879: (NFA regexp) Too many \\z(" +msgstr "E879: (regexp NFA) Trop de \\z(" msgid "E873: (NFA regexp) proper termination error" msgstr "E873: (NFA regexp) erreur de terminaison" @@ -4216,6 +5122,10 @@ msgstr "" msgid "E876: (NFA regexp) Not enough space to store the whole NFA " msgstr "E876: (regexp NFA) Pas assez de mémoire pour stocker le NFA" +msgid "E878: (NFA) Could not allocate memory for branch traversal!" +msgstr "" +"E878: (NFA) Impossible d'allouer la mémoire pour parcourir les branches !" + msgid "" "Could not open temporary log file for writing, displaying on stderr ... " msgstr "" @@ -4257,9 +5167,6 @@ msgstr " hébreu" msgid " Arabic" msgstr " arabe" -msgid " (lang)" -msgstr " (langue)" - msgid " (paste)" msgstr " (collage)" @@ -4354,8 +5261,48 @@ msgstr "" "# Dernier motif de recherche %s :\n" "~" -msgid "E759: Format error in spell file" -msgstr "E759: Erreur de format du fichier orthographique" +msgid "E756: Spell checking is not enabled" +msgstr "E756: La vérification orthographique n'est pas activée" + +#, c-format +msgid "Warning: Cannot find word list \"%s_%s.spl\" or \"%s_ascii.spl\"" +msgstr "Alerte : Liste de mots \"%s_%s.spl\" ou \"%s_ascii.spl\" introuvable" + +#, c-format +msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\"" +msgstr "Alerte : Liste de mots \"%s.%s.spl\" ou \"%s.ascii.spl\" introuvable" + +msgid "E797: SpellFileMissing autocommand deleted buffer" +msgstr "E797: L'autocommande SpellFileMissing a effacé le tampon" + +#, c-format +msgid "Warning: region %s not supported" +msgstr "Alerte : région %s non supportée" + +msgid "Sorry, no suggestions" +msgstr "Désolé, aucune suggestion" + +#, c-format +msgid "Sorry, only %ld suggestions" +msgstr "Désolé, seulement %ld suggestions" + +#. for when 'cmdheight' > 1 +#. avoid more prompt +#, c-format +msgid "Change \"%.*s\" to:" +msgstr "Remplacer \"%.*s\" par :" + +# DB - todo : l'intérêt de traduire ce message m'échappe. +#, c-format +msgid " < \"%.*s\"" +msgstr " < \"%.*s\"" + +msgid "E752: No previous spell replacement" +msgstr "E752: Pas de suggestion orthographique précédente" + +#, c-format +msgid "E753: Not found: %s" +msgstr "E753: Introuvable : %s" msgid "E758: Truncated spell file" msgstr "E758: Fichier orthographique tronqué" @@ -4377,13 +5324,6 @@ msgstr "E762: Un caractère dans FOL, LOW ou UPP est hors-limites" msgid "Compressing word tree..." msgstr "Compression de l'arbre des mots" -msgid "E756: Spell checking is not enabled" -msgstr "E756: La vérification orthographique n'est pas activée" - -#, c-format -msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\"" -msgstr "Alerte : Liste de mots \"%s.%s.spl\" ou \"%s.ascii.spl\" introuvable" - #, c-format msgid "Reading spell file \"%s\"" msgstr "Lecture du fichier orthographique \"%s\"" @@ -4401,8 +5341,24 @@ msgid "E770: Unsupported section in spell file" msgstr "E770: Section non supportée dans le fichier orthographique" #, c-format -msgid "Warning: region %s not supported" -msgstr "Alerte : région %s non supportée" +msgid "E778: This does not look like a .sug file: %s" +msgstr "E778: %s ne semble pas être un fichier .sug" + +#, c-format +msgid "E779: Old .sug file, needs to be updated: %s" +msgstr "E779: Fichier de suggestions obsolète, mise à jour nécessaire : %s" + +#, c-format +msgid "E780: .sug file is for newer version of Vim: %s" +msgstr "E780: Fichier .sug prévu pour une version de Vim plus récente : %s" + +#, c-format +msgid "E781: .sug file doesn't match .spl file: %s" +msgstr "E781: Le fichier .sug ne correspond pas au fichier .spl : %s" + +#, c-format +msgid "E782: error while reading .sug file: %s" +msgstr "E782: Erreur lors de la lecture de fichier de suggestions : %s" #, c-format msgid "Reading affix file %s ..." @@ -4417,6 +5373,10 @@ msgid "Conversion in %s not supported: from %s to %s" msgstr "La conversion dans %s non supportée : de %s vers %s" #, c-format +msgid "Conversion in %s not supported" +msgstr "La conversion dans %s non supportée" + +#, c-format msgid "Invalid value for FLAG in %s line %d: %s" msgstr "Valeur de FLAG invalide dans %s ligne %d : %s" @@ -4604,6 +5564,9 @@ msgstr "Drapeaux non reconnus dans %s ligne %d : %s" msgid "Ignored %d words with non-ASCII characters" msgstr "%d mot(s) ignoré(s) avec des caractères non-ASCII" +msgid "E845: Insufficient memory, word list will be incomplete" +msgstr "E845: mémoire insuffisante, liste de mots peut-être incomplète" + #, c-format msgid "Compressed %d of %d nodes; %d (%d%%) remaining" msgstr "%d noeuds compressés sur %d ; %d (%d%%) restants " @@ -4611,14 +5574,16 @@ msgstr "%d noeuds compressés sur %d ; %d (%d%%) restants " msgid "Reading back spell file..." msgstr "Relecture du fichier orthographique" -#. Go through the trie of good words, soundfold each word and add it to -#. the soundfold trie. +#. +#. * Go through the trie of good words, soundfold each word and add it to +#. * the soundfold trie. +#. msgid "Performing soundfolding..." msgstr "Analyse phonétique en cours..." #, c-format -msgid "Number of words after soundfolding: %<PRId64>" -msgstr "Nombre de mots après l'analyse phonétique : %<PRId64>" +msgid "Number of words after soundfolding: %ld" +msgstr "Nombre de mots après l'analyse phonétique : %ld" #, c-format msgid "Total number of words: %d" @@ -4654,70 +5619,25 @@ msgstr "Terminé !" # DB - todo : perfectible. #, c-format -msgid "E765: 'spellfile' does not have %<PRId64> entries" -msgstr "E765: 'spellfile' n'a pas %<PRId64> entrées" +msgid "E765: 'spellfile' does not have %ld entries" +msgstr "E765: 'spellfile' n'a pas %ld entrées" -#, fuzzy, c-format -#~ msgid "Word '%.*s' removed from %s" -#~ msgstr "Mot retiré de %s" +#, c-format +msgid "Word '%.*s' removed from %s" +msgstr "Mot '%.*s' retiré de %s" -#, fuzzy, c-format -#~ msgid "Word '%.*s' added to %s" -#~ msgstr "Mot ajouté dans %s" +#, c-format +msgid "Word '%.*s' added to %s" +msgstr "Mot '%.*s' ajouté dans %s" msgid "E763: Word characters differ between spell files" msgstr "" "E763: Les caractères de mots diffèrent entre les fichiers orthographiques" -msgid "Sorry, no suggestions" -msgstr "Désolé, aucune suggestion" - -#, c-format -msgid "Sorry, only %<PRId64> suggestions" -msgstr "Désolé, seulement %<PRId64> suggestions" - -#. for when 'cmdheight' > 1 -#. avoid more prompt -#, c-format -msgid "Change \"%.*s\" to:" -msgstr "Remplacer \"%.*s\" par :" - -# DB - todo : l'intérêt de traduire ce message m'échappe. -#, c-format -msgid " < \"%.*s\"" -msgstr " < \"%.*s\"" - -msgid "E752: No previous spell replacement" -msgstr "E752: Pas de suggestion orthographique précédente" - -#, c-format -msgid "E753: Not found: %s" -msgstr "E753: Introuvable : %s" - -#, c-format -msgid "E778: This does not look like a .sug file: %s" -msgstr "E778: %s ne semble pas être un fichier .sug" - -#, c-format -msgid "E779: Old .sug file, needs to be updated: %s" -msgstr "E779: Fichier de suggestions obsolète, mise à jour nécessaire : %s" - -#, c-format -msgid "E780: .sug file is for newer version of Vim: %s" -msgstr "E780: Fichier .sug prévu pour une version de Vim plus récente : %s" - -#, c-format -msgid "E781: .sug file doesn't match .spl file: %s" -msgstr "E781: Le fichier .sug ne correspond pas au fichier .spl : %s" - -#, c-format -msgid "E782: error while reading .sug file: %s" -msgstr "E782: Erreur lors de la lecture de fichier de suggestions : %s" - #. This should have been checked when generating the .spl -#. file. +#. * file. msgid "E783: duplicate char in MAP entry" -msgstr "E783: caractères dupliqué dans l'entrée MAP" +msgstr "E783: caractère dupliqué dans l'entrée MAP" msgid "No Syntax items defined for this buffer" msgstr "Aucun élément de syntaxe défini pour ce tampon" @@ -4726,6 +5646,9 @@ msgstr "Aucun élément de syntaxe défini pour ce tampon" msgid "E390: Illegal argument: %s" msgstr "E390: Argument invalide : %s" +msgid "syntax iskeyword " +msgstr "syntaxe iskeyword " + #, c-format msgid "E391: No such syntax cluster: %s" msgstr "E391: Aucune grappe de syntaxe %s" @@ -4806,6 +5729,10 @@ msgid "E789: Missing ']': %s" msgstr "E789: ']' manquant : %s" #, c-format +msgid "E890: trailing char after ']': %s]%s" +msgstr "E890: Caractère surnuméraire après ']': %s]%s" + +#, c-format msgid "E398: Missing '=': %s" msgstr "E398: '=' manquant : %s" @@ -4819,7 +5746,6 @@ msgstr "E848: Trop de grappes de syntaxe" msgid "E400: No cluster specified" msgstr "E400: Aucune grappe spécifiée" -#. end delimiter not found #, c-format msgid "E401: Pattern delimiter not found: %s" msgstr "E401: Délimiteur de motif introuvable : %s" @@ -4860,9 +5786,10 @@ msgstr "E409: Nom de groupe inconnu : %s" msgid "E410: Invalid :syntax subcommand: %s" msgstr "E410: Sous-commande de :syntax invalide : %s" -#~ msgid "" -#~ " TOTAL COUNT MATCH SLOWEST AVERAGE NAME PATTERN" -#~ msgstr "" +msgid "" +" TOTAL COUNT MATCH SLOWEST AVERAGE NAME PATTERN" +msgstr "" +" TOTAL NOMBRE MATCH PLUS LENT MOYEN NOM MOTIF" msgid "E679: recursive loop loading syncolor.vim" msgstr "E679: boucle récursive lors du chargement de syncolor.vim" @@ -4985,6 +5912,10 @@ msgstr "" msgid "Searching tags file %s" msgstr "Examen du fichier de marqueurs %s" +#, c-format +msgid "E430: Tag file path truncated for %s\n" +msgstr "E430: Chemin de fichiers de marqueurs tronqué pour %s\n" + msgid "Ignoring long line in tags file" msgstr "Ignore longue ligne dans le fichier de marqueurs" @@ -4993,8 +5924,8 @@ msgid "E431: Format error in tags file \"%s\"" msgstr "E431: Erreur de format dans le fichier de marqueurs \"%s\"" #, c-format -msgid "Before byte %<PRId64>" -msgstr "Avant l'octet %<PRId64>" +msgid "Before byte %ld" +msgstr "Avant l'octet %ld" #, c-format msgid "E432: Tags file not sorted: %s" @@ -5045,14 +5976,28 @@ msgstr "" "\n" "--- Touches du terminal ---" +msgid "Cannot open $VIMRUNTIME/rgb.txt" +msgstr "Impossible d'ouvrir $VIMRUNTIME/rgb.txt" + +msgid "new shell started\n" +msgstr "nouveau shell démarré\n" + msgid "Vim: Error reading input, exiting...\n" msgstr "Vim : Erreur lors de la lecture de l'entrée, sortie...\n" +# DB - Message de débogage. +msgid "Used CUT_BUFFER0 instead of empty selection" +msgstr "CUT_BUFFER0 utilisé plutôt qu'une sélection vide" + #. This happens when the FileChangedRO autocommand changes the #. * file in a way it becomes shorter. -#, fuzzy -#~ msgid "E881: Line count changed unexpectedly" -#~ msgstr "E834: Le nombre de lignes a été changé inopinément" +msgid "E881: Line count changed unexpectedly" +msgstr "E881: Le nombre de lignes a été changé inopinément" + +# DB - Question O/N. +#. must display the prompt +msgid "No undo possible; continue anyway" +msgstr "Annulation impossible ; continuer" #, c-format msgid "E828: Cannot open undo file for writing: %s" @@ -5103,6 +6048,18 @@ msgid "E823: Not an undo file: %s" msgstr "E823: Ce n'est pas un fichier d'annulations : %s" #, c-format +msgid "E832: Non-encrypted file has encrypted undo file: %s" +msgstr "E832: Fichier non-chiffré a un fichier d'annulations chiffré : %s" + +#, c-format +msgid "E826: Undo file decryption failed: %s" +msgstr "E826: Déchiffrage du fichier d'annulation a échoué : %s" + +#, c-format +msgid "E827: Undo file is encrypted: %s" +msgstr "E827: Le fichier d'annulations est chiffré : %s" + +#, c-format msgid "E824: Incompatible undo file: %s" msgstr "E824: Fichier d'annulations incompatible : %s" @@ -5122,8 +6079,8 @@ msgid "Already at newest change" msgstr "Déjà à la modification la plus récente" #, c-format -msgid "E830: Undo number %<PRId64> not found" -msgstr "E830: Annulation n° %<PRId64> introuvable" +msgid "E830: Undo number %ld not found" +msgstr "E830: Annulation n° %ld introuvable" msgid "E438: u_undo: line numbers wrong" msgstr "E438: u_undo : numéros de ligne erronés" @@ -5147,8 +6104,8 @@ msgid "changes" msgstr "modifications" #, c-format -msgid "%<PRId64> %s; %s #%<PRId64> %s" -msgstr "%<PRId64> %s ; %s #%<PRId64> ; %s" +msgid "%ld %s; %s #%ld %s" +msgstr "%ld %s ; %s #%ld ; %s" msgid "before" msgstr "avant" @@ -5164,8 +6121,8 @@ msgid "number changes when saved" msgstr "numéro modif. instant enregistré" #, c-format -msgid "%<PRId64> seconds ago" -msgstr "il y a %<PRId64> secondes" +msgid "%ld seconds ago" +msgstr "il y a %ld secondes" msgid "E790: undojoin is not allowed after undo" msgstr "E790: undojoin n'est pas autorisé après une annulation" @@ -5176,6 +6133,208 @@ msgstr "E439: la liste d'annulation est corrompue" msgid "E440: undo line missing" msgstr "E440: ligne d'annulation manquante" +#, c-format +msgid "E122: Function %s already exists, add ! to replace it" +msgstr "E122: La fonction %s existe déjà (ajoutez ! pour la remplacer)" + +msgid "E717: Dictionary entry already exists" +msgstr "E717: Une entrée du Dictionnaire porte déjà ce nom" + +msgid "E718: Funcref required" +msgstr "E718: Référence de fonction (Funcref) requise" + +#, c-format +msgid "E130: Unknown function: %s" +msgstr "E130: Fonction inconnue : %s" + +#, c-format +msgid "E125: Illegal argument: %s" +msgstr "E125: Argument invalide : %s" + +#, c-format +msgid "E853: Duplicate argument name: %s" +msgstr "E853: Nom d'argument dupliqué : %s" + +#, c-format +msgid "E740: Too many arguments for function %s" +msgstr "E740: Trop d'arguments pour la fonction %s" + +#, c-format +msgid "E116: Invalid arguments for function %s" +msgstr "E116: Arguments invalides pour la fonction %s" + +# AB - Vérifier dans la littérature technique s'il n'existe pas une meilleure +# traduction pour "function call depth". +msgid "E132: Function call depth is higher than 'maxfuncdepth'" +msgstr "" +"E132: La profondeur d'appel de fonction est supérieure à 'maxfuncdepth'" + +# AB - Ce texte fait partie d'un message de débogage. +#, c-format +msgid "calling %s" +msgstr "appel de %s" + +# AB - Vérifier. +#, c-format +msgid "%s aborted" +msgstr "%s annulée" + +# AB - Ce texte fait partie d'un message de débogage. +#, c-format +msgid "%s returning #%ld" +msgstr "%s a retourné #%ld" + +# AB - Ce texte fait partie d'un message de débogage. +#, c-format +msgid "%s returning %s" +msgstr "%s a retourné \"%s\"" + +msgid "E699: Too many arguments" +msgstr "E699: Trop d'arguments" + +#, c-format +msgid "E117: Unknown function: %s" +msgstr "E117: Fonction inconnue : %s" + +#, c-format +msgid "E933: Function was deleted: %s" +msgstr "E933: La fonction a été effacée: %s" + +#, c-format +msgid "E119: Not enough arguments for function: %s" +msgstr "E119: La fonction %s n'a pas reçu assez d'arguments" + +#, c-format +msgid "E120: Using <SID> not in a script context: %s" +msgstr "E120: <SID> utilisé en dehors d'un script : %s" + +#, c-format +msgid "E725: Calling dict function without Dictionary: %s" +msgstr "E725: Appel d'une fonction « dict » sans Dictionnaire : %s" + +msgid "E129: Function name required" +msgstr "E129: Nom de fonction requis" + +#, c-format +msgid "E128: Function name must start with a capital or \"s:\": %s" +msgstr "" +"E128: Le nom de la fonction doit commencer par une majuscule ou \"s:\": %s" + +#, c-format +msgid "E884: Function name cannot contain a colon: %s" +msgstr "" +"E884: Le nom de la fonction ne peut pas contenir le caractère deux-points : " +"%s" + +#, c-format +msgid "E123: Undefined function: %s" +msgstr "E123: Fonction non définie : %s" + +# AB - La version française est plus consistante que la version anglaise. +# AB - Je suis partagé entre la concision d'une traduction assez littérale et +# la lourdeur d'une traduction plus correcte. +#, c-format +msgid "E124: Missing '(': %s" +msgstr "E124: Il manque '(' après %s" + +msgid "E862: Cannot use g: here" +msgstr "E862: Impossible d'utiliser g: ici" + +#, c-format +msgid "E932: Closure function should not be at top level: %s" +msgstr "" +"E932: une fonction fermeture ne devrait pas être au niveau principal : %s" + +msgid "E126: Missing :endfunction" +msgstr "E126: Il manque :endfunction" + +#, c-format +msgid "E707: Function name conflicts with variable: %s" +msgstr "E707: Le nom de fonction entre en conflit avec la variable : %s" + +#, c-format +msgid "E127: Cannot redefine function %s: It is in use" +msgstr "E127: Impossible de redéfinir fonction %s : déjà utilisée" + +# DB - Le contenu du "c-format" est le nom de la fonction. +#, c-format +msgid "E746: Function name does not match script file name: %s" +msgstr "E746: Le nom de la fonction %s ne correspond pas le nom du script" + +# AB - Il est difficile de créer une version française qui fasse moins de 80 +# caractères de long, nom de la fonction compris : "It is in use" est une +# expression très dense. Traductions possibles : "elle est utilisée", +# "elle s'exécute" ou "elle est occupée". +#, c-format +msgid "E131: Cannot delete function %s: It is in use" +msgstr "E131: Impossible d'effacer %s : cette fonction est utilisée" + +msgid "E133: :return not inside a function" +msgstr "E133: :return en dehors d'une fonction" + +#, c-format +msgid "E107: Missing parentheses: %s" +msgstr "E107: Parenthèses manquantes : %s" + +msgid "" +"\n" +"MS-Windows 64-bit GUI version" +msgstr "" +"\n" +"Version graphique MS-Windows 64 bits" + +msgid "" +"\n" +"MS-Windows 32-bit GUI version" +msgstr "" +"\n" +"Version graphique MS-Windows 32 bits" + +msgid " with OLE support" +msgstr " supportant l'OLE" + +msgid "" +"\n" +"MS-Windows 64-bit console version" +msgstr "" +"\n" +"Version console MS-Windows 64 bits" + +msgid "" +"\n" +"MS-Windows 32-bit console version" +msgstr "" +"\n" +"Version console MS-Windows 32 bits" + +msgid "" +"\n" +"MacOS X (unix) version" +msgstr "" +"\n" +"Version MaxOS X (unix)" + +msgid "" +"\n" +"MacOS X version" +msgstr "" +"\n" +"Version MacOS X" + +msgid "" +"\n" +"MacOS version" +msgstr "" +"\n" +"Version MacOS" + +msgid "" +"\n" +"OpenVMS version" +msgstr "" +"\n" +"Version OpenVMS" + msgid "" "\n" "Included patches: " @@ -5210,9 +6369,70 @@ msgstr "" "\n" "Énorme version " +msgid "" +"\n" +"Big version " +msgstr "" +"\n" +"Grosse version " + +msgid "" +"\n" +"Normal version " +msgstr "" +"\n" +"Version normale " + +msgid "" +"\n" +"Small version " +msgstr "" +"\n" +"Petite version " + +msgid "" +"\n" +"Tiny version " +msgstr "" +"\n" +"Version minuscule " + msgid "without GUI." msgstr "sans interface graphique." +msgid "with GTK3 GUI." +msgstr "avec interface graphique GTK3." + +msgid "with GTK2-GNOME GUI." +msgstr "avec interface graphique GTK2-GNOME." + +msgid "with GTK2 GUI." +msgstr "avec interface graphique GTK2." + +msgid "with X11-Motif GUI." +msgstr "avec interface graphique X11-Motif." + +msgid "with X11-neXtaw GUI." +msgstr "avec interface graphique X11-neXtaw." + +msgid "with X11-Athena GUI." +msgstr "avec interface graphique X11-Athena." + +msgid "with Photon GUI." +msgstr "avec interface graphique Photon." + +msgid "with GUI." +msgstr "avec une interface graphique." + +msgid "with Carbon GUI." +msgstr "avec interface graphique Carbon." + +msgid "with Cocoa GUI." +msgstr "avec interface graphique Cocoa." + +msgid "with (classic) GUI." +msgstr "avec interface graphique (classic)." + msgid " Features included (+) or not (-):\n" msgstr " Fonctionnalités incluses (+) ou non (-) :\n" @@ -5234,6 +6454,24 @@ msgstr " fichier exrc utilisateur : \"" msgid " 2nd user exrc file: \"" msgstr " 2me fichier exrc utilisateur : \"" +msgid " system gvimrc file: \"" +msgstr " fichier gvimrc système : \"" + +msgid " user gvimrc file: \"" +msgstr " fichier gvimrc utilisateur : \"" + +msgid "2nd user gvimrc file: \"" +msgstr "2me fichier gvimrc utilisateur : \"" + +msgid "3rd user gvimrc file: \"" +msgstr "3me fichier gvimrc utilisateur : \"" + +msgid " defaults file: \"" +msgstr " fichier de valeurs par défaut : \"" + +msgid " system menu file: \"" +msgstr " fichier menu système : \"" + msgid " fall-back for $VIM: \"" msgstr " $VIM par défaut : \"" @@ -5243,6 +6481,9 @@ msgstr " $VIMRUNTIME par défaut : \"" msgid "Compilation: " msgstr "Compilation : " +msgid "Compiler: " +msgstr "Compilateur : " + msgid "Linking: " msgstr "Édition de liens : " @@ -5264,26 +6505,17 @@ msgstr "Vim est un logiciel libre" msgid "Help poor children in Uganda!" msgstr "Aidez les enfants pauvres d'Ouganda !" -msgid "type :help nvim<Enter> if you are new! " -msgstr "tapez :help nvim<Entrée> si vous êtes nouveau! " - -msgid "type :CheckHealth<Enter> to optimize Nvim" -msgstr "tapez :CheckHealth<Entrée> pour optimiser Nvim " +msgid "type :help iccf<Enter> for information " +msgstr "tapez :help iccf<Entrée> pour plus d'informations " msgid "type :q<Enter> to exit " msgstr "tapez :q<Entrée> pour sortir du programme " -msgid "type :help<Enter> for help " -msgstr "tapez :help<Entrée> pour obtenir de l'aide " - -msgid "type :help iccf<Enter> for information " -msgstr "tapez :help iccf<Entrée> pour plus d'informations " - msgid "type :help<Enter> or <F1> for on-line help" msgstr "tapez :help<Entrée> ou <F1> pour accéder à l'aide en ligne " -msgid "type :help version7<Enter> for version info" -msgstr "tapez :help version7<Entrée> pour lire les notes de mise à jour" +msgid "type :help version8<Enter> for version info" +msgstr "tapez :help version8<Entrée> pour lire les notes de mise à jour" # DB - Pour les trois messages qui suivent : # :set cp @@ -5297,6 +6529,27 @@ msgstr "tapez :set nocp<Entrée> pour la désactiver" msgid "type :help cp-default<Enter> for info on this" msgstr "tapez :help cp-default<Entrée> pour plus d'info" +msgid "menu Help->Orphans for information " +msgstr "menu Aide->Orphelins pour plus d'info" + +msgid "Running modeless, typed text is inserted" +msgstr "Les modes sont désactivés, le texte saisi est inséré" + +msgid "menu Edit->Global Settings->Toggle Insert Mode " +msgstr "menu Édition->Réglages Globaux->Insertion Permanente" + +# DB - todo +msgid " for two modes " +msgstr " pour les modes " + +# DB - todo +msgid "menu Edit->Global Settings->Toggle Vi Compatible" +msgstr "menu Édition->Réglages Globaux->Compatibilité Vi" + +# DB - todo +msgid " for Vim defaults " +msgstr " pour déf. de Vim " + msgid "Sponsor Vim development!" msgstr "Sponsorisez le développement de Vim !" @@ -5341,1711 +6594,724 @@ msgstr "E445: Les modifications de l'autre fenêtre n'ont pas été enregistrées" msgid "E446: No file name under cursor" msgstr "E446: Aucun nom de fichier sous le curseur" -#~ msgid "E831: bf_key_init() called with empty password" -#~ msgstr "E831: bf_key_init() appelée avec un mot de passe vide" - -#~ msgid "E820: sizeof(uint32_t) != 4" -#~ msgstr "E820: sizeof(uint32_t) != 4" - -#~ msgid "E817: Blowfish big/little endian use wrong" -#~ msgstr "E817: petit/gros boutisme incorrect dans blowfish" - -#~ msgid "E818: sha256 test failed" -#~ msgstr "E818: le test de sha256 a échoué" - -#~ msgid "E819: Blowfish test failed" -#~ msgstr "E819: le test de blowfish a échoué" - -#~ msgid "Patch file" -#~ msgstr "Fichier rustine" - -# AB - Textes des boutons de la boîte de dialogue affichée par inputdialog(). -#~ msgid "" -#~ "&OK\n" -#~ "&Cancel" -#~ msgstr "" -#~ "&Ok\n" -#~ "&Annuler" - -# AB - À mon avis, la version anglaise est erronée. -# DB : Vérifier -#~ msgid "E240: No connection to Vim server" -#~ msgstr "E240: Pas de connexion au serveur X" - -# AB - La version française est meilleure que la version anglaise. -#~ msgid "E241: Unable to send to %s" -#~ msgstr "E241: L'envoi au serveur %s à échoué" - -#~ msgid "E277: Unable to read a server reply" -#~ msgstr "E277: Impossible de lire la réponse du serveur" - -# AB - La version française est meilleure que la version anglaise. -#~ msgid "E258: Unable to send to client" -#~ msgstr "E258: La réponse n'a pas pu être envoyée au client" - -# AB - Ceci est un titre de boîte de dialogue. Vérifier que la version -# française est correcte pour les trois références ; j'ai un doute quant -# à la troisième. -#~ msgid "Save As" -#~ msgstr "Enregistrer sous - Vim" - -# AB - Ceci est un titre de boîte de dialogue. -#~ msgid "Edit File" -#~ msgstr "Ouvrir un fichier - Vim" - -#~ msgid " (NOT FOUND)" -#~ msgstr " (INTROUVABLE)" - -#~ msgid "Source Vim script" -#~ msgstr "Sourcer un script - Vim" - -#~ msgid "unknown" -#~ msgstr "inconnu" - -#~ msgid "Edit File in new window" -#~ msgstr "Ouvrir un fichier dans une nouvelle fenêtre - Vim" - -#~ msgid "Append File" -#~ msgstr "Ajouter fichier" - -#~ msgid "Window position: X %d, Y %d" -#~ msgstr "Position de la fenêtre : X %d, Y %d" - -#~ msgid "Save Redirection" -#~ msgstr "Enregistrer la redirection" - -#~ msgid "Save View" -#~ msgstr "Enregistrer la vue - Vim" - -#~ msgid "Save Session" -#~ msgstr "Enregistrer la session - Vim" - -#~ msgid "Save Setup" -#~ msgstr "Enregistrer les réglages - Vim" - -#~ msgid "E809: #< is not available without the +eval feature" -#~ msgstr "E809: #< n'est pas disponible sans la fonctionnalité +eval" - -#~ msgid "E196: No digraphs in this version" -#~ msgstr "E196: Pas de digraphes dans cette version" - -#~ msgid "is a device (disabled with 'opendevice' option)" -#~ msgstr "est un périphérique (désactivé par l'option 'opendevice')" - -#~ msgid "Reading from stdin..." -#~ msgstr "Lecture de stdin..." - -#~ msgid "[crypted]" -#~ msgstr "[chiffré]" - -#~ msgid "E821: File is encrypted with unknown method" -#~ msgstr "E821: Le fichier est chiffré avec une méthode inconnue" - -#~ msgid "NetBeans disallows writes of unmodified buffers" -#~ msgstr "NetBeans interdit l'écriture des tampons non modifiés" - -#~ msgid "Partial writes disallowed for NetBeans buffers" -#~ msgstr "Netbeans interdit l'écriture partielle de ses tampons" - -#~ msgid "writing to device disabled with 'opendevice' option" -#~ msgstr "écriture vers un périphérique désactivé par l'option 'opendevice'" - -#~ msgid "E460: The resource fork would be lost (add ! to override)" -#~ msgstr "" -#~ "E460: Les ressources partagées seraient perdues (ajoutez ! pour passer " -#~ "outre)" - -#~ msgid "E851: Failed to create a new process for the GUI" -#~ msgstr "" -#~ "E851: Échec lors de la création d'un nouveau processus pour l'interface " -#~ "graphique" - -#~ msgid "E852: The child process failed to start the GUI" -#~ msgstr "" -#~ "E852: Le processus fils n'a pas réussi à démarrer l'interface graphique" - -#~ msgid "E229: Cannot start the GUI" -#~ msgstr "E229: Impossible de démarrer l'interface graphique" - -#~ msgid "E230: Cannot read from \"%s\"" -#~ msgstr "E230: Impossible de lire \"%s\"" - -#~ msgid "E665: Cannot start GUI, no valid font found" -#~ msgstr "" -#~ "E665: Impossible de démarrer l'IHM graphique, aucune police valide trouvée" - -#~ msgid "E231: 'guifontwide' invalid" -#~ msgstr "E231: 'guifontwide' est invalide" - -#~ msgid "E599: Value of 'imactivatekey' is invalid" -#~ msgstr "E599: Valeur de 'imactivatekey' invalide" - -#~ msgid "E254: Cannot allocate color %s" -#~ msgstr "E254: Impossible d'allouer la couleur %s" - -#~ msgid "No match at cursor, finding next" -#~ msgstr "Aucune correspondance sous le curseur, recherche de la suivante" - -#~ msgid "<cannot open> " -#~ msgstr "<impossible d'ouvrir> " - -#~ msgid "E616: vim_SelFile: can't get font %s" -#~ msgstr "E616: vim_SelFile : impossible d'obtenir la police %s" - -#~ msgid "E614: vim_SelFile: can't return to current directory" -#~ msgstr "" -#~ "E614: vim_SelFile : impossible de revenir dans le répertoire courant" - -#~ msgid "Pathname:" -#~ msgstr "Chemin :" - -#~ msgid "E615: vim_SelFile: can't get current directory" -#~ msgstr "E615: vim_SelFile : impossible d'obtenir le répertoire courant" - -#~ msgid "OK" -#~ msgstr "Ok" - -#~ msgid "Cancel" -#~ msgstr "Annuler" - -#~ msgid "Scrollbar Widget: Could not get geometry of thumb pixmap." -#~ msgstr "" -#~ "Widget scrollbar : Impossible d'obtenir la géométrie du pixmap 'thumb'" - -#~ msgid "Vim dialog" -#~ msgstr "Vim" - -#~ msgid "E232: Cannot create BalloonEval with both message and callback" -#~ msgstr "E232: Impossible de créer un BalloonEval avec message ET callback" - -msgid "Yes" -msgstr "Oui" - -msgid "No" -msgstr "Non" - -# todo '_' is for hotkey, i guess? -#~ msgid "Input _Methods" -#~ msgstr "_Méthodes de saisie" - -#~ msgid "VIM - Search and Replace..." -#~ msgstr "Remplacer - Vim" - -#~ msgid "VIM - Search..." -#~ msgstr "Rechercher - Vim" - -#~ msgid "Find what:" -#~ msgstr "Rechercher :" - -#~ msgid "Replace with:" -#~ msgstr "Remplacer par :" - -#~ msgid "Match whole word only" -#~ msgstr "Mots entiers seulement" - -#~ msgid "Match case" -#~ msgstr "Respecter la casse" - -#~ msgid "Direction" -#~ msgstr "Direction" - -#~ msgid "Up" -#~ msgstr "Haut" - -#~ msgid "Down" -#~ msgstr "Bas" - -#~ msgid "Find Next" -#~ msgstr "Suivant" - -#~ msgid "Replace" -#~ msgstr "Remplacer" - -#~ msgid "Replace All" -#~ msgstr "Remplacer tout" - -#~ msgid "Vim: Received \"die\" request from session manager\n" -#~ msgstr "" -#~ "Vim : Une requête \"die\" a été reçue par le gestionnaire de session\n" - -#~ msgid "Close tab" -#~ msgstr "Fermer l'onglet" - -#~ msgid "New tab" -#~ msgstr "Nouvel onglet" - -# DB - todo : un peu long. Cet entrée de menu permet d'ouvrir un fichier -# dans un nouvel onglet via le sélecteur de fichiers graphique. -#~ msgid "Open Tab..." -#~ msgstr "Ouvrir dans un onglet..." - -#~ msgid "Vim: Main window unexpectedly destroyed\n" -#~ msgstr "Vim : Fenêtre principale détruite inopinément\n" - -#~ msgid "&Filter" -#~ msgstr "&Filtrer" - -#~ msgid "&Cancel" -#~ msgstr "&Annuler" - -#~ msgid "Directories" -#~ msgstr "Répertoires" - -#~ msgid "Filter" -#~ msgstr "Filtre" - -#~ msgid "&Help" -#~ msgstr "&Aide" - -#~ msgid "Files" -#~ msgstr "Fichiers" - -#~ msgid "&OK" -#~ msgstr "&Ok" - -#~ msgid "Selection" -#~ msgstr "Sélection" - -#~ msgid "Find &Next" -#~ msgstr "Suiva&nt" - -#~ msgid "&Replace" -#~ msgstr "&Remplacer" - -#~ msgid "Replace &All" -#~ msgstr "Rempl&acer tout" - -#~ msgid "&Undo" -#~ msgstr "Ann&uler" - -#~ msgid "E671: Cannot find window title \"%s\"" -#~ msgstr "E671: Titre de fenêtre \"%s\" introuvable" - -#~ msgid "E243: Argument not supported: \"-%s\"; Use the OLE version." -#~ msgstr "E243: Argument non supporté : \"-%s\" ; Utilisez la version OLE." - -#~ msgid "E672: Unable to open window inside MDI application" -#~ msgstr "E672: Impossible d'ouvrir une fenêtre dans une application MDI" - -#~ msgid "Open tab..." -#~ msgstr "Ouvrir dans un onglet..." - -#~ msgid "Find string (use '\\\\' to find a '\\')" -#~ msgstr "Chercher une chaîne (utilisez '\\\\' pour chercher un '\\')" - -#~ msgid "Find & Replace (use '\\\\' to find a '\\')" -#~ msgstr "Chercher et remplacer (utilisez '\\\\' pour trouver un '\\')" - -# DB - Traduction non indispensable puisque le code indique qu'il s'agit d'un -# paramétrage bidon afin de sélectionner un répertoire plutôt qu'un -# fichier. -#~ msgid "Not Used" -#~ msgstr "Non utilisé" - -# DB - Traduction non indispensable puisque le code indique qu'il s'agit d'un -# paramétrage bidon afin de sélectionner un répertoire plutôt qu'un -# fichier. -#~ msgid "Directory\t*.nothing\n" -#~ msgstr "Répertoire\t*.rien\n" - -# DB - todo : perfectible. -#~ msgid "" -#~ "Vim E458: Cannot allocate colormap entry, some colors may be incorrect" -#~ msgstr "" -#~ "Vim E458: Erreur d'allocation de couleurs, couleurs possiblement " -#~ "incorrectes" - -# DB - todo : La VF est-elle compréhensible ? -#~ msgid "E250: Fonts for the following charsets are missing in fontset %s:" -#~ msgstr "" -#~ "E250: Des polices manquent dans %s pour les jeux de caractères suivants :" - -#~ msgid "E252: Fontset name: %s" -#~ msgstr "E252: Nom du jeu de polices : %s" - -#~ msgid "Font '%s' is not fixed-width" -#~ msgstr "La police '%s' n'a pas une largeur fixe" - -#~ msgid "E253: Fontset name: %s\n" -#~ msgstr "E253: Nom du jeu de polices : %s\n" - -#~ msgid "Font0: %s\n" -#~ msgstr "Font0: %s\n" - -#~ msgid "Font1: %s\n" -#~ msgstr "Font1: %s\n" - -#~ msgid "Font%<PRId64> width is not twice that of font0\n" -#~ msgstr "La largeur de Font%<PRId64> n'est pas le double de celle de Font0\n" - -#~ msgid "Font0 width: %<PRId64>\n" -#~ msgstr "Largeur de Font0 : %<PRId64>\n" - -#~ msgid "" -#~ "Font1 width: %<PRId64>\n" -#~ "\n" -#~ msgstr "" -#~ "Largeur de Font1 : %<PRId64>\n" -#~ "\n" - -# DB - todo : Pas certain de mon coup, ici... -#~ msgid "Invalid font specification" -#~ msgstr "La spécification de la police est invalide" - -#~ msgid "&Dismiss" -#~ msgstr "Aban&donner" - -# DB - todo : Pas certain de mon coup, ici... -#~ msgid "no specific match" -#~ msgstr "aucune correspondance particulière" - -#~ msgid "Vim - Font Selector" -#~ msgstr "Choisir une police - Vim" - -#~ msgid "Name:" -#~ msgstr "Nom :" - -#~ msgid "Show size in Points" -#~ msgstr "Afficher la taille en Points" - -#~ msgid "Encoding:" -#~ msgstr "Encodage :" - -#~ msgid "Font:" -#~ msgstr "Police :" - -#~ msgid "Style:" -#~ msgstr "Style :" - -#~ msgid "Size:" -#~ msgstr "Taille :" - -#~ msgid "E256: Hangul automata ERROR" -#~ msgstr "E256: ERREUR dans l'automate Hangul" - -#~ msgid "E563: stat error" -#~ msgstr "E563: Erreur stat" - -#~ msgid "E625: cannot open cscope database: %s" -#~ msgstr "E625: impossible d'ouvrir la base de données cscope %s" - -#~ msgid "E626: cannot get cscope database information" -#~ msgstr "" -#~ "E626: impossible d'obtenir des informations sur la base de données cscope" - -#~ msgid "Lua library cannot be loaded." -#~ msgstr "La bibliothèque Lua n'a pas pu être chargée." - -#~ msgid "cannot save undo information" -#~ msgstr "impossible d'enregistrer les informations d'annulation" - -#~ msgid "" -#~ "E815: Sorry, this command is disabled, the MzScheme libraries could not " -#~ "be loaded." -#~ msgstr "" -#~ "E815: Désolé, cette commande est désactivée : les bibliothèques MzScheme " -#~ "n'ont pas pu être chargées." - -#~ msgid "invalid expression" -#~ msgstr "expression invalide" - -#~ msgid "expressions disabled at compile time" -#~ msgstr "expressions désactivée lors de la compilation" - -#~ msgid "hidden option" -#~ msgstr "option cachée" - -#~ msgid "unknown option" -#~ msgstr "option inconnue" - -#~ msgid "window index is out of range" -#~ msgstr "numéro de fenêtre hors limites" - -#~ msgid "couldn't open buffer" -#~ msgstr "impossible d'ouvrir le tampon" - -#~ msgid "cannot delete line" -#~ msgstr "impossible d'effacer la ligne" - -#~ msgid "cannot replace line" -#~ msgstr "impossible de remplacer la ligne" - -#~ msgid "cannot insert line" -#~ msgstr "impossible d'insérer la ligne" - -#~ msgid "string cannot contain newlines" -#~ msgstr "une chaîne ne peut pas contenir de saut-de-ligne" - -#~ msgid "error converting Scheme values to Vim" -#~ msgstr "erreur lors de la conversion d'une valeur de Scheme à Vim" - -#~ msgid "Vim error: ~a" -#~ msgstr "Erreur Vim : ~a" - -#~ msgid "Vim error" -#~ msgstr "Erreur Vim" - -#~ msgid "buffer is invalid" -#~ msgstr "tampon invalide" - -#~ msgid "window is invalid" -#~ msgstr "fenêtre invalide" - -#~ msgid "linenr out of range" -#~ msgstr "numéro de ligne hors limites" - -#~ msgid "not allowed in the Vim sandbox" -#~ msgstr "non autorisé dans le bac à sable" - -#~ msgid "E836: This Vim cannot execute :python after using :py3" -#~ msgstr "E836: Vim ne peut pas exécuter :python après avoir utilisé :py3" - -#~ msgid "" -#~ "E263: Sorry, this command is disabled, the Python library could not be " -#~ "loaded." -#~ msgstr "" -#~ "E263: Désolé, commande désactivée : la bibliothèque Python n'a pas pu " -#~ "être chargée." - -#~ msgid "E659: Cannot invoke Python recursively" -#~ msgstr "E659: Impossible d'invoquer Python récursivement" - -#~ msgid "E837: This Vim cannot execute :py3 after using :python" -#~ msgstr "E837: Vim ne peut pas exécuter :py3 après avoir utilisé :python" - -#~ msgid "index must be int or slice" -#~ msgstr "index doit être int ou slice" - -#~ msgid "E265: $_ must be an instance of String" -#~ msgstr "E265: $_ doit être une instance de chaîne (String)" - -#~ msgid "" -#~ "E266: Sorry, this command is disabled, the Ruby library could not be " -#~ "loaded." -#~ msgstr "" -#~ "E266: Désolé, commande désactivée : la bibliothèque Ruby n'a pas pu être " -#~ "chargée." - -#~ msgid "E267: unexpected return" -#~ msgstr "E267: « return » inattendu" - -#~ msgid "E268: unexpected next" -#~ msgstr "E268: « next » inattendu" - -#~ msgid "E269: unexpected break" -#~ msgstr "E269: « break » inattendu" - -#~ msgid "E270: unexpected redo" -#~ msgstr "E270: « redo » inattendu" - -#~ msgid "E271: retry outside of rescue clause" -#~ msgstr "E271: « retry » hors d'une clause « rescue »" - -#~ msgid "E272: unhandled exception" -#~ msgstr "E272: Exception non prise en charge" - -# DB - todo -#~ msgid "E273: unknown longjmp status %d" -#~ msgstr "E273: contexte de longjmp inconnu : %d" - -#~ msgid "Toggle implementation/definition" -#~ msgstr "Basculer implémentation/définition" - -#~ msgid "Show base class of" -#~ msgstr "Montrer la classe de base de" - -#~ msgid "Show overridden member function" -#~ msgstr "Montrer les fonctions membres surchargées" - -#~ msgid "Retrieve from file" -#~ msgstr "Récupérer du fichier" - -#~ msgid "Retrieve from project" -#~ msgstr "Récupérer du projet" - -#~ msgid "Retrieve from all projects" -#~ msgstr "Récupérer de tous les projets" - -#~ msgid "Retrieve" -#~ msgstr "Récupérer" - -#~ msgid "Show source of" -#~ msgstr "Montrer source de" - -#~ msgid "Find symbol" -#~ msgstr "Trouver symbole" - -#~ msgid "Browse class" -#~ msgstr "Parcourir classe" - -#~ msgid "Show class in hierarchy" -#~ msgstr "Montrer classe dans hiérarchie" - -#~ msgid "Show class in restricted hierarchy" -#~ msgstr "Montrer classe dans hiérarchie restreinte" - -# todo -#~ msgid "Xref refers to" -#~ msgstr "Xref référence" - -#~ msgid "Xref referred by" -#~ msgstr "Xref est référencé par" - -#~ msgid "Xref has a" -#~ msgstr "Xref a un(e)" - -#~ msgid "Xref used by" -#~ msgstr "Xref utilisée par" - -#~ msgid "Show docu of" -#~ msgstr "Montrer doc de" - -#~ msgid "Generate docu for" -#~ msgstr "Générer la doc de" - -#~ msgid "" -#~ "Cannot connect to SNiFF+. Check environment (sniffemacs must be found in " -#~ "$PATH).\n" -#~ msgstr "" -#~ "Connexion à SNiFF+ impossible. Vérifiez l'environnement (sniffemacs doit " -#~ "être dans le $PATH).\n" - -#~ msgid "E274: Sniff: Error during read. Disconnected" -#~ msgstr "E274: Sniff : Erreur de lecture. Déconnexion" - -# DB - Les trois messages suivants vont ensembles. -#~ msgid "SNiFF+ is currently " -#~ msgstr "SNiFF+ est actuellement " - -#~ msgid "not " -#~ msgstr "dé" - -#~ msgid "connected" -#~ msgstr "connecté" - -#~ msgid "E275: Unknown SNiFF+ request: %s" -#~ msgstr "E275: Requête SNiFF+ inconnue : %s" - -#~ msgid "E276: Error connecting to SNiFF+" -#~ msgstr "E276: Erreur lors de la connexion à SNiFF+" - -#~ msgid "E278: SNiFF+ not connected" -#~ msgstr "E278: SNiFF+ n'est pas connecté" - -#~ msgid "E279: Not a SNiFF+ buffer" -#~ msgstr "E279: Ce tampon n'est pas un tampon SNiFF+" - -#~ msgid "Sniff: Error during write. Disconnected" -#~ msgstr "Sniff : Erreur lors d'une écriture. Déconnexion" - -#~ msgid "invalid buffer number" -#~ msgstr "numéro de tampon invalide" - -#~ msgid "not implemented yet" -#~ msgstr "pas encore implémenté" - -# DB - TODO : le contexte est celui d'une annulation. -#~ msgid "cannot set line(s)" -#~ msgstr "Impossible de remettre la/les ligne(s)" - -#~ msgid "invalid mark name" -#~ msgstr "nom de marque invalide" - -#~ msgid "mark not set" -#~ msgstr "marque non positionnée" - -#~ msgid "row %d column %d" -#~ msgstr "ligne %d colonne %d" - -#~ msgid "cannot insert/append line" -#~ msgstr "Impossible d'insérer/ajouter de lignes" - -#~ msgid "line number out of range" -#~ msgstr "numéro de ligne hors limites" - -#~ msgid "unknown flag: " -#~ msgstr "drapeau inconnu : " - -#~ msgid "unknown vimOption" -#~ msgstr "vimOption inconnue" +#, c-format +msgid "E447: Can't find file \"%s\" in path" +msgstr "E447: Le fichier \"%s\" est introuvable dans 'path'" -#~ msgid "keyboard interrupt" -#~ msgstr "interruption clavier" +#, c-format +msgid "E799: Invalid ID: %ld (must be greater than or equal to 1)" +msgstr "E799: ID invalide : %ld (doit être plus grand ou égal à 1)" -#~ msgid "vim error" -#~ msgstr "erreur Vim" +#, c-format +msgid "E801: ID already taken: %ld" +msgstr "E801: ID déjà pris: %ld" -#~ msgid "cannot create buffer/window command: object is being deleted" -#~ msgstr "" -#~ "Impossible de créer commande de tampon/fenêtre : objet en cours " -#~ "d'effacement" +msgid "List or number required" +msgstr "Liste ou nombre requis" -#~ msgid "" -#~ "cannot register callback command: buffer/window is already being deleted" -#~ msgstr "" -#~ "Impossible d'inscrire la commande de rappel : tampon/fenêtre en effacement" +#, c-format +msgid "E802: Invalid ID: %ld (must be greater than or equal to 1)" +msgstr "E802: ID invalide : %ld (doit être plus grand ou égal à 1)" -#~ msgid "" -#~ "E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-" -#~ "dev@vim.org" -#~ msgstr "" -#~ "E280: ERREUR FATALE TCL: reflist corrompue ?! Contactez vim-dev@vim.org, " -#~ "SVP." +#, c-format +msgid "E803: ID not found: %ld" +msgstr "E803: ID introuvable : %ld" -#~ msgid "cannot register callback command: buffer/window reference not found" -#~ msgstr "" -#~ "Impossible d'inscrire la commande de rappel : réf. tampon/fenêtre " -#~ "introuvable" +#, c-format +msgid "E370: Could not load library %s" +msgstr "E370: Impossible de charger la bibliothèque %s" -#~ msgid "" -#~ "E571: Sorry, this command is disabled: the Tcl library could not be " -#~ "loaded." -#~ msgstr "" -#~ "E571: Désolé, commande désactivée: la bibliothèque Tcl n'a pas pu être " -#~ "chargée." +msgid "Sorry, this command is disabled: the Perl library could not be loaded." +msgstr "" +"Désolé, commande désactivée : la bibliothèque Perl n'a pas pu être chargée." -#~ msgid "E572: exit code %d" -#~ msgstr "E572: code de sortie %d" +msgid "E299: Perl evaluation forbidden in sandbox without the Safe module" +msgstr "E299: Évaluation Perl interdite dans bac à sable sans le module Safe" -#~ msgid "cannot get line" -#~ msgstr "Impossible d'obtenir la ligne" +msgid "Edit with &multiple Vims" +msgstr "Éditer dans &plusieurs Vims" -#~ msgid "Unable to register a command server name" -#~ msgstr "Impossible d'inscrire un nom de serveur de commande" +msgid "Edit with single &Vim" +msgstr "Éditer dans un seul &Vim" -#~ msgid "E248: Failed to send command to the destination program" -#~ msgstr "E248: Échec de l'envoi de la commande au programme cible" +msgid "Diff with Vim" +msgstr "&Comparer avec Vim" -#~ msgid "E573: Invalid server id used: %s" -#~ msgstr "E573: Id utilisé pour le serveur invalide : %s" +msgid "Edit with &Vim" +msgstr "Éditer dans &Vim" -#~ msgid "E251: VIM instance registry property is badly formed. Deleted!" -#~ msgstr "" -#~ "E251: Entrée registre de l'instance de Vim mal formatée. Suppression !" +#. Now concatenate +msgid "Edit with existing Vim - " +msgstr "Éditer dans le Vim existant - " -#~ msgid "netbeans is not supported with this GUI\n" -#~ msgstr "netbeans n'est pas supporté avec cette interface graphique\n" +msgid "Edits the selected file(s) with Vim" +msgstr "Édites le(s) fichier(s) sélectionné(s) avec Vim" -#~ msgid "This Vim was not compiled with the diff feature." -#~ msgstr "Ce Vim n'a pas été compilé avec la fonctionnalité diff" +# DB - MessageBox win32, la longueur n'est pas un problème ! +msgid "Error creating process: Check if gvim is in your path!" +msgstr "" +"Erreur de création du processus : vérifiez que gvim est bien dans votre " +"chemin !" -#~ msgid "'-nb' cannot be used: not enabled at compile time\n" -#~ msgstr "'-nb' ne peut pas être utilisé : désactivé à la compilation\n" +msgid "gvimext.dll error" +msgstr "Erreur de gvimext.dll" -#~ msgid "Vim: Error: Failure to start gvim from NetBeans\n" -#~ msgstr "Vim : Erreur : Impossible de démarrer gvim depuis NetBeans\n" +msgid "Path length too long!" +msgstr "Le chemin est trop long !" -# DB - todo (VMS uniquement). -#~ msgid "" -#~ "\n" -#~ "Where case is ignored prepend / to make flag upper case" -#~ msgstr "" -#~ "\n" -#~ "pour lesquels la casse est indifférente (/ pour que le drapeau soit " -#~ "majuscule)" - -#~ msgid "-register\t\tRegister this gvim for OLE" -#~ msgstr "-register\tInscrire ce gvim pour OLE" - -#~ msgid "-unregister\t\tUnregister gvim for OLE" -#~ msgstr "-unregister\tDésinscrire gvim de OLE" - -#~ msgid "-g\t\t\tRun using GUI (like \"gvim\")" -#~ msgstr "-g\t\tLancer l'interface graphique (comme \"gvim\")" - -#~ msgid "-f or --nofork\tForeground: Don't fork when starting GUI" -#~ msgstr "" -#~ "-f, --nofork\tPremier-plan : ne pas détacher l'interface graphique du " -#~ "terminal" - -#~ msgid "-f\t\t\tDon't use newcli to open window" -#~ msgstr "-f\t\tNe pas utiliser newcli pour l'ouverture des fenêtres" - -#~ msgid "-dev <device>\t\tUse <device> for I/O" -#~ msgstr "-dev <périph>\tUtiliser <périphérique> pour les E/S" - -#~ msgid "-U <gvimrc>\t\tUse <gvimrc> instead of any .gvimrc" -#~ msgstr "-U <gvimrc>\tUtiliser <gvimrc> au lieu du gvimrc habituel" - -#~ msgid "-x\t\t\tEdit encrypted files" -#~ msgstr "-x\t\t\tÉditer des fichiers chiffrés" - -#~ msgid "-display <display>\tConnect vim to this particular X-server" -#~ msgstr "-display <display>\tConnecter Vim au serveur X spécifié" - -#~ msgid "-X\t\t\tDo not connect to X server" -#~ msgstr "-X\t\t\tNe pas se connecter à un serveur X" - -#~ msgid "--remote <files>\tEdit <files> in a Vim server if possible" -#~ msgstr "" -#~ "--remote <fich>\tÉditer les <fichiers> dans un serveur Vim si possible" - -#~ msgid "--remote-silent <files> Same, don't complain if there is no server" -#~ msgstr "" -#~ "--remote-silent ...\tPareil, mais pas d'erreur s'il n'y a aucun serveur" - -#~ msgid "" -#~ "--remote-wait <files> As --remote but wait for files to have been edited" -#~ msgstr "" -#~ "--remote-wait <fich>\tComme --remote mais ne quitter qu'à la fin de " -#~ "l'édition" - -#~ msgid "" -#~ "--remote-wait-silent <files> Same, don't complain if there is no server" -#~ msgstr "" -#~ "--remote-wait-silent\tPareil, mais pas d'erreur s'il n'y a aucun serveur" - -#~ msgid "" -#~ "--remote-tab[-wait][-silent] <files> As --remote but use tab page per " -#~ "file" -#~ msgstr "" -#~ "--remote-tab[-wait][-silent] <fich>\tComme --remote mais ouvrir un onglet " -#~ "pour chaque fichier" - -#~ msgid "--remote-send <keys>\tSend <keys> to a Vim server and exit" -#~ msgstr "" -#~ "--remote-send <tche>\tEnvoyer <touches> à un serveur Vim puis quitter" - -#~ msgid "" -#~ "--remote-expr <expr>\tEvaluate <expr> in a Vim server and print result" -#~ msgstr "" -#~ "--remote-expr <expr>\tÉvaluer <expr> dans un serveur Vim, afficher le " -#~ "résultat" - -#~ msgid "--serverlist\t\tList available Vim server names and exit" -#~ msgstr "" -#~ "--serverlist\t\tLister les noms des serveurs Vim disponibles et quitter" - -#~ msgid "--servername <name>\tSend to/become the Vim server <name>" -#~ msgstr "--servername <nom>\tEnvoyer au/devenir le serveur Vim nommé <nom>" - -#~ msgid "" -#~ "\n" -#~ "Arguments recognised by gvim (Motif version):\n" -#~ msgstr "" -#~ "\n" -#~ "Arguments reconnus par gvim (version Motif) :\n" - -#~ msgid "" -#~ "\n" -#~ "Arguments recognised by gvim (neXtaw version):\n" -#~ msgstr "" -#~ "\n" -#~ "Arguments reconnus par gvim (version neXtaw) :\n" - -#~ msgid "" -#~ "\n" -#~ "Arguments recognised by gvim (Athena version):\n" -#~ msgstr "" -#~ "\n" -#~ "Arguments reconnus par gvim (version Athena) :\n" +# msgstr "--Pas de lignes dans le tampon--" +# DB - todo : ou encore : msgstr "--Aucune ligne dans le tampon--" +msgid "--No lines in buffer--" +msgstr "--Le tampon est vide--" -#~ msgid "-display <display>\tRun vim on <display>" -#~ msgstr "-display <écran>\tLancer Vim sur ce <display>" +#. +#. * The error messages that can be shared are included here. +#. * Excluded are errors that are only used once and debugging messages. +#. +msgid "E470: Command aborted" +msgstr "E470: Commande annulée" -#~ msgid "-iconic\t\tStart vim iconified" -#~ msgstr "-iconic\t\tIconifier Vim au démarrage" +msgid "E471: Argument required" +msgstr "E471: Argument requis" -#~ msgid "-background <color>\tUse <color> for the background (also: -bg)" -#~ msgstr "" -#~ "-background <coul>\tUtiliser <couleur> pour l'arrière-plan\t (abrv : -" -#~ "bg)" +msgid "E10: \\ should be followed by /, ? or &" +msgstr "E10: \\ devrait être suivi de /, ? ou &" -#~ msgid "-foreground <color>\tUse <color> for normal text (also: -fg)" -#~ msgstr "" -#~ "-foreground <coul>\tUtiliser <couleur> pour le texte normal\t (abrv : -" -#~ "fg)" +msgid "E11: Invalid in command-line window; <CR> executes, CTRL-C quits" +msgstr "" +"E11: Invalide dans la fenêtre ligne-de-commande ; <CR> exécute, CTRL-C quitte" -#~ msgid "-font <font>\t\tUse <font> for normal text (also: -fn)" -#~ msgstr "" -#~ "-font <fonte>\tUtiliser <fonte> pour le texte normal\t (abrv : -fn)" +msgid "E12: Command not allowed from exrc/vimrc in current dir or tag search" +msgstr "" +"E12: commande non autorisée depuis un exrc/vimrc dans répertoire courant ou " +"une recherche de marqueur" -#~ msgid "-boldfont <font>\tUse <font> for bold text" -#~ msgstr "-boldfont <fonte>\tUtiliser <fonte> pour le texte gras" +msgid "E171: Missing :endif" +msgstr "E171: :endif manquant" -#~ msgid "-italicfont <font>\tUse <font> for italic text" -#~ msgstr "-italicfont <fonte>\tUtiliser <fonte> pour le texte italique" +msgid "E600: Missing :endtry" +msgstr "E600: :endtry manquant" -#~ msgid "-geometry <geom>\tUse <geom> for initial geometry (also: -geom)" -#~ msgstr "" -#~ "-geometry <géom>\tUtiliser cette <géométrie> initiale\t (abrv : -geom)" +msgid "E170: Missing :endwhile" +msgstr "E170: :endwhile manquant" -#~ msgid "-borderwidth <width>\tUse a border width of <width> (also: -bw)" -#~ msgstr "" -#~ "-borderwidth <épais>\tUtiliser cette <épaisseur> de bordure\t (abrv : -" -#~ "bw)" +msgid "E170: Missing :endfor" +msgstr "E170: :endfor manquant" -#~ msgid "" -#~ "-scrollbarwidth <width> Use a scrollbar width of <width> (also: -sw)" -#~ msgstr "" -#~ "-scrollbarwidth <lg>\tUtiliser cette <largeur> de barre de défil. (abrv: -" -#~ "sw)" - -#~ msgid "-menuheight <height>\tUse a menu bar height of <height> (also: -mh)" -#~ msgstr "" -#~ "-menuheight <haut>\tUtiliser cette <hauteur> de menu\t (abrv : -mh)" - -#~ msgid "-reverse\t\tUse reverse video (also: -rv)" -#~ msgstr "-reverse\t\tUtiliser la vidéo inverse\t\t (abrv : -rv)" - -#~ msgid "+reverse\t\tDon't use reverse video (also: +rv)" -#~ msgstr "+reverse\t\tNe pas utiliser de vidéo inverse\t (abrv : +rv)" - -#~ msgid "-xrm <resource>\tSet the specified resource" -#~ msgstr "-xrm <ressource>\tConfigurer la <ressource> spécifiée" - -#~ msgid "" -#~ "\n" -#~ "Arguments recognised by gvim (GTK+ version):\n" -#~ msgstr "" -#~ "\n" -#~ "Arguments reconnus par gvim (version GTK+) :\n" - -#~ msgid "-display <display>\tRun vim on <display> (also: --display)" -#~ msgstr "" -#~ "-display <display>\tLancer Vim sur ce <display>\t(également : --display)" - -#~ msgid "--role <role>\tSet a unique role to identify the main window" -#~ msgstr "--role <rôle>\tDonner un rôle pour identifier la fenêtre principale" - -#~ msgid "--socketid <xid>\tOpen Vim inside another GTK widget" -#~ msgstr "--socketid <xid>\tOuvrir Vim dans un autre widget GTK" - -#~ msgid "--echo-wid\t\tMake gvim echo the Window ID on stdout" -#~ msgstr "--echo-wid\t\tGvim affiche l'ID de la fenêtre sur stdout" - -#~ msgid "-P <parent title>\tOpen Vim inside parent application" -#~ msgstr "-P <titre parent>\tOuvrir Vim dans une application parente" - -#~ msgid "--windowid <HWND>\tOpen Vim inside another win32 widget" -#~ msgstr "--windowid <HWND>\tOuvrir Vim dans un autre widget win32" - -#~ msgid "No display" -#~ msgstr "Aucun display" - -#~ msgid ": Send failed.\n" -#~ msgstr " : L'envoi a échoué.\n" - -#~ msgid ": Send failed. Trying to execute locally\n" -#~ msgstr " : L'envoi a échoué. Tentative d'exécution locale\n" - -#~ msgid "%d of %d edited" -#~ msgstr "%d édités sur %d" - -#~ msgid "No display: Send expression failed.\n" -#~ msgstr "Aucun display : L'envoi de l'expression a échoué.\n" - -#~ msgid ": Send expression failed.\n" -#~ msgstr " : L'envoi de l'expression a échoué.\n" +msgid "E588: :endwhile without :while" +msgstr "E588: :endwhile sans :while" -#~ msgid "E543: Not a valid codepage" -#~ msgstr "E543: Page de codes non valide" +msgid "E588: :endfor without :for" +msgstr "E588: :endfor sans :for" -#~ msgid "E284: Cannot set IC values" -#~ msgstr "E284: Impossible de régler les valeurs IC" - -#~ msgid "E285: Failed to create input context" -#~ msgstr "E285: Échec de la création du contexte de saisie" - -#~ msgid "E286: Failed to open input method" -#~ msgstr "E286: Échec de l'ouverture de la méthode de saisie" +msgid "E13: File exists (add ! to override)" +msgstr "E13: Le fichier existe déjà (ajoutez ! pour passer outre)" -#~ msgid "E287: Warning: Could not set destroy callback to IM" -#~ msgstr "" -#~ "E287: Alerte : Impossible d'inscrire la callback de destruction dans la MS" +msgid "E472: Command failed" +msgstr "E472: La commande a échoué" -#~ msgid "E288: input method doesn't support any style" -#~ msgstr "E288: la méthode de saisie ne supporte aucun style" +#, c-format +msgid "E234: Unknown fontset: %s" +msgstr "E234: Jeu de police inconnu : %s" -#~ msgid "E289: input method doesn't support my preedit type" -#~ msgstr "" -#~ "E289: le type de préédition de Vim n'est pas supporté par la méthode de " -#~ "saisie" +#, c-format +msgid "E235: Unknown font: %s" +msgstr "E235: Police inconnue : %s" -#~ msgid "E843: Error while updating swap file crypt" -#~ msgstr "E843: Erreur lors de la mise à jour du fichier d'échange crypté" +#, c-format +msgid "E236: Font \"%s\" is not fixed-width" +msgstr "E236: La police \"%s\" n'a pas une chasse (largeur) fixe" -#~ msgid "" -#~ "E833: %s is encrypted and this version of Vim does not support encryption" -#~ msgstr "" -#~ "E833: %s est chiffré et cette version de Vim ne supporte pas le " -#~ "chiffrement" - -#~ msgid "Swap file is encrypted: \"%s\"" -#~ msgstr "Fichier d'échange chiffré : \"%s\"" +msgid "E473: Internal error" +msgstr "E473: Erreur interne" -#~ msgid "" -#~ "\n" -#~ "If you entered a new crypt key but did not write the text file," -#~ msgstr "" -#~ "\n" -#~ "Si vous avez tapé une nouvelle clé de chiffrement mais n'avez pas " -#~ "enregistré le fichier texte," +#, c-format +msgid "E685: Internal error: %s" +msgstr "E685: Erreur interne : %s" -#~ msgid "" -#~ "\n" -#~ "enter the new crypt key." -#~ msgstr "" -#~ "\n" -#~ "tapez la nouvelle clé de chiffrement." +msgid "Interrupted" +msgstr "Interrompu" -#~ msgid "" -#~ "\n" -#~ "If you wrote the text file after changing the crypt key press enter" -#~ msgstr "" -#~ "\n" -#~ "Si vous avez écrit le fichier texte après avoir changé la clé de " -#~ "chiffrement, appuyez sur entrée" +msgid "E14: Invalid address" +msgstr "E14: Adresse invalide" -#~ msgid "" -#~ "\n" -#~ "to use the same key for text file and swap file" -#~ msgstr "" -#~ "\n" -#~ "afin d'utiliser la même clé pour le fichier texte et le fichier d'échange" +msgid "E474: Invalid argument" +msgstr "E474: Argument invalide" -#~ msgid "Using crypt key from swap file for the text file.\n" -#~ msgstr "" -#~ "Utilisation de la clé de chiffrement du fichier d'échange pour le fichier " -#~ "texte.\n" +#, c-format +msgid "E475: Invalid argument: %s" +msgstr "E475: Argument invalide : %s" -#~ msgid "" -#~ "\n" -#~ " [not usable with this version of Vim]" -#~ msgstr "" -#~ "\n" -#~ " [inutilisable avec cette version de Vim]" - -#~ msgid "Tear off this menu" -#~ msgstr "Détacher ce menu" +#, c-format +msgid "E15: Invalid expression: %s" +msgstr "E15: Expression invalide : %s" -# DB : Les trois messages qui suivent sont des titres de boîtes -# de dialogue par défaut. -#~ msgid "Select Directory dialog" -#~ msgstr "Sélecteur de répertoire" +msgid "E16: Invalid range" +msgstr "E16: Plage invalide" -#~ msgid "Save File dialog" -#~ msgstr "Enregistrer un fichier" +msgid "E476: Invalid command" +msgstr "E476: Commande invalide" -#~ msgid "Open File dialog" -#~ msgstr "Ouvrir un fichier" +#, c-format +msgid "E17: \"%s\" is a directory" +msgstr "E17: \"%s\" est un répertoire" -#~ msgid "E338: Sorry, no file browser in console mode" -#~ msgstr "E338: Désolé, pas de sélecteur de fichiers en mode console" +#, c-format +msgid "E364: Library call failed for \"%s()\"" +msgstr "E364: L'appel à la bibliothèque a échoué pour \"%s()\"" -#~ msgid "ERROR: " -#~ msgstr "ERREUR : " +#, c-format +msgid "E448: Could not load library function %s" +msgstr "E448: Impossible de charger la fonction %s de la bibliothèque" -#~ msgid "" -#~ "\n" -#~ "[bytes] total alloc-freed %<PRIu64>-%<PRIu64>, in use %<PRIu64>, peak use " -#~ "%<PRIu64>\n" -#~ msgstr "" -#~ "\n" -#~ "[octets] total alloué-libéré %<PRIu64>-%<PRIu64>, utilisé %<PRIu64>, pic " -#~ "%<PRIu64>\n" +msgid "E19: Mark has invalid line number" +msgstr "E19: La marque a un numéro de ligne invalide" -#~ msgid "" -#~ "[calls] total re/malloc()'s %<PRIu64>, total free()'s %<PRIu64>\n" -#~ "\n" -#~ msgstr "" -#~ "[appels] total re/malloc() %<PRIu64>, total free() %<PRIu64>\n" -#~ "\n" +msgid "E20: Mark not set" +msgstr "E20: Marque non positionnée" -#~ msgid "E340: Line is becoming too long" -#~ msgstr "E340: La ligne devient trop longue" +msgid "E21: Cannot make changes, 'modifiable' is off" +msgstr "E21: Impossible de modifier, 'modifiable' est désactivé" -#~ msgid "E341: Internal error: lalloc(%<PRId64>, )" -#~ msgstr "E341: Erreur interne : lalloc(%<PRId64>, )" +msgid "E22: Scripts nested too deep" +msgstr "E22: Trop de récursion dans les scripts" -#~ msgid "E547: Illegal mouseshape" -#~ msgstr "E547: Forme de curseur invalide" +msgid "E23: No alternate file" +msgstr "E23: Pas de fichier alternatif" -#~ msgid "Warning: Using a weak encryption method; see :help 'cm'" -#~ msgstr "" -#~ "Alerte : utilisation d'une méthode de chiffrage faible ; consultez :help 'cm'" +msgid "E24: No such abbreviation" +msgstr "E24: Cette abréviation n'existe pas" -#~ msgid "Enter encryption key: " -#~ msgstr "Tapez la clé de chiffrement : " +msgid "E477: No ! allowed" +msgstr "E477: Le ! n'est pas autorisé" -#~ msgid "Enter same key again: " -#~ msgstr "Tapez la clé à nouveau : " +msgid "E25: GUI cannot be used: Not enabled at compile time" +msgstr "E25: L'interface graphique n'a pas été compilée dans cette version" -#~ msgid "Keys don't match!" -#~ msgstr "Les clés ne correspondent pas !" +msgid "E26: Hebrew cannot be used: Not enabled at compile time\n" +msgstr "E26: Le support de l'hébreu n'a pas été compilé dans cette version\n" -#~ msgid "Cannot connect to Netbeans #2" -#~ msgstr "Impossible de se connecter à Netbeans n°2" +msgid "E27: Farsi cannot be used: Not enabled at compile time\n" +msgstr "E27: Le support du farsi n'a pas été compilé dans cette version\n" -#~ msgid "Cannot connect to Netbeans" -#~ msgstr "Impossible de se connecter à Netbeans" +msgid "E800: Arabic cannot be used: Not enabled at compile time\n" +msgstr "E800: Le support de l'arabe n'a pas été compilé dans cette version\n" -#~ msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\"" -#~ msgstr "" -#~ "E668: Mode d'accès incorrect au fichier d'infos de connexion NetBeans : " -#~ "\"%s\"" +#, c-format +msgid "E28: No such highlight group name: %s" +msgstr "E28: Aucun nom de groupe de surbrillance %s" -# DB : message d'un appel à perror(). -#~ msgid "read from Netbeans socket" -#~ msgstr "read sur la socket Netbeans" +msgid "E29: No inserted text yet" +msgstr "E29: Pas encore de texte inséré" -#~ msgid "E658: NetBeans connection lost for buffer %<PRId64>" -#~ msgstr "E658: Connexion NetBeans perdue pour le tampon %<PRId64>" +msgid "E30: No previous command line" +msgstr "E30: Aucune ligne de commande précédente" -#~ msgid "E838: netbeans is not supported with this GUI" -#~ msgstr "E838: netbeans n'est pas supporté avec cette interface graphique" +msgid "E31: No such mapping" +msgstr "E31: Mappage inexistant" -#~ msgid "E511: netbeans already connected" -#~ msgstr "E511: netbeans déjà connecté" +msgid "E479: No match" +msgstr "E479: Aucune correspondance" -#~ msgid "E505: %s is read-only (add ! to override)" -#~ msgstr "E505: %s est en lecture seule (ajoutez ! pour passer outre)" +#, c-format +msgid "E480: No match: %s" +msgstr "E480: Aucune correspondance : %s" -#~ msgid "E775: Eval feature not available" -#~ msgstr "E775: La fonctionnalité d'évaluation n'est pas disponible" +msgid "E32: No file name" +msgstr "E32: Aucun nom de fichier" -#~ msgid "freeing %<PRId64> lines" -#~ msgstr "libération de %<PRId64> lignes" +msgid "E33: No previous substitute regular expression" +msgstr "E33: Aucune expression régulière de substitution précédente" -#~ msgid "E530: Cannot change term in GUI" -#~ msgstr "E530: Impossible de modifier term dans l'interface graphique" +msgid "E34: No previous command" +msgstr "E34: Aucune commande précédente" -#~ msgid "E531: Use \":gui\" to start the GUI" -#~ msgstr "E531: Utilisez \":gui\" pour démarrer l'interface graphique" +msgid "E35: No previous regular expression" +msgstr "E35: Aucune expression régulière précédente" -#~ msgid "E617: Cannot be changed in the GTK+ 2 GUI" -#~ msgstr "E617: Non modifiable dans l'interface graphique GTK+ 2" +msgid "E481: No range allowed" +msgstr "E481: Les plages ne sont pas autorisées" -#~ msgid "E596: Invalid font(s)" -#~ msgstr "E596: Police(s) invalide(s)" +msgid "E36: Not enough room" +msgstr "E36: Pas assez de place" -#~ msgid "E597: can't select fontset" -#~ msgstr "E597: Impossible de sélectionner un jeu de polices" +#, c-format +msgid "E247: no registered server named \"%s\"" +msgstr "E247: aucun serveur nommé \"%s\" n'est enregistré" -#~ msgid "E598: Invalid fontset" -#~ msgstr "E598: Jeu de polices invalide" +#, c-format +msgid "E482: Can't create file %s" +msgstr "E482: Impossible de créer le fichier %s" -#~ msgid "E533: can't select wide font" -#~ msgstr "E533: Impossible de sélectionner une police à largeur double" +msgid "E483: Can't get temp file name" +msgstr "E483: Impossible d'obtenir un nom de fichier temporaire" -#~ msgid "E534: Invalid wide font" -#~ msgstr "E534: Police à largeur double invalide" +#, c-format +msgid "E484: Can't open file %s" +msgstr "E484: Impossible d'ouvrir le fichier \"%s\"" -#~ msgid "E538: No mouse support" -#~ msgstr "E538: La souris n'est pas supportée" +#, c-format +msgid "E485: Can't read file %s" +msgstr "E485: Impossible de lire le fichier %s" -#~ msgid "cannot open " -#~ msgstr "impossible d'ouvrir " +msgid "E37: No write since last change (add ! to override)" +msgstr "E37: Modifications non enregistrées (ajoutez ! pour passer outre)" -#~ msgid "VIM: Can't open window!\n" -#~ msgstr "VIM : Impossible d'ouvrir la fenêtre !\n" +msgid "E37: No write since last change" +msgstr "E37: Modifications non enregistrées" -#~ msgid "Need Amigados version 2.04 or later\n" -#~ msgstr "Amigados version 2.04 ou ultérieure est nécessaire\n" +msgid "E38: Null argument" +msgstr "E38: Argument null" -#~ msgid "Need %s version %<PRId64>\n" -#~ msgstr "%s version %<PRId64> est nécessaire\n" +msgid "E39: Number expected" +msgstr "E39: Nombre attendu" -#~ msgid "Cannot open NIL:\n" -#~ msgstr "Impossible d'ouvrir NIL :\n" +#, c-format +msgid "E40: Can't open errorfile %s" +msgstr "E40: Impossible d'ouvrir le fichier d'erreurs %s" -#~ msgid "Cannot create " -#~ msgstr "Impossible de créer " +msgid "E233: cannot open display" +msgstr "E233: ouverture du display impossible" -#~ msgid "Vim exiting with %d\n" -#~ msgstr "Vim quitte avec %d\n" +msgid "E41: Out of memory!" +msgstr "E41: Mémoire épuisée" -#~ msgid "cannot change console mode ?!\n" -#~ msgstr "Impossible de modifier le mode de la console ?!\n" +msgid "Pattern not found" +msgstr "Motif introuvable" -#~ msgid "mch_get_shellsize: not a console??\n" -#~ msgstr "mch_get_shellsize : pas une console ?!\n" +#, c-format +msgid "E486: Pattern not found: %s" +msgstr "E486: Motif introuvable : %s" -#~ msgid "E360: Cannot execute shell with -f option" -#~ msgstr "E360: Impossible d'exécuter un shell avec l'option -f" +msgid "E487: Argument must be positive" +msgstr "E487: L'argument doit être positif" -#~ msgid "Cannot execute " -#~ msgstr "Impossible d'exécuter " +msgid "E459: Cannot go back to previous directory" +msgstr "E459: Impossible de retourner au répertoire précédent" -#~ msgid "shell " -#~ msgstr "le shell " +msgid "E42: No Errors" +msgstr "E42: Aucune erreur" -#~ msgid " returned\n" -#~ msgstr " a été retourné\n" +# DB - TODO : trouver une traduction valable et attestée pour "location". +msgid "E776: No location list" +msgstr "E776: Aucune liste d'emplacements" -#~ msgid "ANCHOR_BUF_SIZE too small." -#~ msgstr "ANCHOR_BUF_SIZE trop petit." +msgid "E43: Damaged match string" +msgstr "E43: La chaîne de recherche est endommagée" -#~ msgid "I/O ERROR" -#~ msgstr "ERREUR d'E/S" +msgid "E44: Corrupted regexp program" +msgstr "E44: L'automate de regexp est corrompu" -#~ msgid "Message" -#~ msgstr "Message" +msgid "E45: 'readonly' option is set (add ! to override)" +msgstr "E45: L'option 'readonly' est activée (ajoutez ! pour passer outre)" -#~ msgid "'columns' is not 80, cannot execute external commands" -#~ msgstr "" -#~ "'columns' ne vaut pas 80, impossible d'exécuter des commandes externes" +#, c-format +msgid "E46: Cannot change read-only variable \"%s\"" +msgstr "E46: La variable \"%s\" est en lecture seule" -#~ msgid "E237: Printer selection failed" -#~ msgstr "E237: La sélection de l'imprimante a échoué" +#, c-format +msgid "E794: Cannot set variable in the sandbox: \"%s\"" +msgstr "" +"E794: Impossible de modifier une variable depuis le bac à sable : \"%s\"" -# DB - Contenu des c-formats : Imprimante puis Port. -#~ msgid "to %s on %s" -#~ msgstr "vers %s sur %s" +msgid "E713: Cannot use empty key for Dictionary" +msgstr "E713: Impossible d'utiliser une clé vide dans un Dictionnaire" -#~ msgid "E613: Unknown printer font: %s" -#~ msgstr "E613: Police d'imprimante inconnue : %s" +msgid "E715: Dictionary required" +msgstr "E715: Dictionnaire requis" -#~ msgid "E238: Print error: %s" -#~ msgstr "E238: Erreur d'impression : %s" +#, c-format +msgid "E684: list index out of range: %ld" +msgstr "E684: index de Liste hors limites : %ld au-delà de la fin" -#~ msgid "Printing '%s'" -#~ msgstr "Impression de '%s'" +# DB : Suggestion +#, c-format +msgid "E118: Too many arguments for function: %s" +msgstr "E118: La fonction %s a reçu trop d'arguments" -#~ msgid "E244: Illegal charset name \"%s\" in font name \"%s\"" -#~ msgstr "E244: Jeu de caractères \"%s\" invalide dans le nom de fonte \"%s\"" +#, c-format +msgid "E716: Key not present in Dictionary: %s" +msgstr "E716: La clé %s n'existe pas dans le Dictionnaire" -#~ msgid "E245: Illegal char '%c' in font name \"%s\"" -#~ msgstr "E245: Caractère '%c' invalide dans le nom de fonte \"%s\"" +msgid "E714: List required" +msgstr "E714: Liste requise" -#~ msgid "Opening the X display took %<PRId64> msec" -#~ msgstr "L'ouverture du display X a pris %<PRId64> ms" +#, c-format +msgid "E712: Argument of %s must be a List or Dictionary" +msgstr "E712: L'argument de %s doit être une Liste ou un Dictionnaire" -#~ msgid "" -#~ "\n" -#~ "Vim: Got X error\n" -#~ msgstr "" -#~ "\n" -#~ "Vim : Réception d'une erreur X\n" +msgid "E47: Error while reading errorfile" +msgstr "E47: Erreur lors de la lecture du fichier d'erreurs" -#~ msgid "Testing the X display failed" -#~ msgstr "Le test du display X a échoué" +msgid "E48: Not allowed in sandbox" +msgstr "E48: Opération interdite dans le bac à sable" -#~ msgid "Opening the X display timed out" -#~ msgstr "L'ouverture du display X a dépassé le délai d'attente" +msgid "E523: Not allowed here" +msgstr "E523: Interdit à cet endroit" -#~ msgid "" -#~ "\n" -#~ "Cannot execute shell sh\n" -#~ msgstr "" -#~ "\n" -#~ "Impossible d'exécuter le shell sh\n" +msgid "E359: Screen mode setting not supported" +msgstr "E359: Choix du mode d'écran non supporté" -#~ msgid "" -#~ "\n" -#~ "Cannot create pipes\n" -#~ msgstr "" -#~ "\n" -#~ "Impossible de créer des tuyaux (pipes)\n" +msgid "E49: Invalid scroll size" +msgstr "E49: Valeur de défilement invalide" -#~ msgid "" -#~ "\n" -#~ "Cannot fork\n" -#~ msgstr "" -#~ "\n" -#~ "Impossible de forker\n" +msgid "E91: 'shell' option is empty" +msgstr "E91: L'option 'shell' est vide" -#~ msgid "" -#~ "\n" -#~ "Command terminated\n" -#~ msgstr "" -#~ "\n" -#~ "Commande interrompue\n" +msgid "E255: Couldn't read in sign data!" +msgstr "E255: Impossible de lire les données du symbole !" -#~ msgid "XSMP lost ICE connection" -#~ msgstr "XSMP a perdu la connexion ICE" +msgid "E72: Close error on swap file" +msgstr "E72: Erreur lors de la fermeture du fichier d'échange" -#~ msgid "Opening the X display failed" -#~ msgstr "L'ouverture du display X a échoué" +msgid "E73: tag stack empty" +msgstr "E73: La pile des marqueurs est vide" -#~ msgid "XSMP handling save-yourself request" -#~ msgstr "XSMP : prise en charge d'une requête save-yourself" +msgid "E74: Command too complex" +msgstr "E74: Commande trop complexe" -#~ msgid "XSMP opening connection" -#~ msgstr "XSMP : ouverture de la connexion" +msgid "E75: Name too long" +msgstr "E75: Nom trop long" -#~ msgid "XSMP ICE connection watch failed" -#~ msgstr "XSMP : échec de la surveillance de connexion ICE" +msgid "E76: Too many [" +msgstr "E76: Trop de [" -#~ msgid "XSMP SmcOpenConnection failed: %s" -#~ msgstr "XSMP : SmcOpenConnection a échoué : %s" +msgid "E77: Too many file names" +msgstr "E77: Trop de noms de fichiers" -#~ msgid "At line" -#~ msgstr "À la ligne" +msgid "E488: Trailing characters" +msgstr "E488: Caractères surnuméraires" -#~ msgid "Could not load vim32.dll!" -#~ msgstr "Impossible de charger vim32.dll !" +msgid "E78: Unknown mark" +msgstr "E78: Marque inconnue" -#~ msgid "VIM Error" -#~ msgstr "Erreur VIM" +msgid "E79: Cannot expand wildcards" +msgstr "E79: Impossible de développer les métacaractères" -#~ msgid "Could not fix up function pointers to the DLL!" -#~ msgstr "Impossible d'initialiser les pointeurs de fonction vers la DLL !" +msgid "E591: 'winheight' cannot be smaller than 'winminheight'" +msgstr "E591: 'winheight' ne peut pas être plus petit que 'winminheight'" -#~ msgid "shell returned %d" -#~ msgstr "le shell a retourné %d" +msgid "E592: 'winwidth' cannot be smaller than 'winminwidth'" +msgstr "E592: 'winwidth' ne peut pas être plus petit que 'winminwidth'" -# DB - Les événements en question sont ceux des messages qui suivent. -#~ msgid "Vim: Caught %s event\n" -#~ msgstr "Vim : Événement %s intercepté\n" +msgid "E80: Error while writing" +msgstr "E80: Erreur lors de l'écriture" -#~ msgid "close" -#~ msgstr "de fermeture" +msgid "Zero count" +msgstr "Le quantificateur est nul" -#~ msgid "logoff" -#~ msgstr "de déconnexion" +msgid "E81: Using <SID> not in a script context" +msgstr "E81: <SID> utilisé en dehors d'un script" -#~ msgid "shutdown" -#~ msgstr "d'arrêt" +msgid "E449: Invalid expression received" +msgstr "E449: Expression invalide reçue" -#~ msgid "E371: Command not found" -#~ msgstr "E371: Commande introuvable" +msgid "E463: Region is guarded, cannot modify" +msgstr "E463: Cette zone est verrouillée et ne peut pas être modifiée" -#~ msgid "" -#~ "VIMRUN.EXE not found in your $PATH.\n" -#~ "External commands will not pause after completion.\n" -#~ "See :help win32-vimrun for more information." -#~ msgstr "" -#~ "VIMRUN.EXE est introuvable votre $PATH.\n" -#~ "Les commandes externes ne feront pas de pause une fois terminées.\n" -#~ "Consultez :help win32-vimrun pour plus d'informations." +msgid "E744: NetBeans does not allow changes in read-only files" +msgstr "" +"E744: NetBeans n'autorise pas la modification des fichiers en lecture seule" -#~ msgid "Vim Warning" -#~ msgstr "Alerte Vim" +msgid "E363: pattern uses more memory than 'maxmempattern'" +msgstr "E363: le motif utilise plus de mémoire que 'maxmempattern'" -#~ msgid "Error file" -#~ msgstr "Fichier d'erreurs" +msgid "E749: empty buffer" +msgstr "E749: tampon vide" -#~ msgid "E868: Error building NFA with equivalence class!" -#~ msgstr "" -#~ "E868: Erreur lors de la construction du NFA avec classe d'équivalence" +#, c-format +msgid "E86: Buffer %ld does not exist" +msgstr "E86: Le tampon %ld n'existe pas" -#~ msgid "E878: (NFA) Could not allocate memory for branch traversal!" -#~ msgstr "" -#~ "E878: (NFA) Impossible d'allouer la mémoire pour parcourir les branches!" +msgid "E682: Invalid search pattern or delimiter" +msgstr "E682: Délimiteur ou motif de recherche invalide" -#~ msgid "Warning: Cannot find word list \"%s_%s.spl\" or \"%s_ascii.spl\"" -#~ msgstr "" -#~ "Alerte : Liste de mots \"%s_%s.spl\" ou \"%s_ascii.spl\" introuvable" +msgid "E139: File is loaded in another buffer" +msgstr "E139: Le fichier est chargé dans un autre tampon" -#~ msgid "Conversion in %s not supported" -#~ msgstr "La conversion dans %s non supportée" +#, c-format +msgid "E764: Option '%s' is not set" +msgstr "E764: L'option '%s' n'est pas activée" -#~ msgid "E845: Insufficient memory, word list will be incomplete" -#~ msgstr "E845: mémoire insuffisante, liste de mots peut-être incomplète" +msgid "E850: Invalid register name" +msgstr "E850: Nom de registre invalide" -#~ msgid "E430: Tag file path truncated for %s\n" -#~ msgstr "E430: Chemin de fichiers de marqueurs tronqué pour %s\n" +#, c-format +msgid "E919: Directory not found in '%s': \"%s\"" +msgstr "E919: Répertoire introuvable dans '%s' : \"%s\"" -#~ msgid "new shell started\n" -#~ msgstr "nouveau shell démarré\n" +msgid "search hit TOP, continuing at BOTTOM" +msgstr "La recherche a atteint le HAUT, et continue en BAS" -# DB - Message de débogage. -#~ msgid "Used CUT_BUFFER0 instead of empty selection" -#~ msgstr "CUT_BUFFER0 utilisé plutôt qu'une sélection vide" +msgid "search hit BOTTOM, continuing at TOP" +msgstr "La recherche a atteint le BAS, et continue en HAUT" -# DB - Question O/N. -#~ msgid "No undo possible; continue anyway" -#~ msgstr "Annulation impossible ; continuer" - -#~ msgid "E832: Non-encrypted file has encrypted undo file: %s" -#~ msgstr "E832: Fichier non-chiffré a un fichier d'annulations chiffré : %s" - -#~ msgid "E826: Undo file decryption failed: %s" -#~ msgstr "E826: Déchiffrage du fichier d'annulation a échoué : %s" - -#~ msgid "E827: Undo file is encrypted: %s" -#~ msgstr "E827: Le fichier d'annulations est chiffré : %s" - -#~ msgid "" -#~ "\n" -#~ "MS-Windows 16/32-bit GUI version" -#~ msgstr "" -#~ "\n" -#~ "Version graphique MS-Windows 16/32 bits" - -#~ msgid "" -#~ "\n" -#~ "MS-Windows 64-bit GUI version" -#~ msgstr "" -#~ "\n" -#~ "Version graphique MS-Windows 64 bits" - -#~ msgid "" -#~ "\n" -#~ "MS-Windows 32-bit GUI version" -#~ msgstr "" -#~ "\n" -#~ "Version graphique MS-Windows 32 bits" - -#~ msgid " in Win32s mode" -#~ msgstr " lancée en mode Win32s" - -#~ msgid " with OLE support" -#~ msgstr " supportant l'OLE" - -#~ msgid "" -#~ "\n" -#~ "MS-Windows 64-bit console version" -#~ msgstr "" -#~ "\n" -#~ "Version console MS-Windows 64 bits" - -#~ msgid "" -#~ "\n" -#~ "MS-Windows 32-bit console version" -#~ msgstr "" -#~ "\n" -#~ "Version console MS-Windows 32 bits" - -#~ msgid "" -#~ "\n" -#~ "MS-Windows 16-bit version" -#~ msgstr "" -#~ "\n" -#~ "Version MS-Windows 16 bits" - -#~ msgid "" -#~ "\n" -#~ "32-bit MS-DOS version" -#~ msgstr "" -#~ "\n" -#~ "Version MS-DOS 32 bits" - -#~ msgid "" -#~ "\n" -#~ "16-bit MS-DOS version" -#~ msgstr "" -#~ "\n" -#~ "Version MS-DOS 16 bits" - -#~ msgid "" -#~ "\n" -#~ "MacOS X (unix) version" -#~ msgstr "" -#~ "\n" -#~ "Version MaxOS X (unix)" - -#~ msgid "" -#~ "\n" -#~ "MacOS X version" -#~ msgstr "" -#~ "\n" -#~ "Version MacOS X" - -#~ msgid "" -#~ "\n" -#~ "MacOS version" -#~ msgstr "" -#~ "\n" -#~ "Version MacOS" - -#~ msgid "" -#~ "\n" -#~ "OpenVMS version" -#~ msgstr "" -#~ "\n" -#~ "Version OpenVMS" - -#~ msgid "" -#~ "\n" -#~ "Big version " -#~ msgstr "" -#~ "\n" -#~ "Grosse version " - -#~ msgid "" -#~ "\n" -#~ "Normal version " -#~ msgstr "" -#~ "\n" -#~ "Version normale " - -#~ msgid "" -#~ "\n" -#~ "Small version " -#~ msgstr "" -#~ "\n" -#~ "Petite version " - -#~ msgid "" -#~ "\n" -#~ "Tiny version " -#~ msgstr "" -#~ "\n" -#~ "Version minuscule " - -#~ msgid "with GTK2-GNOME GUI." -#~ msgstr "avec interface graphique GTK2-GNOME." - -#~ msgid "with GTK2 GUI." -#~ msgstr "avec interface graphique GTK2." - -#~ msgid "with X11-Motif GUI." -#~ msgstr "avec interface graphique X11-Motif." - -#~ msgid "with X11-neXtaw GUI." -#~ msgstr "avec interface graphique X11-neXtaw." - -#~ msgid "with X11-Athena GUI." -#~ msgstr "avec interface graphique X11-Athena." - -#~ msgid "with Photon GUI." -#~ msgstr "avec interface graphique Photon." - -#~ msgid "with GUI." -#~ msgstr "avec une interface graphique." - -#~ msgid "with Carbon GUI." -#~ msgstr "avec interface graphique Carbon." - -#~ msgid "with Cocoa GUI." -#~ msgstr "avec interface graphique Cocoa." - -#~ msgid "with (classic) GUI." -#~ msgstr "avec interface graphique (classic)." - -#~ msgid " system gvimrc file: \"" -#~ msgstr " fichier gvimrc système : \"" - -#~ msgid " user gvimrc file: \"" -#~ msgstr " fichier gvimrc utilisateur : \"" - -#~ msgid "2nd user gvimrc file: \"" -#~ msgstr "2me fichier gvimrc utilisateur : \"" - -#~ msgid "3rd user gvimrc file: \"" -#~ msgstr "3me fichier gvimrc utilisateur : \"" - -#~ msgid " system menu file: \"" -#~ msgstr " fichier menu système : \"" - -#~ msgid "Compiler: " -#~ msgstr "Compilateur : " +#, c-format +msgid "Need encryption key for \"%s\"" +msgstr "Besoin de la clé de chiffrement pour \"%s\"" -#~ msgid "menu Help->Orphans for information " -#~ msgstr "menu Aide->Orphelins pour plus d'info" +msgid "empty keys are not allowed" +msgstr "les clés vides ne sont pas autorisées" -#~ msgid "Running modeless, typed text is inserted" -#~ msgstr "Les modes sont désactivés, le texte saisi est inséré" +msgid "dictionary is locked" +msgstr "dictionnaire est verrouillé" -#~ msgid "menu Edit->Global Settings->Toggle Insert Mode " -#~ msgstr "menu Édition->Réglages Globaux->Insertion Permanente" +msgid "list is locked" +msgstr "liste verrouillée" -# DB - todo -#~ msgid " for two modes " -#~ msgstr " pour les modes " +#, c-format +msgid "failed to add key '%s' to dictionary" +msgstr "l'ajout de clé '%s' au dictionnaire a échoué" -# DB - todo -#~ msgid "menu Edit->Global Settings->Toggle Vi Compatible" -#~ msgstr "menu Édition->Réglages Globaux->Compatibilité Vi" +#, c-format +msgid "index must be int or slice, not %s" +msgstr "index doit être int ou slice, et non %s" -# DB - todo -#~ msgid " for Vim defaults " -#~ msgstr " pour déf. de Vim " +#, c-format +msgid "expected str() or unicode() instance, but got %s" +msgstr "attendu instance de str() ou unicode(), mais reçu %s" -#~ msgid "WARNING: Windows 95/98/ME detected" -#~ msgstr "ALERTE: Windows 95/98/ME détecté" +#, c-format +msgid "expected bytes() or str() instance, but got %s" +msgstr "attendu instance de bytes() ou str(), mais reçu %s" -#~ msgid "type :help windows95<Enter> for info on this" -#~ msgstr "tapez :help windows95<Entrée> pour plus d'information" +#, c-format +msgid "" +"expected int(), long() or something supporting coercing to long(), but got %s" +msgstr "" +"attendu int(), long() ou quelque chose qui peut être transformé en long(), " +"mais reçu %s" -#~ msgid "E370: Could not load library %s" -#~ msgstr "E370: Impossible de charger la bibliothèque %s" +#, c-format +msgid "expected int() or something supporting coercing to int(), but got %s" +msgstr "" +"attendu int() ou quelque chose qui peut être transformé en int(), mais reçu " +"%s" -#~ msgid "" -#~ "Sorry, this command is disabled: the Perl library could not be loaded." -#~ msgstr "" -#~ "Désolé, commande désactivée : la bibliothèque Perl n'a pas pu être " -#~ "chargée." +msgid "value is too large to fit into C int type" +msgstr "valeur trop grande pour être stockée dans le type C int" -#~ msgid "E299: Perl evaluation forbidden in sandbox without the Safe module" -#~ msgstr "" -#~ "E299: Évaluation Perl interdite dans bac à sable sans le module Safe" +msgid "value is too small to fit into C int type" +msgstr "valeur trop petite pour être stockée dans le type C int" -#~ msgid "Edit with &multiple Vims" -#~ msgstr "Éditer dans &plusieurs Vims" +msgid "number must be greater than zero" +msgstr "le nombre doit être plus grand que zéro" -#~ msgid "Edit with single &Vim" -#~ msgstr "Éditer dans un seul &Vim" +msgid "number must be greater or equal to zero" +msgstr "le nombre doit être plus grand ou égal à zéro" -#~ msgid "Diff with Vim" -#~ msgstr "&Comparer avec Vim" +msgid "can't delete OutputObject attributes" +msgstr "impossible d'effacer les attributs d'OutputObject" -#~ msgid "Edit with &Vim" -#~ msgstr "Éditer dans &Vim" +#, c-format +msgid "invalid attribute: %s" +msgstr "attribut invalide : %s" -#~ msgid "Edit with existing Vim - " -#~ msgstr "Éditer dans le Vim existant - " +msgid "E264: Python: Error initialising I/O objects" +msgstr "E264: Python : Erreur d'initialisation des objets d'E/S" -#~ msgid "Edits the selected file(s) with Vim" -#~ msgstr "Édites le(s) fichier(s) sélectionné(s) avec Vim" +msgid "failed to change directory" +msgstr "changement de répertoire a échoué" -# DB - MessageBox win32, la longueur n'est pas un problème ! -#~ msgid "Error creating process: Check if gvim is in your path!" -#~ msgstr "" -#~ "Erreur de création du processus : vérifiez que gvim est bien dans votre " -#~ "chemin !" +#, c-format +msgid "expected 3-tuple as imp.find_module() result, but got %s" +msgstr "attendu un 3-tuple comme résultat de imp.find_module(), mais reçu %s" -#~ msgid "gvimext.dll error" -#~ msgstr "Erreur de gvimext.dll" +#, c-format +msgid "expected 3-tuple as imp.find_module() result, but got tuple of size %d" +msgstr "" +"attendu un 3-tuple comme résultat de imp.find_module(), mais reçu un tuple " +"de taille %d" -#~ msgid "Path length too long!" -#~ msgstr "Le chemin est trop long !" +msgid "internal error: imp.find_module returned tuple with NULL" +msgstr "erreur interne : imp.find_module a retourné un tuple contenant NULL" -#~ msgid "E234: Unknown fontset: %s" -#~ msgstr "E234: Jeu de police inconnu : %s" +msgid "cannot delete vim.Dictionary attributes" +msgstr "impossible d'effacer les attributs de vim.Dictionary" -#~ msgid "E235: Unknown font: %s" -#~ msgstr "E235: Police inconnue : %s" +msgid "cannot modify fixed dictionary" +msgstr "impossible de modifier un dictionnaire fixe" -#~ msgid "E236: Font \"%s\" is not fixed-width" -#~ msgstr "E236: La police \"%s\" n'a pas une chasse (largeur) fixe" +#, c-format +msgid "cannot set attribute %s" +msgstr "impossible d'initialiser l'attribut %s" -#~ msgid "E448: Could not load library function %s" -#~ msgstr "E448: Impossible de charger la fonction %s de la bibliothèque" +msgid "hashtab changed during iteration" +msgstr "la table de hachage a été changée pendant une itération" -#~ msgid "E26: Hebrew cannot be used: Not enabled at compile time\n" -#~ msgstr "" -#~ "E26: Le support de l'hébreu n'a pas été compilé dans cette version\n" +#, c-format +msgid "expected sequence element of size 2, but got sequence of size %d" +msgstr "" +"attendu une séquence d'éléments de taille 2, mais reçu une séquence de " +"taille %d" -#~ msgid "E27: Farsi cannot be used: Not enabled at compile time\n" -#~ msgstr "E27: Le support du farsi n'a pas été compilé dans cette version\n" +msgid "list constructor does not accept keyword arguments" +msgstr "le constructeur de liste n'accepte pas les arguments nommés" -#~ msgid "E800: Arabic cannot be used: Not enabled at compile time\n" -#~ msgstr "" -#~ "E800: Le support de l'arabe n'a pas été compilé dans cette version\n" +msgid "list index out of range" +msgstr "index de liste hors limites" -#~ msgid "E247: no registered server named \"%s\"" -#~ msgstr "E247: aucun serveur nommé \"%s\" n'est enregistré" +#. No more suitable format specifications in python-2.3 +#, c-format +msgid "internal error: failed to get vim list item %d" +msgstr "erreur interne : accès à un élément %d de liste a échoué" -#~ msgid "E233: cannot open display" -#~ msgstr "E233: ouverture du display impossible" +msgid "slice step cannot be zero" +msgstr "le pas du découpage en tranche ne peut pas être zéro" -#~ msgid "E449: Invalid expression received" -#~ msgstr "E449: Expression invalide reçue" +#, c-format +msgid "attempt to assign sequence of size greater than %d to extended slice" +msgstr "" +"tentative d'assigner une séquence de taille plus grande que %d à un " +"découpage en tranche étendu " -#~ msgid "E463: Region is guarded, cannot modify" -#~ msgstr "E463: Cette zone est verrouillée et ne peut pas être modifiée" +#, c-format +msgid "internal error: no vim list item %d" +msgstr "erreur interne : pas d'élément %d de liste vim" -#~ msgid "E744: NetBeans does not allow changes in read-only files" -#~ msgstr "" -#~ "E744: NetBeans n'autorise pas la modification des fichiers en lecture " -#~ "seule" +msgid "internal error: not enough list items" +msgstr "erreur interne : pas assez d'éléments de liste" -#~ msgid "Need encryption key for \"%s\"" -#~ msgstr "Besoin de la clé de chiffrement pour \"%s\"" +msgid "internal error: failed to add item to list" +msgstr "erreur interne : ajout d'élément à la liste a échoué" -#~ msgid "can't delete OutputObject attributes" -#~ msgstr "impossible d'effacer les attributs d'OutputObject" +#, c-format +msgid "attempt to assign sequence of size %d to extended slice of size %d" +msgstr "" +"tentative d'assigner une séquence de taille %d à un découpage en tranche " +"étendu de taille %d" -#~ msgid "invalid attribute" -#~ msgstr "attribut invalide" +msgid "failed to add item to list" +msgstr "ajout à la liste a échoué" -#~ msgid "E264: Python: Error initialising I/O objects" -#~ msgstr "E264: Python : Erreur d'initialisation des objets d'E/S" +msgid "cannot delete vim.List attributes" +msgstr "impossible d'effacer les attributs de vim.List" -#~ msgid "empty keys are not allowed" -#~ msgstr "les clés vides ne sont pas autorisées" +msgid "cannot modify fixed list" +msgstr "impossible de modifier une liste fixe" -#~ msgid "Cannot modify fixed dictionary" -#~ msgstr "Impossible de modifier un dictionnaire fixe" +#, c-format +msgid "unnamed function %s does not exist" +msgstr "la fonction sans nom %s n'existe pas" -#~ msgid "dict is locked" -#~ msgstr "dictionnaire est verrouillé" +#, c-format +msgid "function %s does not exist" +msgstr "la fonction %s n'existe pas" -#~ msgid "failed to add key to dictionary" -#~ msgstr "l'ajout de clé au dictionnaire a échoué" +#, c-format +msgid "failed to run function %s" +msgstr "exécution de la fonction %s a échoué" -#~ msgid "list index out of range" -#~ msgstr "index de liste hors limites" +msgid "unable to get option value" +msgstr "impossible d'obtenir la valeur d'une option" -#~ msgid "internal error: failed to get vim list item" -#~ msgstr "erreur interne : accès à un élément de liste a échoué" +msgid "internal error: unknown option type" +msgstr "erreur interne : type d'option inconnu" -#~ msgid "list is locked" -#~ msgstr "liste verrouillée" +msgid "problem while switching windows" +msgstr "problème lors du changement de fenêtres" -#~ msgid "Failed to add item to list" -#~ msgstr "Ajout à la liste a échoué" +#, c-format +msgid "unable to unset global option %s" +msgstr "impossible de désactiver une option globale %s" -#~ msgid "internal error: failed to add item to list" -#~ msgstr "erreur interne : ajout d'élément à la liste a échoué" +#, c-format +msgid "unable to unset option %s which does not have global value" +msgstr "impossible de désactiver l'option %s qui n'a pas de valeur globale" -#~ msgid "cannot delete vim.dictionary attributes" -#~ msgstr "impossible d'effacer les attributs de vim.dictionary" +msgid "attempt to refer to deleted tab page" +msgstr "tentative de référencer un onglet effacé" -#~ msgid "cannot modify fixed list" -#~ msgstr "impossible de modifier une liste fixe" +msgid "no such tab page" +msgstr "cet onglet n'existe pas" -#~ msgid "cannot set this attribute" -#~ msgstr "impossible d'initialiser cet attribut" +msgid "attempt to refer to deleted window" +msgstr "tentative de référencer une fenêtre effacée" -#~ msgid "failed to run function" -#~ msgstr "exécution de la fonction a échoué" +msgid "readonly attribute: buffer" +msgstr "attribut en lecture seule : tampon" -#~ msgid "unable to unset global option" -#~ msgstr "impossible de désactiver une option globale" +msgid "cursor position outside buffer" +msgstr "curseur positionné en dehors du tampon" -#~ msgid "unable to unset option without global value" -#~ msgstr "impossible de désactiver une option sans une valeur globale" +msgid "no such window" +msgstr "Cette fenêtre n'existe pas" -#~ msgid "attempt to refer to deleted tab page" -#~ msgstr "tentative de référencer un onglet effacé" +msgid "attempt to refer to deleted buffer" +msgstr "tentative de référencer un tampon effacé" -#~ msgid "no such tab page" -#~ msgstr "cet onglet n'existe pas" +msgid "failed to rename buffer" +msgstr "impossible de renommer le tampon" -#~ msgid "attempt to refer to deleted window" -#~ msgstr "tentative de référencer une fenêtre effacée" +msgid "mark name must be a single character" +msgstr "le nom de marque doit être un seul caractère" -#~ msgid "readonly attribute" -#~ msgstr "attribut en lecture seule" +#, c-format +msgid "expected vim.Buffer object, but got %s" +msgstr "attendu un objet vim.Buffer, mais reçu %s" -#~ msgid "cursor position outside buffer" -#~ msgstr "curseur positionné en dehors du tampon" +#, c-format +msgid "failed to switch to buffer %d" +msgstr "impossible de se déplacer au tampon %d" -#~ msgid "no such window" -#~ msgstr "Cette fenêtre n'existe pas" +#, c-format +msgid "expected vim.Window object, but got %s" +msgstr "attendu un objet vim.Window, mais reçu %s" -#~ msgid "attempt to refer to deleted buffer" -#~ msgstr "tentative de référencer un tampon effacé" +msgid "failed to find window in the current tab page" +msgstr "impossible de trouver une fenêtre dans l'onglet courant" -#~ msgid "expected vim.buffer object" -#~ msgstr "objet vim.buffer attendu" +msgid "did not switch to the specified window" +msgstr "ne s'est pas déplacé à la fenêtre spécifiée" -#~ msgid "failed to switch to given buffer" -#~ msgstr "impossible de se déplacer au tampon donné" +#, c-format +msgid "expected vim.TabPage object, but got %s" +msgstr "attendu un objet vim.TabPage, mais reçu %s" -#~ msgid "expected vim.window object" -#~ msgstr "objet vim.window attendu" +msgid "did not switch to the specified tab page" +msgstr "impossible de se déplacer à l'onglet spécifié" -#~ msgid "failed to find window in the current tab page" -#~ msgstr "impossible de trouver une fenêtre dans l'onglet courant" +msgid "failed to run the code" +msgstr "exécution du code a échoué" -#~ msgid "did not switch to the specified window" -#~ msgstr "ne s'est pas déplacé à la fenêtre spécifiée" +msgid "E858: Eval did not return a valid python object" +msgstr "E858: Eval n'a pas retourné un objet python valide" -#~ msgid "expected vim.tabpage object" -#~ msgstr "objet vim.tabpage attendu" +msgid "E859: Failed to convert returned python object to vim value" +msgstr "E859: Conversion d'objet python à une valeur de vim a échoué" -#~ msgid "did not switch to the specified tab page" -#~ msgstr "impossible de se déplacer à l'onglet spécifié" +#, c-format +msgid "unable to convert %s to vim dictionary" +msgstr "impossible de convertir %s à un dictionnaire vim" -#~ msgid "failed to run the code" -#~ msgstr "exécution du code a échoué" +#, c-format +msgid "unable to convert %s to vim list" +msgstr "impossible de convertir %s à une liste de vim" -#~ msgid "E858: Eval did not return a valid python object" -#~ msgstr "E858: Eval n'a pas retourné un objet python valide" +#, c-format +msgid "unable to convert %s to vim structure" +msgstr "impossible de convertir %s à une structure de vim" -#~ msgid "E859: Failed to convert returned python object to vim value" -#~ msgstr "E859: Conversion d'objet python à une valeur de vim a échoué" +msgid "internal error: NULL reference passed" +msgstr "erreur interne : référence NULL passée" -#~ msgid "unable to convert to vim structure" -#~ msgstr "conversion à une structure vim impossible" +msgid "internal error: invalid value type" +msgstr "erreur interne : type de valeur invalide" -#~ msgid "NULL reference passed" -#~ msgstr "référence NULL passée" +msgid "" +"Failed to set path hook: sys.path_hooks is not a list\n" +"You should now do the following:\n" +"- append vim.path_hook to sys.path_hooks\n" +"- append vim.VIM_SPECIAL_PATH to sys.path\n" +msgstr "" +"Impossible d'initialiser sys.path_hook qui n'est pas un liste\n" +"Vous devez maintenant :\n" +"- ajouter vim.path_hook à sys.path_hooks\n" +"- ajouter vim.VIM_SPECIAL_PATH à sys.path\n" -#~ msgid "internal error: invalid value type" -#~ msgstr "erreur interne : type de valeur invalide" +msgid "" +"Failed to set path: sys.path is not a list\n" +"You should now append vim.VIM_SPECIAL_PATH to sys.path" +msgstr "" +"Impossible d'initialiser le chemin : sys.math n'est pas une liste\n" +"Vous devez maintenant ajouter vim.VIM_SPECIAL_PATH à sys.path" diff --git a/src/nvim/po/ga.po b/src/nvim/po/ga.po index 761539039d..abb3565077 100644 --- a/src/nvim/po/ga.po +++ b/src/nvim/po/ga.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: vim 7.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-05-26 14:21+0200\n" +"POT-Creation-Date: 2016-10-25 09:31-0500\n" "PO-Revision-Date: 2010-04-14 10:01-0500\n" "Last-Translator: Kevin Patrick Scannell <kscanne@gmail.com>\n" "Language-Team: Irish <gaeilge-gnulinux@lists.sourceforge.net>\n" @@ -14,208 +14,171 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : (n>2 && n<7) ? 2 :" +"(n>6 && n<11) ? 3 : 4;\n" -#: ../api/private/helpers.c:201 -#, fuzzy -msgid "Unable to get option value" -msgstr "Dramhaíl i ndiaidh argóinte rogha" +msgid "E831: bf_key_init() called with empty password" +msgstr "E831: cuireadh glaoch ar bf_key_init() le focal faire folamh" -#: ../api/private/helpers.c:204 -msgid "internal error: unknown option type" -msgstr "" +msgid "E820: sizeof(uint32_t) != 4" +msgstr "E820: sizeof(uint32_t) != 4" + +msgid "E817: Blowfish big/little endian use wrong" +msgstr "E817: Úsáid mhícheart Blowfish mórcheannach/caolcheannach" + +msgid "E818: sha256 test failed" +msgstr "E818: Theip ar thástáil sha256" + +msgid "E819: Blowfish test failed" +msgstr "E819: Theip ar thástáil Blowfish" -#: ../buffer.c:92 msgid "[Location List]" msgstr "[Liosta Suíomh]" -#: ../buffer.c:93 msgid "[Quickfix List]" -msgstr "[Liosta Ceartúchán Tapa]" +msgstr "[Liosta Mearcheartúchán]" -#: ../buffer.c:94 -#, fuzzy msgid "E855: Autocommands caused command to abort" -msgstr "E812: Bhí maolán nó ainm maoláin athraithe ag orduithe uathoibríocha" +msgstr "E855: Tobscoireadh an t-ordú mar gheall ar uathorduithe" -#: ../buffer.c:135 msgid "E82: Cannot allocate any buffer, exiting..." msgstr "E82: Ní féidir maolán a dháileadh, ag scor..." -#: ../buffer.c:138 msgid "E83: Cannot allocate buffer, using other one..." msgstr "E83: Ní féidir maolán a dháileadh, ag úsáid cinn eile..." -#: ../buffer.c:763 +msgid "E931: Buffer cannot be registered" +msgstr "E931: Ní féidir an maolán a chlárú" + +msgid "E937: Attempt to delete a buffer that is in use" +msgstr "E937: Iarracht ar mhaolán in úsáid a scriosadh" + msgid "E515: No buffers were unloaded" msgstr "E515: Ní raibh aon mhaolán díluchtaithe" -#: ../buffer.c:765 msgid "E516: No buffers were deleted" msgstr "E516: Ní raibh aon mhaolán scriosta" -#: ../buffer.c:767 msgid "E517: No buffers were wiped out" msgstr "E517: Ní raibh aon mhaolán bánaithe" -#: ../buffer.c:772 msgid "1 buffer unloaded" msgstr "Bhí maolán amháin díluchtaithe" -#: ../buffer.c:774 #, c-format msgid "%d buffers unloaded" msgstr "%d maolán folmhaithe" -#: ../buffer.c:777 msgid "1 buffer deleted" msgstr "Bhí maolán amháin scriosta" -#: ../buffer.c:779 #, c-format msgid "%d buffers deleted" msgstr "%d maolán scriosta" -#: ../buffer.c:782 msgid "1 buffer wiped out" msgstr "Bhí maolán amháin bánaithe" -#: ../buffer.c:784 #, c-format msgid "%d buffers wiped out" msgstr "%d maolán bánaithe" -#: ../buffer.c:806 msgid "E90: Cannot unload last buffer" msgstr "E90: Ní féidir an maolán deireanach a dhíluchtú" -#: ../buffer.c:874 msgid "E84: No modified buffer found" msgstr "E84: Níor aimsíodh maolán mionathraithe" #. back where we started, didn't find anything. -#: ../buffer.c:903 msgid "E85: There is no listed buffer" msgstr "E85: Níl aon mhaolán liostaithe ann" -#: ../buffer.c:913 -#, c-format -msgid "E86: Buffer %<PRId64> does not exist" -msgstr "E86: Níl a leithéid de mhaolán %<PRId64>" - -#: ../buffer.c:915 msgid "E87: Cannot go beyond last buffer" msgstr "E87: Ní féidir a dhul thar an maolán deireanach" -#: ../buffer.c:917 msgid "E88: Cannot go before first buffer" msgstr "E88: Ní féidir a dhul roimh an chéad mhaolán" -#: ../buffer.c:945 #, c-format -msgid "" -"E89: No write since last change for buffer %<PRId64> (add ! to override)" +msgid "E89: No write since last change for buffer %ld (add ! to override)" msgstr "" -"E89: Athraíodh maolán %<PRId64> ach nach bhfuil sé sábháilte ó shin (cuir ! " -"leis an ordú chun sárú)" +"E89: Athraíodh maolán %ld ach nach bhfuil sé sábháilte ó shin (cuir ! leis " +"an ordú chun sárú)" -#. wrap around (may cause duplicates) -#: ../buffer.c:1423 msgid "W14: Warning: List of file names overflow" msgstr "W14: Rabhadh: Liosta ainmneacha comhaid thar maoil" -#: ../buffer.c:1555 ../quickfix.c:3361 #, c-format -msgid "E92: Buffer %<PRId64> not found" -msgstr "E92: Maolán %<PRId64> gan aimsiú" +msgid "E92: Buffer %ld not found" +msgstr "E92: Maolán %ld gan aimsiú" -#: ../buffer.c:1798 #, c-format msgid "E93: More than one match for %s" msgstr "E93: Níos mó ná teaghrán amháin comhoiriúnaithe le %s" -#: ../buffer.c:1800 #, c-format msgid "E94: No matching buffer for %s" msgstr "E94: Níl aon mhaolán comhoiriúnaithe le %s" -#: ../buffer.c:2161 #, c-format -msgid "line %<PRId64>" -msgstr "líne %<PRId64>:" +msgid "line %ld" +msgstr "líne %ld:" -#: ../buffer.c:2233 msgid "E95: Buffer with this name already exists" msgstr "E95: Tá maolán ann leis an ainm seo cheana" -#: ../buffer.c:2498 msgid " [Modified]" msgstr " [Mionathraithe]" -#: ../buffer.c:2501 msgid "[Not edited]" msgstr "[Gan eagrú]" -#: ../buffer.c:2504 msgid "[New file]" msgstr "[Comhad nua]" -#: ../buffer.c:2505 msgid "[Read errors]" msgstr "[Earráidí léimh]" -#: ../buffer.c:2506 ../buffer.c:3217 ../fileio.c:1807 ../screen.c:4895 msgid "[RO]" msgstr "[L-A]" -#: ../buffer.c:2507 ../fileio.c:1807 msgid "[readonly]" msgstr "[inléite amháin]" -#: ../buffer.c:2524 #, c-format msgid "1 line --%d%%--" msgstr "1 líne --%d%%--" -#: ../buffer.c:2526 #, c-format -msgid "%<PRId64> lines --%d%%--" -msgstr "%<PRId64> líne --%d%%--" +msgid "%ld lines --%d%%--" +msgstr "%ld líne --%d%%--" -#: ../buffer.c:2530 #, c-format -msgid "line %<PRId64> of %<PRId64> --%d%%-- col " -msgstr "líne %<PRId64> de %<PRId64> --%d%%-- col " +msgid "line %ld of %ld --%d%%-- col " +msgstr "líne %ld de %ld --%d%%-- col " -#: ../buffer.c:2632 ../buffer.c:4292 ../memline.c:1554 msgid "[No Name]" msgstr "[Gan Ainm]" #. must be a help buffer -#: ../buffer.c:2667 msgid "help" msgstr "cabhair" -#: ../buffer.c:3225 ../screen.c:4883 msgid "[Help]" msgstr "[Cabhair]" -#: ../buffer.c:3254 ../screen.c:4887 msgid "[Preview]" msgstr "[Réamhamharc]" -#: ../buffer.c:3528 msgid "All" msgstr "Uile" -#: ../buffer.c:3528 msgid "Bot" msgstr "Bun" -#: ../buffer.c:3531 msgid "Top" msgstr "Barr" -#: ../buffer.c:4244 msgid "" "\n" "# Buffer list:\n" @@ -223,11 +186,9 @@ msgstr "" "\n" "# Liosta maoláin:\n" -#: ../buffer.c:4289 msgid "[Scratch]" msgstr "[Sealadach]" -#: ../buffer.c:4529 msgid "" "\n" "--- Signs ---" @@ -235,202 +196,236 @@ msgstr "" "\n" "--- Comharthaí ---" -#: ../buffer.c:4538 #, c-format msgid "Signs for %s:" msgstr "Comharthaí do %s:" -#: ../buffer.c:4543 #, c-format -msgid " line=%<PRId64> id=%d name=%s" -msgstr " líne=%<PRId64> id=%d ainm=%s" +msgid " line=%ld id=%d name=%s" +msgstr " líne=%ld id=%d ainm=%s" -#: ../cursor_shape.c:68 -msgid "E545: Missing colon" -msgstr "E545: Idirstad ar iarraidh" +msgid "E902: Cannot connect to port" +msgstr "E902: Ní féidir ceangal leis an bport" -#: ../cursor_shape.c:70 ../cursor_shape.c:94 -msgid "E546: Illegal mode" -msgstr "E546: Mód neamhcheadaithe" +msgid "E901: gethostbyname() in channel_open()" +msgstr "E901: gethostbyname() in channel_open()" -#: ../cursor_shape.c:134 -msgid "E548: digit expected" -msgstr "E548: ag súil le digit" +msgid "E898: socket() in channel_open()" +msgstr "E898: socket() in channel_open()" -#: ../cursor_shape.c:138 -msgid "E549: Illegal percentage" -msgstr "E549: Céatadán neamhcheadaithe" +msgid "E903: received command with non-string argument" +msgstr "E903: fuarthas ordú le hargóint nach bhfuil ina theaghrán" + +msgid "E904: last argument for expr/call must be a number" +msgstr "E904: ní mór don argóint dheireanach ar expr/call a bheith ina huimhir" + +msgid "E904: third argument for call must be a list" +msgstr "E904: Caithfidh an tríú argóint a bheith ina liosta" + +#, c-format +msgid "E905: received unknown command: %s" +msgstr "E905: fuarthas ordú anaithnid: %s" + +#, c-format +msgid "E630: %s(): write while not connected" +msgstr "E630: %s(): scríobh gan ceangal a bheith ann" + +#, c-format +msgid "E631: %s(): write failed" +msgstr "E631: %s(): theip ar scríobh" + +#, c-format +msgid "E917: Cannot use a callback with %s()" +msgstr "E917: Ní féidir aisghlaoch a úsáid le %s()" + +msgid "E912: cannot use ch_evalexpr()/ch_sendexpr() with a raw or nl channel" +msgstr "E912: ní féidir ch_evalexpr()/ch_sendexpr() a úsáid le cainéal raw nó nl" + +msgid "E906: not an open channel" +msgstr "E906: ní cainéal oscailte é" + +msgid "E920: _io file requires _name to be set" +msgstr "E920: caithfear _name a shocrú chun comhad _io a úsáid" + +msgid "E915: in_io buffer requires in_buf or in_name to be set" +msgstr "E915: caithfear in_buf nó in_name a shocrú chun maolán in_io a úsáid" + +#, c-format +msgid "E918: buffer must be loaded: %s" +msgstr "E918: ní mór an maolán a luchtú: %s" + +msgid "E821: File is encrypted with unknown method" +msgstr "E821: Comhad criptithe le modh anaithnid" + +msgid "Warning: Using a weak encryption method; see :help 'cm'" +msgstr "Rabhadh: Criptiúchán lag; féach :help 'cm'" + +msgid "Enter encryption key: " +msgstr "Iontráil eochair chriptiúcháin: " + +msgid "Enter same key again: " +msgstr "Iontráil an eochair arís: " + +msgid "Keys don't match!" +msgstr "Níl na heochracha comhoiriúnach le chéile!" + +msgid "[crypted]" +msgstr "[criptithe]" -#: ../diff.c:146 #, c-format -msgid "E96: Can not diff more than %<PRId64> buffers" -msgstr "E96: Ní féidir diff a dhéanamh ar níos mó ná %<PRId64> maolán" +msgid "E720: Missing colon in Dictionary: %s" +msgstr "E720: Idirstad ar iarraidh i bhFoclóir: %s" + +#, c-format +msgid "E721: Duplicate key in Dictionary: \"%s\"" +msgstr "E721: Eochair dhúblach i bhFoclóir: \"%s\"" + +#, c-format +msgid "E722: Missing comma in Dictionary: %s" +msgstr "E722: Camóg ar iarraidh i bhFoclóir: %s" + +#, c-format +msgid "E723: Missing end of Dictionary '}': %s" +msgstr "E723: '}' ar iarraidh ag deireadh foclóra: %s" + +msgid "extend() argument" +msgstr "argóint extend()" + +#, c-format +msgid "E737: Key already exists: %s" +msgstr "E737: Tá eochair ann cheana: %s" + +#, c-format +msgid "E96: Cannot diff more than %ld buffers" +msgstr "E96: Ní féidir diff a dhéanamh ar níos mó ná %ld maolán" -#: ../diff.c:753 msgid "E810: Cannot read or write temp files" msgstr "E810: Ní féidir comhaid shealadacha a léamh nó a scríobh" -#: ../diff.c:755 msgid "E97: Cannot create diffs" msgstr "E97: Ní féidir diffeanna a chruthú" -#: ../diff.c:966 +msgid "Patch file" +msgstr "Comhad paiste" + msgid "E816: Cannot read patch output" msgstr "E816: Ní féidir aschur ó 'patch' a léamh" -#: ../diff.c:1220 msgid "E98: Cannot read diff output" msgstr "E98: Ní féidir aschur ó 'diff' a léamh" -#: ../diff.c:2081 msgid "E99: Current buffer is not in diff mode" msgstr "E99: Níl an maolán reatha sa mhód diff" -#: ../diff.c:2100 msgid "E793: No other buffer in diff mode is modifiable" msgstr "E793: Ní féidir aon mhaolán eile a athrú sa mhód diff" -#: ../diff.c:2102 msgid "E100: No other buffer in diff mode" msgstr "E100: Níl aon mhaolán eile sa mhód diff" -#: ../diff.c:2112 msgid "E101: More than two buffers in diff mode, don't know which one to use" msgstr "" "E101: Tá níos mó ná dhá mhaolán sa mhód diff, níl fhios agam cé acu ba chóir " "a úsáid" -#: ../diff.c:2141 #, c-format msgid "E102: Can't find buffer \"%s\"" msgstr "E102: Tá maolán \"%s\" gan aimsiú" -#: ../diff.c:2152 #, c-format msgid "E103: Buffer \"%s\" is not in diff mode" msgstr "E103: Níl maolán \"%s\" i mód diff" -#: ../diff.c:2193 msgid "E787: Buffer changed unexpectedly" msgstr "E787: Athraíodh an maolán gan choinne" -#: ../digraph.c:1598 msgid "E104: Escape not allowed in digraph" msgstr "E104: Ní cheadaítear carachtair éalúcháin i ndéghraf" -#: ../digraph.c:1760 msgid "E544: Keymap file not found" msgstr "E544: Comhad eochairmhapála gan aimsiú" -#: ../digraph.c:1785 msgid "E105: Using :loadkeymap not in a sourced file" msgstr "E105: Ag úsáid :loadkeymap ach ní comhad foinsithe é seo" -#: ../digraph.c:1821 msgid "E791: Empty keymap entry" msgstr "E791: Iontráil fholamh eochairmhapála" -#: ../edit.c:82 msgid " Keyword completion (^N^P)" msgstr " Comhlánú lorgfhocal (^N^P)" #. ctrl_x_mode == 0, ^P/^N compl. -#: ../edit.c:83 msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)" msgstr " mód ^X (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)" -#: ../edit.c:85 msgid " Whole line completion (^L^N^P)" msgstr " Comhlánú Línte Ina Iomlán (^L^N^P)" -#: ../edit.c:86 msgid " File name completion (^F^N^P)" msgstr " Comhlánú de na hainmneacha comhaid (^F^N^P)" -#: ../edit.c:87 msgid " Tag completion (^]^N^P)" msgstr " Comhlánú clibeanna (^]/^N/^P)" -#: ../edit.c:88 msgid " Path pattern completion (^N^P)" msgstr " Comhlánú Conaire (^N^P)" -#: ../edit.c:89 msgid " Definition completion (^D^N^P)" msgstr " Comhlánú de na sainmhínithe (^D^N^P)" -#: ../edit.c:91 msgid " Dictionary completion (^K^N^P)" msgstr " Comhlánú foclóra (^K^N^P)" -#: ../edit.c:92 msgid " Thesaurus completion (^T^N^P)" msgstr " Comhlánú teasárais (^T^N^P)" -#: ../edit.c:93 msgid " Command-line completion (^V^N^P)" msgstr " Comhlánú den líne ordaithe (^V^N^P)" -#: ../edit.c:94 msgid " User defined completion (^U^N^P)" msgstr " Comhlánú saincheaptha (^U^N^P)" -#: ../edit.c:95 msgid " Omni completion (^O^N^P)" msgstr " Comhlánú Omni (^O^N^P)" -#: ../edit.c:96 msgid " Spelling suggestion (s^N^P)" msgstr " Moladh litrithe (s^N^P)" -#: ../edit.c:97 msgid " Keyword Local completion (^N^P)" msgstr " Comhlánú logánta lorgfhocal (^N^P)" -#: ../edit.c:100 msgid "Hit end of paragraph" msgstr "Sroicheadh críoch an pharagraif" -#: ../edit.c:101 -#, fuzzy msgid "E839: Completion function changed window" -msgstr "E813: Ní féidir fuinneog autocmd a dhúnadh" +msgstr "E839: D'athraigh an fheidhm chomhlánaithe an fhuinneog" -#: ../edit.c:102 msgid "E840: Completion function deleted text" -msgstr "" +msgstr "E840: Scrios an fheidhm chomhlánaithe roinnt téacs" -#: ../edit.c:1847 msgid "'dictionary' option is empty" msgstr "tá an rogha 'dictionary' folamh" -#: ../edit.c:1848 msgid "'thesaurus' option is empty" msgstr "tá an rogha 'thesaurus' folamh" -#: ../edit.c:2655 #, c-format msgid "Scanning dictionary: %s" msgstr "Foclóir á scanadh: %s" -#: ../edit.c:3079 msgid " (insert) Scroll (^E/^Y)" msgstr " (ionsáigh) Scrollaigh (^E/^Y)" -#: ../edit.c:3081 msgid " (replace) Scroll (^E/^Y)" msgstr " (ionadaigh) Scrollaigh (^E/^Y)" -#: ../edit.c:3587 #, c-format msgid "Scanning: %s" msgstr "%s á scanadh" -#: ../edit.c:3614 msgid "Scanning tags." msgstr "Clibeanna á scanadh." -#: ../edit.c:4519 msgid " Adding" msgstr " Méadú" @@ -438,702 +433,451 @@ msgstr " Méadú" #. * be called before line = ml_get(), or when this address is no #. * longer needed. -- Acevedo. #. -#: ../edit.c:4562 msgid "-- Searching..." msgstr "-- Ag Cuardach..." -#: ../edit.c:4618 msgid "Back at original" msgstr "Ar ais ag an mbunáit" -#: ../edit.c:4621 msgid "Word from other line" msgstr "Focal as líne eile" -#: ../edit.c:4624 msgid "The only match" msgstr "An t-aon teaghrán amháin comhoiriúnaithe" -#: ../edit.c:4680 #, c-format msgid "match %d of %d" msgstr "comhoiriúnú %d as %d" -#: ../edit.c:4684 #, c-format msgid "match %d" msgstr "comhoiriúnú %d" -#: ../eval.c:137 +#. maximum nesting of lists and dicts msgid "E18: Unexpected characters in :let" msgstr "E18: Carachtair gan choinne i :let" -#: ../eval.c:138 -#, c-format -msgid "E684: list index out of range: %<PRId64>" -msgstr "E684: innéacs liosta as raon: %<PRId64>" - -#: ../eval.c:139 #, c-format msgid "E121: Undefined variable: %s" msgstr "E121: Athróg gan sainmhíniú: %s" -#: ../eval.c:140 msgid "E111: Missing ']'" msgstr "E111: `]' ar iarraidh" -#: ../eval.c:141 -#, c-format -msgid "E686: Argument of %s must be a List" -msgstr "E686: Caithfidh argóint de %s a bheith ina Liosta" - -#: ../eval.c:143 -#, c-format -msgid "E712: Argument of %s must be a List or Dictionary" -msgstr "E712: Caithfidh argóint de %s a bheith ina Liosta nó Foclóir" - -#: ../eval.c:144 -msgid "E713: Cannot use empty key for Dictionary" -msgstr "E713: Ní féidir eochair fholamh a úsáid le Foclóir" - -#: ../eval.c:145 -msgid "E714: List required" -msgstr "E714: Tá gá le liosta" - -#: ../eval.c:146 -msgid "E715: Dictionary required" -msgstr "E715: Tá gá le foclóir" - -#: ../eval.c:147 -#, c-format -msgid "E118: Too many arguments for function: %s" -msgstr "E118: An iomarca argóintí d'fheidhm: %s" - -#: ../eval.c:148 -#, c-format -msgid "E716: Key not present in Dictionary: %s" -msgstr "E716: Níl an eochair seo san Fhoclóir: %s" - -#: ../eval.c:150 -#, c-format -msgid "E122: Function %s already exists, add ! to replace it" -msgstr "E122: Tá feidhm %s ann cheana, cuir ! leis an ordú chun é a asáitiú" - -#: ../eval.c:151 -msgid "E717: Dictionary entry already exists" -msgstr "E717: Tá an iontráil foclóra seo ann cheana" - -#: ../eval.c:152 -msgid "E718: Funcref required" -msgstr "E718: Tá gá le Funcref" - -#: ../eval.c:153 msgid "E719: Cannot use [:] with a Dictionary" msgstr "E719: Ní féidir [:] a úsáid le foclóir" -#: ../eval.c:154 #, c-format msgid "E734: Wrong variable type for %s=" msgstr "E734: Cineál mícheart athróige le haghaidh %s=" -#: ../eval.c:155 -#, c-format -msgid "E130: Unknown function: %s" -msgstr "E130: Feidhm anaithnid: %s" - -#: ../eval.c:156 #, c-format msgid "E461: Illegal variable name: %s" msgstr "E461: Ainm athróige neamhcheadaithe: %s" -#: ../eval.c:157 msgid "E806: using Float as a String" msgstr "E806: Snámhphointe á úsáid mar Theaghrán" -#: ../eval.c:1830 msgid "E687: Less targets than List items" msgstr "E687: Níos lú spriocanna ná míreanna Liosta" -#: ../eval.c:1834 msgid "E688: More targets than List items" msgstr "E688: Níos mó spriocanna ná míreanna Liosta" -#: ../eval.c:1906 msgid "Double ; in list of variables" msgstr "; dúblach i liosta na n-athróg" -#: ../eval.c:2078 #, c-format msgid "E738: Can't list variables for %s" msgstr "E738: Ní féidir athróga do %s a thaispeáint" -#: ../eval.c:2391 msgid "E689: Can only index a List or Dictionary" msgstr "E689: Is féidir Liosta nó Foclóir amháin a innéacsú" -#: ../eval.c:2396 msgid "E708: [:] must come last" msgstr "E708: caithfidh [:] a bheith ar deireadh" -#: ../eval.c:2439 msgid "E709: [:] requires a List value" msgstr "E709: ní foláir Liosta a thabhairt le [:]" -#: ../eval.c:2674 msgid "E710: List value has more items than target" msgstr "E710: Tá níos mó míreanna ag an Liosta ná an sprioc" -#: ../eval.c:2678 msgid "E711: List value has not enough items" msgstr "E711: Níl go leor míreanna ag an Liosta" -#: ../eval.c:2867 msgid "E690: Missing \"in\" after :for" msgstr "E690: \"in\" ar iarraidh i ndiaidh :for" -#: ../eval.c:3063 -#, c-format -msgid "E107: Missing parentheses: %s" -msgstr "E107: Lúibíní ar iarraidh: %s" - -#: ../eval.c:3263 #, c-format msgid "E108: No such variable: \"%s\"" msgstr "E108: Níl a leithéid d'athróg: \"%s\"" -#: ../eval.c:3333 msgid "E743: variable nested too deep for (un)lock" msgstr "E743: athróg neadaithe ródhomhain chun í a (dí)ghlasáil" -#: ../eval.c:3630 msgid "E109: Missing ':' after '?'" msgstr "E109: ':' ar iarraidh i ndiaidh '?'" -#: ../eval.c:3893 msgid "E691: Can only compare List with List" msgstr "E691: Is féidir Liosta a chur i gcomparáid le Liosta eile amháin" -#: ../eval.c:3895 -msgid "E692: Invalid operation for Lists" +msgid "E692: Invalid operation for List" msgstr "E692: Oibríocht neamhbhailí ar Liostaí" -#: ../eval.c:3915 msgid "E735: Can only compare Dictionary with Dictionary" msgstr "E735: Is féidir Foclóir a chur i gcomparáid le Foclóir eile amháin" -#: ../eval.c:3917 msgid "E736: Invalid operation for Dictionary" msgstr "E736: Oibríocht neamhbhailí ar Fhoclóir" -#: ../eval.c:3932 -msgid "E693: Can only compare Funcref with Funcref" -msgstr "E693: Is féidir Funcref a chur i gcomparáid le Funcref eile amháin" - -#: ../eval.c:3934 msgid "E694: Invalid operation for Funcrefs" msgstr "E694: Oibríocht neamhbhailí ar Funcref" -#: ../eval.c:4277 msgid "E804: Cannot use '%' with Float" msgstr "E804: Ní féidir '%' a úsáid le Snámhphointe" -#: ../eval.c:4478 msgid "E110: Missing ')'" msgstr "E110: ')' ar iarraidh" -#: ../eval.c:4609 msgid "E695: Cannot index a Funcref" msgstr "E695: Ní féidir Funcref a innéacsú" -#: ../eval.c:4839 +msgid "E909: Cannot index a special variable" +msgstr "E909: Ní féidir athróg speisialta a innéacsú" + #, c-format msgid "E112: Option name missing: %s" msgstr "E112: Ainm rogha ar iarraidh: %s" -#: ../eval.c:4855 #, c-format msgid "E113: Unknown option: %s" msgstr "E113: Rogha anaithnid: %s" -#: ../eval.c:4904 #, c-format msgid "E114: Missing quote: %s" msgstr "E114: Comhartha athfhriotail ar iarraidh: %s" -#: ../eval.c:5020 #, c-format msgid "E115: Missing quote: %s" msgstr "E115: Comhartha athfhriotail ar iarraidh: %s" -#: ../eval.c:5084 -#, c-format -msgid "E696: Missing comma in List: %s" -msgstr "E696: Camóg ar iarraidh i Liosta: %s" - -#: ../eval.c:5091 -#, c-format -msgid "E697: Missing end of List ']': %s" -msgstr "E697: ']' ar iarraidh ag deireadh liosta: %s" - -#: ../eval.c:6475 -#, c-format -msgid "E720: Missing colon in Dictionary: %s" -msgstr "E720: Idirstad ar iarraidh i bhFoclóir: %s" - -#: ../eval.c:6499 -#, c-format -msgid "E721: Duplicate key in Dictionary: \"%s\"" -msgstr "E721: Eochair dhúblach i bhFoclóir: \"%s\"" - -#: ../eval.c:6517 -#, c-format -msgid "E722: Missing comma in Dictionary: %s" -msgstr "E722: Camóg ar iarraidh i bhFoclóir: %s" - -#: ../eval.c:6524 -#, c-format -msgid "E723: Missing end of Dictionary '}': %s" -msgstr "E723: '}' ar iarraidh ag deireadh foclóra: %s" +msgid "Not enough memory to set references, garbage collection aborted!" +msgstr "" +"Níl go leor cuimhne ann le tagairtí a shocrú; bailiú dramhaíola á thobscor!" -#: ../eval.c:6555 msgid "E724: variable nested too deep for displaying" msgstr "E724: athróg neadaithe ródhomhain chun í a thaispeáint" -#: ../eval.c:7188 -#, c-format -msgid "E740: Too many arguments for function %s" -msgstr "E740: An iomarca argóintí d'fheidhm %s" - -#: ../eval.c:7190 -#, c-format -msgid "E116: Invalid arguments for function %s" -msgstr "E116: Argóintí neamhbhailí d'fheidhm %s" - -#: ../eval.c:7377 -#, c-format -msgid "E117: Unknown function: %s" -msgstr "E117: Feidhm anaithnid: %s" - -#: ../eval.c:7383 -#, c-format -msgid "E119: Not enough arguments for function: %s" -msgstr "E119: Níl go leor feidhmeanna d'fheidhm: %s" - -#: ../eval.c:7387 -#, c-format -msgid "E120: Using <SID> not in a script context: %s" -msgstr "E120: <SID> á úsáid ach gan a bheith i gcomhthéacs scripte: %s" - -#: ../eval.c:7391 -#, c-format -msgid "E725: Calling dict function without Dictionary: %s" -msgstr "E725: Feidhm 'dict' á ghlao gan Foclóir: %s" - -#: ../eval.c:7453 -msgid "E808: Number or Float required" -msgstr "E808: Uimhir nó Snámhphointe de dhíth" - -#: ../eval.c:7503 -#, fuzzy -msgid "add() argument" -msgstr "argóint -c" - -#: ../eval.c:7907 -msgid "E699: Too many arguments" -msgstr "E699: An iomarca argóintí" - -#: ../eval.c:8073 -msgid "E785: complete() can only be used in Insert mode" -msgstr "E785: is féidir complete() a úsáid sa mhód Ionsáite amháin" - -#: ../eval.c:8156 -msgid "&Ok" -msgstr "&Ok" - -#: ../eval.c:8676 -#, c-format -msgid "E737: Key already exists: %s" -msgstr "E737: Tá eochair ann cheana: %s" - -#: ../eval.c:8692 -#, fuzzy -msgid "extend() argument" -msgstr "argóint --cmd" - -#: ../eval.c:8915 -#, fuzzy -msgid "map() argument" -msgstr "argóint -c" - -#: ../eval.c:8916 -#, fuzzy -msgid "filter() argument" -msgstr "argóint -c" - -#: ../eval.c:9229 -#, c-format -msgid "+-%s%3ld lines: " -msgstr "+-%s%3ld líne: " - -#: ../eval.c:9291 -#, c-format -msgid "E700: Unknown function: %s" -msgstr "E700: Feidhm anaithnid: %s" - -#: ../eval.c:10729 -msgid "called inputrestore() more often than inputsave()" -msgstr "Glaodh inputrestore() níos minice ná inputsave()" - -#: ../eval.c:10771 -#, fuzzy -msgid "insert() argument" -msgstr "argóint -c" - -#: ../eval.c:10841 -msgid "E786: Range not allowed" -msgstr "E786: Ní cheadaítear an raon" - -#: ../eval.c:11140 -msgid "E701: Invalid type for len()" -msgstr "E701: Cineál neamhbhailí le haghaidh len()" - -#: ../eval.c:11980 -msgid "E726: Stride is zero" -msgstr "E726: Is nialas í an chéim" - -#: ../eval.c:11982 -msgid "E727: Start past end" -msgstr "E727: Tosach thar dheireadh" - -#: ../eval.c:12024 ../eval.c:15297 -msgid "<empty>" -msgstr "<folamh>" - -#: ../eval.c:12282 -#, fuzzy -msgid "remove() argument" -msgstr "argóint --cmd" +msgid "E805: Using a Float as a Number" +msgstr "E805: Snámhphointe á úsáid mar Uimhir" -#: ../eval.c:12466 -msgid "E655: Too many symbolic links (cycle?)" -msgstr "E655: An iomarca naisc shiombalacha (ciogal?)" +msgid "E703: Using a Funcref as a Number" +msgstr "E703: Funcref á úsáid mar Uimhir" -#: ../eval.c:12593 -#, fuzzy -msgid "reverse() argument" -msgstr "argóint -c" +msgid "E745: Using a List as a Number" +msgstr "E745: Liosta á úsáid mar Uimhir" -#: ../eval.c:13721 -#, fuzzy -msgid "sort() argument" -msgstr "argóint -c" +msgid "E728: Using a Dictionary as a Number" +msgstr "E728: Foclóir á úsáid mar Uimhir" -#: ../eval.c:13721 -#, fuzzy -msgid "uniq() argument" -msgstr "argóint -c" +msgid "E910: Using a Job as a Number" +msgstr "E910: Jab á úsáid mar Uimhir" -#: ../eval.c:13776 -msgid "E702: Sort compare function failed" -msgstr "E702: Theip ar fheidhm chomparáide le linn sórtála" +msgid "E913: Using a Channel as a Number" +msgstr "E913: Cainéal á úsáid mar Uimhir" -#: ../eval.c:13806 -#, fuzzy -msgid "E882: Uniq compare function failed" -msgstr "E702: Theip ar fheidhm chomparáide le linn sórtála" +msgid "E891: Using a Funcref as a Float" +msgstr "E891: Funcref á úsáid mar Shnámhphointe" -#: ../eval.c:14085 -msgid "(Invalid)" -msgstr "(Neamhbhailí)" +msgid "E892: Using a String as a Float" +msgstr "E892: Teaghrán á úsáid mar Shnámhphointe" -#: ../eval.c:14590 -msgid "E677: Error writing temp file" -msgstr "E677: Earráid agus comhad sealadach á scríobh" +msgid "E893: Using a List as a Float" +msgstr "E893: Liosta á úsáid mar Shnámhphointe" -#: ../eval.c:16159 -msgid "E805: Using a Float as a Number" -msgstr "E805: Snámhphointe á úsáid mar Uimhir" +msgid "E894: Using a Dictionary as a Float" +msgstr "E894: Foclóir á úsáid mar Shnámhphointe" -#: ../eval.c:16162 -msgid "E703: Using a Funcref as a Number" -msgstr "E703: Funcref á úsáid mar Uimhir" +msgid "E907: Using a special value as a Float" +msgstr "E907: Luach speisialta á úsáid mar Shnámhphointe" -#: ../eval.c:16170 -msgid "E745: Using a List as a Number" -msgstr "E745: Liosta á úsáid mar Uimhir" +msgid "E911: Using a Job as a Float" +msgstr "E911: Jab á úsáid mar Shnámhphointe" -#: ../eval.c:16173 -msgid "E728: Using a Dictionary as a Number" -msgstr "E728: Foclóir á úsáid mar Uimhir" +msgid "E914: Using a Channel as a Float" +msgstr "E914: Cainéal á úsáid mar Shnámhphointe" -#: ../eval.c:16259 msgid "E729: using Funcref as a String" msgstr "E729: Funcref á úsáid mar Theaghrán" -#: ../eval.c:16262 msgid "E730: using List as a String" msgstr "E730: Liosta á úsáid mar Theaghrán" -#: ../eval.c:16265 msgid "E731: using Dictionary as a String" msgstr "E731: Foclóir á úsáid mar Theaghrán" -#: ../eval.c:16619 -#, c-format -msgid "E706: Variable type mismatch for: %s" -msgstr "E706: Mímheaitseáil idir cineálacha athróige: %s" +msgid "E908: using an invalid value as a String" +msgstr "E908: luach neamhbhailí á úsáid mar Theaghrán" -#: ../eval.c:16705 #, c-format msgid "E795: Cannot delete variable %s" msgstr "E795: Ní féidir athróg %s a scriosadh" -#: ../eval.c:16724 #, c-format msgid "E704: Funcref variable name must start with a capital: %s" msgstr "E704: Caithfidh ceannlitir a bheith ar dtús ainm Funcref: %s" -#: ../eval.c:16732 #, c-format msgid "E705: Variable name conflicts with existing function: %s" msgstr "E705: Tagann ainm athróige salach ar fheidhm atá ann cheana: %s" -#: ../eval.c:16763 #, c-format msgid "E741: Value is locked: %s" msgstr "E741: Tá an luach faoi ghlas: %s" -#: ../eval.c:16764 ../eval.c:16769 ../message.c:1839 msgid "Unknown" msgstr "Anaithnid" -#: ../eval.c:16768 #, c-format msgid "E742: Cannot change value of %s" msgstr "E742: Ní féidir an luach de %s a athrú" -#: ../eval.c:16838 msgid "E698: variable nested too deep for making a copy" msgstr "E698: athróg neadaithe ródhomhain chun í a chóipeáil" -#: ../eval.c:17249 -#, c-format -msgid "E123: Undefined function: %s" -msgstr "E123: Feidhm gan sainmhíniú: %s" +msgid "" +"\n" +"# global variables:\n" +msgstr "" +"\n" +"# athróga comhchoiteanna:\n" -#: ../eval.c:17260 -#, c-format -msgid "E124: Missing '(': %s" -msgstr "E124: '(' ar iarraidh: %s" +msgid "" +"\n" +"\tLast set from " +msgstr "" +"\n" +"\tSocraithe is déanaí ó " -#: ../eval.c:17293 -#, fuzzy -msgid "E862: Cannot use g: here" -msgstr "E284: Ní féidir luachanna IC a shocrú" +msgid "map() argument" +msgstr "argóint map()" + +msgid "filter() argument" +msgstr "argóint filter()" -#: ../eval.c:17312 #, c-format -msgid "E125: Illegal argument: %s" -msgstr "E125: Argóint neamhcheadaithe: %s" +msgid "E686: Argument of %s must be a List" +msgstr "E686: Caithfidh argóint de %s a bheith ina Liosta" -#: ../eval.c:17323 -#, fuzzy, c-format -msgid "E853: Duplicate argument name: %s" -msgstr "E125: Argóint neamhcheadaithe: %s" +msgid "E928: String required" +msgstr "E928: Teaghrán de dhíth" -#: ../eval.c:17416 -msgid "E126: Missing :endfunction" -msgstr "E126: :endfunction ar iarraidh" +msgid "E808: Number or Float required" +msgstr "E808: Uimhir nó Snámhphointe de dhíth" -#: ../eval.c:17537 -#, c-format -msgid "E707: Function name conflicts with variable: %s" -msgstr "E707: Tagann ainm na feidhme salach ar athróg: %s" +msgid "add() argument" +msgstr "argóint add()" + +msgid "E785: complete() can only be used in Insert mode" +msgstr "E785: is féidir complete() a úsáid sa mhód Ionsáite amháin" + +#. +#. * Yes this is ugly, I don't particularly like it either. But doing it +#. * this way has the compelling advantage that translations need not to +#. * be touched at all. See below what 'ok' and 'ync' are used for. +#. +msgid "&Ok" +msgstr "&Ok" -#: ../eval.c:17549 #, c-format -msgid "E127: Cannot redefine function %s: It is in use" -msgstr "" -"E127: Ní féidir sainmhíniú nua a dhéanamh ar fheidhm %s: In úsáid cheana" +msgid "+-%s%3ld line: " +msgid_plural "+-%s%3ld lines: " +msgstr[0] "+-%s%3ld líne: " +msgstr[1] "+-%s%3ld líne: " +msgstr[2] "+-%s%3ld líne: " +msgstr[3] "+-%s%3ld líne: " +msgstr[4] "+-%s%3ld líne: " -#: ../eval.c:17604 #, c-format -msgid "E746: Function name does not match script file name: %s" -msgstr "" -"E746: Níl ainm na feidhme comhoiriúnach le hainm comhaid na scripte: %s" +msgid "E700: Unknown function: %s" +msgstr "E700: Feidhm anaithnid: %s" -#: ../eval.c:17716 -msgid "E129: Function name required" -msgstr "E129: Tá gá le hainm feidhme" +msgid "E922: expected a dict" +msgstr "E922: bhíothas ag súil le foclóir" -#: ../eval.c:17824 -#, fuzzy, c-format -msgid "E128: Function name must start with a capital or \"s:\": %s" -msgstr "" -"E128: Caithfidh ceannlitir a bheith ar dtús ainm feidhme, nó idirstad a " -"bheith ann: %s" +msgid "E923: Second argument of function() must be a list or a dict" +msgstr "E923: Caithfidh an dara hargóint de function() a bheith ina liosta nó ina foclóir" -#: ../eval.c:17833 -#, fuzzy, c-format -msgid "E884: Function name cannot contain a colon: %s" +msgid "" +"&OK\n" +"&Cancel" msgstr "" -"E128: Caithfidh ceannlitir a bheith ar dtús ainm feidhme, nó idirstad a " -"bheith ann: %s" +"&OK\n" +"&Cealaigh" -#: ../eval.c:18336 -#, c-format -msgid "E131: Cannot delete function %s: It is in use" -msgstr "E131: Ní féidir feidhm %s a scriosadh: Tá sé in úsáid faoi láthair" +msgid "called inputrestore() more often than inputsave()" +msgstr "Glaodh inputrestore() níos minice ná inputsave()" -#: ../eval.c:18441 -msgid "E132: Function call depth is higher than 'maxfuncdepth'" -msgstr "E132: Doimhneacht na nglaonna níos mó ná 'maxfuncdepth'" +msgid "insert() argument" +msgstr "argóint insert()" -#: ../eval.c:18568 -#, c-format -msgid "calling %s" -msgstr "%s á glao" +msgid "E786: Range not allowed" +msgstr "E786: Ní cheadaítear an raon" -#: ../eval.c:18651 -#, c-format -msgid "%s aborted" -msgstr "%s tobscortha" +msgid "E916: not a valid job" +msgstr "E916: ní jab bailí é" + +msgid "E701: Invalid type for len()" +msgstr "E701: Cineál neamhbhailí le haghaidh len()" -#: ../eval.c:18653 #, c-format -msgid "%s returning #%<PRId64>" -msgstr "%s ag aisfhilleadh #%<PRId64>" +msgid "E798: ID is reserved for \":match\": %ld" +msgstr "E798: Aitheantas in áirithe do \":match\": %ld" + +msgid "E726: Stride is zero" +msgstr "E726: Is nialas í an chéim" + +msgid "E727: Start past end" +msgstr "E727: Tosach thar dheireadh" + +msgid "<empty>" +msgstr "<folamh>" + +msgid "E240: No connection to Vim server" +msgstr "E240: Níl aon nasc le freastalaí Vim" -#: ../eval.c:18670 #, c-format -msgid "%s returning %s" -msgstr "%s ag aisfhilleadh %s" +msgid "E241: Unable to send to %s" +msgstr "E241: Ní féidir aon rud a sheoladh chuig %s" + +msgid "E277: Unable to read a server reply" +msgstr "E277: Ní féidir freagra ón fhreastalaí a léamh" + +msgid "remove() argument" +msgstr "argóint remove()" + +msgid "E655: Too many symbolic links (cycle?)" +msgstr "E655: An iomarca naisc shiombalacha (ciogal?)" + +msgid "reverse() argument" +msgstr "argóint reverse()" + +msgid "E258: Unable to send to client" +msgstr "E258: Ní féidir aon rud a sheoladh chuig an chliant" -#: ../eval.c:18691 ../ex_cmds2.c:2695 #, c-format -msgid "continuing in %s" -msgstr "ag leanúint i %s" +msgid "E927: Invalid action: '%s'" +msgstr "E927: Gníomh neamhbhailí: '%s'" -#: ../eval.c:18795 -msgid "E133: :return not inside a function" -msgstr "E133: Caithfidh :return a bheith isteach i bhfeidhm" +msgid "sort() argument" +msgstr "argóint sort()" -#: ../eval.c:19159 -msgid "" -"\n" -"# global variables:\n" -msgstr "" -"\n" -"# athróga comhchoiteanna:\n" +msgid "uniq() argument" +msgstr "argóint uniq()" -#: ../eval.c:19254 -msgid "" -"\n" -"\tLast set from " -msgstr "" -"\n" -"\tSocraithe is déanaí ó " +msgid "E702: Sort compare function failed" +msgstr "E702: Theip ar fheidhm chomparáide le linn sórtála" -#: ../eval.c:19272 -msgid "No old files" -msgstr "Gan seanchomhaid" +msgid "E882: Uniq compare function failed" +msgstr "E882: Theip ar fheidhm chomparáide Uniq" + +msgid "(Invalid)" +msgstr "(Neamhbhailí)" + +#, c-format +msgid "E935: invalid submatch number: %d" +msgstr "E935: uimhir fho-mheaitseála neamhbhailí: %d" + +msgid "E677: Error writing temp file" +msgstr "E677: Earráid agus comhad sealadach á scríobh" + +msgid "E921: Invalid callback argument" +msgstr "E921: Argóint neamhbhailí ar aisghlaoch" -#: ../ex_cmds.c:122 #, c-format msgid "<%s>%s%s %d, Hex %02x, Octal %03o" msgstr "<%s>%s%s %d, Heics %02x, Ocht %03o" -#: ../ex_cmds.c:145 #, c-format msgid "> %d, Hex %04x, Octal %o" msgstr "> %d, Heics %04x, Ocht %o" -#: ../ex_cmds.c:146 #, c-format msgid "> %d, Hex %08x, Octal %o" msgstr "> %d, Heics %08x, Ocht %o" -#: ../ex_cmds.c:684 msgid "E134: Move lines into themselves" msgstr "E134: Bog línte isteach iontu féin" -#: ../ex_cmds.c:747 msgid "1 line moved" msgstr "Bogadh líne amháin" -#: ../ex_cmds.c:749 #, c-format -msgid "%<PRId64> lines moved" -msgstr "Bogadh %<PRId64> líne" +msgid "%ld lines moved" +msgstr "Bogadh %ld líne" -#: ../ex_cmds.c:1175 #, c-format -msgid "%<PRId64> lines filtered" -msgstr "Scagadh %<PRId64> líne" +msgid "%ld lines filtered" +msgstr "Scagadh %ld líne" -#: ../ex_cmds.c:1194 msgid "E135: *Filter* Autocommands must not change current buffer" msgstr "" "E135: Ní cheadaítear d'uathorduithe *scagaire* an maolán reatha a athrú" -#: ../ex_cmds.c:1244 msgid "[No write since last change]\n" msgstr "[Athraithe agus nach sábháilte ó shin]\n" -#: ../ex_cmds.c:1424 #, c-format msgid "%sviminfo: %s in line: " msgstr "%sviminfo: %s i líne: " -#: ../ex_cmds.c:1431 msgid "E136: viminfo: Too many errors, skipping rest of file" msgstr "" "E136: viminfo: An iomarca earráidí, ag scipeáil an chuid eile den chomhad" -#: ../ex_cmds.c:1458 #, c-format msgid "Reading viminfo file \"%s\"%s%s%s" msgstr "Comhad viminfo \"%s\"%s%s%s á léamh" -#: ../ex_cmds.c:1460 msgid " info" msgstr " eolas" -#: ../ex_cmds.c:1461 msgid " marks" msgstr " marcanna" -#: ../ex_cmds.c:1462 msgid " oldfiles" msgstr " seanchomhad" -#: ../ex_cmds.c:1463 msgid " FAILED" msgstr " TEIPTHE" #. avoid a wait_return for this message, it's annoying -#: ../ex_cmds.c:1541 #, c-format msgid "E137: Viminfo file is not writable: %s" msgstr "E137: Níl an comhad Viminfo inscríofa: %s" -#: ../ex_cmds.c:1626 +#, c-format +msgid "E929: Too many viminfo temp files, like %s!" +msgstr "E929: An iomarca comhad sealadach viminfo, mar shampla %s!" + #, c-format msgid "E138: Can't write viminfo file %s!" msgstr "E138: Ní féidir comhad viminfo %s a scríobh!" -#: ../ex_cmds.c:1635 #, c-format msgid "Writing viminfo file \"%s\"" msgstr "Comhad viminfo \"%s\" á scríobh" +#, c-format +msgid "E886: Can't rename viminfo file to %s!" +msgstr "E886: Ní féidir ainm %s a chur ar an gcomhad viminfo!" + #. Write the info: -#: ../ex_cmds.c:1720 #, c-format msgid "# This viminfo file was generated by Vim %s.\n" msgstr "# Chruthaigh Vim an comhad viminfo seo %s.\n" -#: ../ex_cmds.c:1722 msgid "" "# You may edit it if you're careful!\n" "\n" @@ -1141,47 +885,47 @@ msgstr "" "# Is féidir leat an comhad seo a chur in eagar ach bí cúramach!\n" "\n" -#: ../ex_cmds.c:1723 msgid "# Value of 'encoding' when this file was written\n" msgstr "# Luach 'encoding' agus an comhad seo á scríobh\n" -#: ../ex_cmds.c:1800 msgid "Illegal starting char" msgstr "Carachtar neamhcheadaithe tosaigh" -#: ../ex_cmds.c:2162 +msgid "" +"\n" +"# Bar lines, copied verbatim:\n" +msgstr "" +"\n" +"# Barralínte, cóipeáilte focal ar fhocal:\n" + +msgid "Save As" +msgstr "Sábháil Mar" + msgid "Write partial file?" msgstr "Scríobh comhad neamhiomlán?" -#: ../ex_cmds.c:2166 msgid "E140: Use ! to write partial buffer" msgstr "E140: Bain úsáid as ! chun maolán neamhiomlán a scríobh" -#: ../ex_cmds.c:2281 #, c-format msgid "Overwrite existing file \"%s\"?" msgstr "Forscríobh comhad \"%s\" atá ann cheana?" -#: ../ex_cmds.c:2317 #, c-format msgid "Swap file \"%s\" exists, overwrite anyway?" msgstr "Tá comhad babhtála \"%s\" ann cheana; forscríobh mar sin féin?" -#: ../ex_cmds.c:2326 #, c-format msgid "E768: Swap file exists: %s (:silent! overrides)" msgstr "E768: Tá comhad babhtála ann cheana: %s (úsáid :silent! chun sárú)" -#: ../ex_cmds.c:2381 #, c-format -msgid "E141: No file name for buffer %<PRId64>" -msgstr "E141: Níl aon ainm ar mhaolán %<PRId64>" +msgid "E141: No file name for buffer %ld" +msgstr "E141: Níl aon ainm ar mhaolán %ld" -#: ../ex_cmds.c:2412 msgid "E142: File not written: Writing is disabled by 'write' option" msgstr "E142: Níor scríobhadh an comhad: díchumasaithe leis an rogha 'write'" -#: ../ex_cmds.c:2434 #, c-format msgid "" "'readonly' option is set for \"%s\".\n" @@ -1190,7 +934,6 @@ msgstr "" "tá an rogha 'readonly' socraithe do \"%s\".\n" "Ar mhaith leat é a scríobh mar sin féin?" -#: ../ex_cmds.c:2439 #, c-format msgid "" "File permissions of \"%s\" are read-only.\n" @@ -1201,85 +944,70 @@ msgstr "" "Seans gurbh fhéidir scríobh ann mar sin féin.\n" "An bhfuil fonn ort triail a bhaint as?" -#: ../ex_cmds.c:2451 #, c-format msgid "E505: \"%s\" is read-only (add ! to override)" msgstr "E505: is inléite amháin é \"%s\" (cuir ! leis an ordú chun sárú)" -#: ../ex_cmds.c:3120 +msgid "Edit File" +msgstr "Cuir Comhad in Eagar" + #, c-format msgid "E143: Autocommands unexpectedly deleted new buffer %s" msgstr "E143: Scrios na huathorduithe maolán nua %s go tobann" -#: ../ex_cmds.c:3313 msgid "E144: non-numeric argument to :z" msgstr "E144: argóint neamhuimhriúil chun :z" -#: ../ex_cmds.c:3404 msgid "E145: Shell commands not allowed in rvim" msgstr "E145: Ní cheadaítear orduithe blaoisce i rvim" -#: ../ex_cmds.c:3498 msgid "E146: Regular expressions can't be delimited by letters" msgstr "" "E146: Ní cheadaítear litreacha mar theormharcóirí ar shloinn ionadaíochta" -#: ../ex_cmds.c:3964 #, c-format msgid "replace with %s (y/n/a/q/l/^E/^Y)?" msgstr "cuir %s ina ionad (y/n/a/q/l/^E/^Y)?" -#: ../ex_cmds.c:4379 msgid "(Interrupted) " msgstr "(Idirbhriste) " -#: ../ex_cmds.c:4384 msgid "1 match" msgstr "1 rud comhoiriúnach" -#: ../ex_cmds.c:4384 msgid "1 substitution" msgstr "1 ionadaíocht" -#: ../ex_cmds.c:4387 #, c-format -msgid "%<PRId64> matches" -msgstr "%<PRId64> rud comhoiriúnach" +msgid "%ld matches" +msgstr "%ld rud comhoiriúnach" -#: ../ex_cmds.c:4388 #, c-format -msgid "%<PRId64> substitutions" -msgstr "%<PRId64> ionadaíocht" +msgid "%ld substitutions" +msgstr "%ld ionadaíocht" -#: ../ex_cmds.c:4392 msgid " on 1 line" msgstr " ar líne amháin" -#: ../ex_cmds.c:4395 #, c-format -msgid " on %<PRId64> lines" -msgstr " ar %<PRId64> líne" +msgid " on %ld lines" +msgstr " ar %ld líne" -#: ../ex_cmds.c:4438 msgid "E147: Cannot do :global recursive" msgstr "E147: Ní cheadaítear :global go hathchúrsach" # should have ":" -#: ../ex_cmds.c:4467 msgid "E148: Regular expression missing from global" msgstr "E148: Slonn ionadaíochta ar iarraidh ó :global" -#: ../ex_cmds.c:4508 #, c-format msgid "Pattern found in every line: %s" msgstr "Aimsíodh an patrún i ngach líne: %s" -#: ../ex_cmds.c:4510 -#, fuzzy, c-format +#, c-format msgid "Pattern not found: %s" -msgstr "Patrún gan aimsiú" +msgstr "Patrún gan aimsiú: %s" -#: ../ex_cmds.c:4587 msgid "" "\n" "# Last Substitute String:\n" @@ -1289,682 +1017,599 @@ msgstr "" "# Teaghrán Ionadach Is Déanaí:\n" "$" -#: ../ex_cmds.c:4679 msgid "E478: Don't panic!" msgstr "E478: Ná téigh i scaoll!" -#: ../ex_cmds.c:4717 #, c-format msgid "E661: Sorry, no '%s' help for %s" msgstr "E661: Tá brón orm, ní aon chabhair '%s' do %s" -#: ../ex_cmds.c:4719 #, c-format msgid "E149: Sorry, no help for %s" msgstr "E149: Tá brón orm, níl aon chabhair do %s" -#: ../ex_cmds.c:4751 #, c-format msgid "Sorry, help file \"%s\" not found" msgstr "Tá brón orm, comhad cabhrach \"%s\" gan aimsiú" -#: ../ex_cmds.c:5323 #, c-format -msgid "E150: Not a directory: %s" -msgstr "E150: Ní comhadlann é: %s" +msgid "E151: No match: %s" +msgstr "E151: Gan meaitseáil: %s" -#: ../ex_cmds.c:5446 #, c-format msgid "E152: Cannot open %s for writing" msgstr "E152: Ní féidir %s a oscailt chun scríobh ann" -#: ../ex_cmds.c:5471 #, c-format msgid "E153: Unable to open %s for reading" msgstr "E153: Ní féidir %s a oscailt chun é a léamh" -#: ../ex_cmds.c:5500 #, c-format msgid "E670: Mix of help file encodings within a language: %s" msgstr "E670: Ionchóduithe éagsúla do chomhaid chabhracha i dteanga aonair: %s" -#: ../ex_cmds.c:5565 #, c-format msgid "E154: Duplicate tag \"%s\" in file %s/%s" msgstr "E154: Clib dhúblach \"%s\" i gcomhad %s/%s" -#: ../ex_cmds.c:5687 +#, c-format +msgid "E150: Not a directory: %s" +msgstr "E150: Ní comhadlann é: %s" + #, c-format msgid "E160: Unknown sign command: %s" msgstr "E160: Ordú anaithnid comhartha: %s" -#: ../ex_cmds.c:5704 msgid "E156: Missing sign name" msgstr "E156: Ainm comhartha ar iarraidh" -#: ../ex_cmds.c:5746 msgid "E612: Too many signs defined" msgstr "E612: An iomarca comharthaí sainmhínithe" -#: ../ex_cmds.c:5813 #, c-format msgid "E239: Invalid sign text: %s" msgstr "E239: Téacs neamhbhailí comhartha: %s" -#: ../ex_cmds.c:5844 ../ex_cmds.c:6035 #, c-format msgid "E155: Unknown sign: %s" msgstr "E155: Comhartha anaithnid: %s" -#: ../ex_cmds.c:5877 msgid "E159: Missing sign number" msgstr "E159: Uimhir chomhartha ar iarraidh" -#: ../ex_cmds.c:5971 #, c-format msgid "E158: Invalid buffer name: %s" msgstr "E158: Ainm maoláin neamhbhailí: %s" -#: ../ex_cmds.c:6008 +msgid "E934: Cannot jump to a buffer that does not have a name" +msgstr "E934: Ní féidir léim go maolán gan ainm" + #, c-format -msgid "E157: Invalid sign ID: %<PRId64>" -msgstr "E157: ID neamhbhailí comhartha: %<PRId64>" +msgid "E157: Invalid sign ID: %ld" +msgstr "E157: ID neamhbhailí comhartha: %ld" + +#, c-format +msgid "E885: Not possible to change sign %s" +msgstr "E885: Ní féidir an comhartha a athrú: %s" + +msgid " (NOT FOUND)" +msgstr " (AR IARRAIDH)" -#: ../ex_cmds.c:6066 msgid " (not supported)" msgstr " (níl an rogha seo ar fáil)" -#: ../ex_cmds.c:6169 msgid "[Deleted]" msgstr "[Scriosta]" -#: ../ex_cmds2.c:139 +msgid "No old files" +msgstr "Gan seanchomhaid" + msgid "Entering Debug mode. Type \"cont\" to continue." msgstr "Mód dífhabhtaithe á thosú. Clóscríobh \"cont\" chun leanúint." -#: ../ex_cmds2.c:143 ../ex_docmd.c:759 #, c-format -msgid "line %<PRId64>: %s" -msgstr "líne %<PRId64>: %s" +msgid "line %ld: %s" +msgstr "líne %ld: %s" -#: ../ex_cmds2.c:145 #, c-format msgid "cmd: %s" msgstr "ordú: %s" -#: ../ex_cmds2.c:322 +msgid "frame is zero" +msgstr "is nialas é an fráma" + #, c-format -msgid "Breakpoint in \"%s%s\" line %<PRId64>" -msgstr "Brisphointe i \"%s%s\" líne %<PRId64>" +msgid "frame at highest level: %d" +msgstr "fráma ag an leibhéal is airde: %d" + +#, c-format +msgid "Breakpoint in \"%s%s\" line %ld" +msgstr "Brisphointe i \"%s%s\" líne %ld" -#: ../ex_cmds2.c:581 #, c-format msgid "E161: Breakpoint not found: %s" msgstr "E161: Brisphointe gan aimsiú: %s" -#: ../ex_cmds2.c:611 msgid "No breakpoints defined" msgstr "Níl aon bhrisphointe socraithe" -#: ../ex_cmds2.c:617 #, c-format -msgid "%3d %s %s line %<PRId64>" -msgstr "%3d %s %s líne %<PRId64>" +msgid "%3d %s %s line %ld" +msgstr "%3d %s %s líne %ld" -#: ../ex_cmds2.c:942 msgid "E750: First use \":profile start {fname}\"" msgstr "E750: Úsáid \":profile start {ainm}\" ar dtús" -#: ../ex_cmds2.c:1269 #, c-format msgid "Save changes to \"%s\"?" msgstr "Sábháil athruithe ar \"%s\"?" -#: ../ex_cmds2.c:1271 ../ex_docmd.c:8851 msgid "Untitled" msgstr "Gan Teideal" -#: ../ex_cmds2.c:1421 #, c-format msgid "E162: No write since last change for buffer \"%s\"" msgstr "E162: Athraíodh maolán \"%s\" ach nach bhfuil sé sábháilte ó shin" -#: ../ex_cmds2.c:1480 msgid "Warning: Entered other buffer unexpectedly (check autocommands)" msgstr "Rabhadh: Chuathas i maolán eile go tobann (seiceáil na huathorduithe)" -#: ../ex_cmds2.c:1826 msgid "E163: There is only one file to edit" msgstr "E163: Níl ach aon chomhad amháin le cur in eagar" -#: ../ex_cmds2.c:1828 msgid "E164: Cannot go before first file" msgstr "E164: Ní féidir a dhul roimh an chéad chomhad" -#: ../ex_cmds2.c:1830 msgid "E165: Cannot go beyond last file" msgstr "E165: Ní féidir a dhul thar an gcomhad deireanach" -#: ../ex_cmds2.c:2175 #, c-format msgid "E666: compiler not supported: %s" msgstr "E666: ní ghlactar leis an tiomsaitheoir: %s" -#: ../ex_cmds2.c:2257 #, c-format msgid "Searching for \"%s\" in \"%s\"" msgstr "Ag déanamh cuardach ar \"%s\" i \"%s\"" -#: ../ex_cmds2.c:2284 #, c-format msgid "Searching for \"%s\"" msgstr "Ag déanamh cuardach ar \"%s\"" -#: ../ex_cmds2.c:2307 #, c-format -msgid "not found in 'runtimepath': \"%s\"" -msgstr "gan aimsiú i 'runtimepath': \"%s\"" +msgid "not found in '%s': \"%s\"" +msgstr "gan aimsiú in '%s': \"%s\"" + +msgid "Source Vim script" +msgstr "Foinsigh script Vim" -#: ../ex_cmds2.c:2472 #, c-format msgid "Cannot source a directory: \"%s\"" msgstr "Ní féidir comhadlann a léamh: \"%s\"" -#: ../ex_cmds2.c:2518 #, c-format msgid "could not source \"%s\"" msgstr "níorbh fhéidir \"%s\" a léamh" -#: ../ex_cmds2.c:2520 #, c-format -msgid "line %<PRId64>: could not source \"%s\"" -msgstr "líne %<PRId64>: níorbh fhéidir \"%s\" a fhoinsiú" +msgid "line %ld: could not source \"%s\"" +msgstr "líne %ld: níorbh fhéidir \"%s\" a fhoinsiú" -#: ../ex_cmds2.c:2535 #, c-format msgid "sourcing \"%s\"" msgstr "\"%s\" á fhoinsiú" -#: ../ex_cmds2.c:2537 #, c-format -msgid "line %<PRId64>: sourcing \"%s\"" -msgstr "líne %<PRId64>: \"%s\" á fhoinsiú" +msgid "line %ld: sourcing \"%s\"" +msgstr "líne %ld: \"%s\" á fhoinsiú" -#: ../ex_cmds2.c:2693 #, c-format msgid "finished sourcing %s" msgstr "deireadh ag foinsiú %s" -#: ../ex_cmds2.c:2765 +#, c-format +msgid "continuing in %s" +msgstr "ag leanúint i %s" + msgid "modeline" msgstr "módlíne" -#: ../ex_cmds2.c:2767 msgid "--cmd argument" msgstr "argóint --cmd" -#: ../ex_cmds2.c:2769 msgid "-c argument" msgstr "argóint -c" -#: ../ex_cmds2.c:2771 msgid "environment variable" msgstr "athróg thimpeallachta" -#: ../ex_cmds2.c:2773 msgid "error handler" msgstr "láimhseálaí earráidí" -#: ../ex_cmds2.c:3020 msgid "W15: Warning: Wrong line separator, ^M may be missing" msgstr "" "W15: Rabhadh: Deighilteoir línte mícheart, is féidir go bhfuil ^M ar iarraidh" -#: ../ex_cmds2.c:3139 msgid "E167: :scriptencoding used outside of a sourced file" msgstr "E167: ní úsáidtear :scriptencoding ach i gcomhad foinsithe" -#: ../ex_cmds2.c:3166 msgid "E168: :finish used outside of a sourced file" msgstr "E168: ní úsáidtear :finish ach i gcomhaid foinsithe" -#: ../ex_cmds2.c:3389 #, c-format msgid "Current %slanguage: \"%s\"" msgstr "%sTeanga faoi láthair: \"%s\"" -#: ../ex_cmds2.c:3404 #, c-format msgid "E197: Cannot set language to \"%s\"" msgstr "E197: Ní féidir an teanga a shocrú mar \"%s\"" -#. don't redisplay the window -#. don't wait for return -#: ../ex_docmd.c:387 msgid "Entering Ex mode. Type \"visual\" to go to Normal mode." msgstr "Mód Ex á thosú. Clóscríobh \"visual\" le haghaidh an ghnáthmhód." # in FARF -KPS -#: ../ex_docmd.c:428 msgid "E501: At end-of-file" msgstr "E501: Ag an chomhadchríoch" -#: ../ex_docmd.c:513 msgid "E169: Command too recursive" msgstr "E169: Ordú ró-athchúrsach" -#: ../ex_docmd.c:1006 #, c-format msgid "E605: Exception not caught: %s" msgstr "E605: Eisceacht gan láimhseáil: %s" -#: ../ex_docmd.c:1085 msgid "End of sourced file" msgstr "Críoch chomhaid foinsithe" -#: ../ex_docmd.c:1086 msgid "End of function" msgstr "Críoch fheidhme" -#: ../ex_docmd.c:1628 msgid "E464: Ambiguous use of user-defined command" msgstr "E464: Úsáid athbhríoch d'ordú saincheaptha" -#: ../ex_docmd.c:1638 msgid "E492: Not an editor command" msgstr "E492: Níl ina ordú eagarthóra" -#: ../ex_docmd.c:1729 msgid "E493: Backwards range given" msgstr "E493: Raon droim ar ais" -#: ../ex_docmd.c:1733 msgid "Backwards range given, OK to swap" msgstr "Raon droim ar ais, babhtáil" -#. append -#. typed wrong -#: ../ex_docmd.c:1787 msgid "E494: Use w or w>>" msgstr "E494: Bain úsáid as w nó w>>" -#: ../ex_docmd.c:3454 -msgid "E319: The command is not available in this version" +msgid "E319: Sorry, the command is not available in this version" msgstr "E319: Tá brón orm, níl an t-ordú ar fáil sa leagan seo" -#: ../ex_docmd.c:3752 msgid "E172: Only one file name allowed" msgstr "E172: Ní cheadaítear ach aon ainm comhaid amháin" -#: ../ex_docmd.c:4238 msgid "1 more file to edit. Quit anyway?" msgstr "1 comhad le cur in eagar fós. Scoir mar sin féin?" -#: ../ex_docmd.c:4242 #, c-format msgid "%d more files to edit. Quit anyway?" msgstr "%d comhad le cur in eagar fós. Scoir mar sin féin?" -#: ../ex_docmd.c:4248 msgid "E173: 1 more file to edit" msgstr "E173: 1 chomhad le heagrú fós" -#: ../ex_docmd.c:4250 #, c-format -msgid "E173: %<PRId64> more files to edit" -msgstr "E173: %<PRId64> comhad le cur in eagar" +msgid "E173: %ld more files to edit" +msgstr "E173: %ld comhad le cur in eagar" -#: ../ex_docmd.c:4320 msgid "E174: Command already exists: add ! to replace it" msgstr "E174: Tá an t-ordú ann cheana: cuir ! leis chun sárú" -#: ../ex_docmd.c:4432 msgid "" "\n" -" Name Args Range Complete Definition" +" Name Args Address Complete Definition" msgstr "" "\n" -" Ainm Arg Raon Iomlán Sainmhíniú" +" Ainm Arg Seoladh Iomlán Sainmhíniú" -#: ../ex_docmd.c:4516 msgid "No user-defined commands found" msgstr "Níl aon ordú aimsithe atá sainithe ag an úsáideoir" -#: ../ex_docmd.c:4538 msgid "E175: No attribute specified" msgstr "E175: Níl aon aitreabúid sainithe" -#: ../ex_docmd.c:4583 msgid "E176: Invalid number of arguments" msgstr "E176: Tá líon na n-argóintí mícheart" -#: ../ex_docmd.c:4594 msgid "E177: Count cannot be specified twice" msgstr "E177: Ní cheadaítear an t-áireamh a bheith tugtha faoi dhó" -#: ../ex_docmd.c:4603 msgid "E178: Invalid default value for count" msgstr "E178: Luach réamhshocraithe neamhbhailí ar áireamh" -#: ../ex_docmd.c:4625 msgid "E179: argument required for -complete" msgstr "E179: tá gá le hargóint i ndiaidh -complete" -#: ../ex_docmd.c:4635 +msgid "E179: argument required for -addr" +msgstr "E179: tá gá le hargóint i ndiaidh -addr" + #, c-format msgid "E181: Invalid attribute: %s" msgstr "E181: Aitreabúid neamhbhailí: %s" -#: ../ex_docmd.c:4678 msgid "E182: Invalid command name" msgstr "E182: Ainm neamhbhailí ordaithe" -#: ../ex_docmd.c:4691 msgid "E183: User defined commands must start with an uppercase letter" msgstr "" "E183: Caithfidh ceannlitir a bheith ar dtús orduithe atá sainithe ag an " "úsáideoir" -#: ../ex_docmd.c:4696 -#, fuzzy msgid "E841: Reserved name, cannot be used for user defined command" -msgstr "E464: Úsáid athbhríoch d'ordú saincheaptha" +msgstr "" +"E841: Ainm in áirithe, ní féidir é a chur ar ordú sainithe ag an úsáideoir" -#: ../ex_docmd.c:4751 #, c-format msgid "E184: No such user-defined command: %s" msgstr "E184: Níl a leithéid d'ordú saincheaptha: %s" -#: ../ex_docmd.c:5219 +#, c-format +msgid "E180: Invalid address type value: %s" +msgstr "E180: Cineál neamhbhailí seolta: %s" + #, c-format msgid "E180: Invalid complete value: %s" msgstr "E180: Luach iomlán neamhbhailí: %s" -#: ../ex_docmd.c:5225 msgid "E468: Completion argument only allowed for custom completion" msgstr "" "E468: Ní cheadaítear argóint chomhlánaithe ach le comhlánú saincheaptha" -#: ../ex_docmd.c:5231 msgid "E467: Custom completion requires a function argument" msgstr "E467: Tá gá le hargóint fheidhme le comhlánú saincheaptha" -#: ../ex_docmd.c:5257 -#, fuzzy, c-format +msgid "unknown" +msgstr "anaithnid" + +#, c-format msgid "E185: Cannot find color scheme '%s'" -msgstr "E185: Scéim dathanna %s gan aimsiú" +msgstr "E185: Scéim dathanna '%s' gan aimsiú" -#: ../ex_docmd.c:5263 msgid "Greetings, Vim user!" msgstr "Dia duit, a úsáideoir Vim!" -#: ../ex_docmd.c:5431 msgid "E784: Cannot close last tab page" -msgstr "E784: Ní féidir an leathanach cluaisín deiridh a dhúnadh" +msgstr "E784: Ní féidir an leathanach cluaisíní deiridh a dhúnadh" -#: ../ex_docmd.c:5462 msgid "Already only one tab page" -msgstr "Níl ach leathanach cluaisín amháin cheana féin" +msgstr "Níl ach leathanach cluaisíní amháin cheana féin" + +msgid "Edit File in new window" +msgstr "Cuir comhad in eagar i bhfuinneog nua" -#: ../ex_docmd.c:6004 #, c-format msgid "Tab page %d" msgstr "Leathanach cluaisín %d" -#: ../ex_docmd.c:6295 msgid "No swap file" msgstr "Níl aon chomhad babhtála ann" -#: ../ex_docmd.c:6478 +msgid "Append File" +msgstr "Cuir Comhad i nDeireadh" + msgid "E747: Cannot change directory, buffer is modified (add ! to override)" msgstr "" "E747: Ní féidir an chomhadlann a athrú, mionathraíodh an maolán (cuir ! leis " "an ordú chun sárú)" -#: ../ex_docmd.c:6485 msgid "E186: No previous directory" msgstr "E186: Níl aon chomhadlann roimhe seo" -#: ../ex_docmd.c:6530 msgid "E187: Unknown" msgstr "E187: Anaithnid" -#: ../ex_docmd.c:6610 msgid "E465: :winsize requires two number arguments" msgstr "E465: ní foláir dhá argóint uimhriúla le :winsize" -#: ../ex_docmd.c:6655 +#, c-format +msgid "Window position: X %d, Y %d" +msgstr "Ionad na fuinneoige: X %d, Y %d" + msgid "E188: Obtaining window position not implemented for this platform" msgstr "E188: Ní féidir ionad na fuinneoige a fháil amach ar an chóras seo" -#: ../ex_docmd.c:6662 msgid "E466: :winpos requires two number arguments" msgstr "E466: ní foláir dhá argóint uimhriúla le :winpos" -#: ../ex_docmd.c:7241 +msgid "E930: Cannot use :redir inside execute()" +msgstr "E930: Ní féidir :redir a úsáid laistigh de execute()" + +msgid "Save Redirection" +msgstr "Sábháil Atreorú" + +msgid "Save View" +msgstr "Sábháil an tAmharc" + +msgid "Save Session" +msgstr "Sábháil an Seisiún" + +msgid "Save Setup" +msgstr "Sábháil an Socrú" + #, c-format msgid "E739: Cannot create directory: %s" msgstr "E739: Ní féidir comhadlann a chruthú: %s" -#: ../ex_docmd.c:7268 #, c-format msgid "E189: \"%s\" exists (add ! to override)" msgstr "E189: Tá \"%s\" ann cheana (cuir ! leis an ordú chun sárú)" -#: ../ex_docmd.c:7273 #, c-format msgid "E190: Cannot open \"%s\" for writing" msgstr "E190: Ní féidir \"%s\" a oscailt chun léamh" #. set mark -#: ../ex_docmd.c:7294 msgid "E191: Argument must be a letter or forward/backward quote" msgstr "E191: Caithfidh an argóint a bheith litir nó comhartha athfhriotal" -#: ../ex_docmd.c:7333 msgid "E192: Recursive use of :normal too deep" msgstr "E192: athchúrsáil :normal ródhomhain" -#: ../ex_docmd.c:7807 +msgid "E809: #< is not available without the +eval feature" +msgstr "E809: níl #< ar fáil gan ghné +eval" + msgid "E194: No alternate file name to substitute for '#'" msgstr "E194: Níl aon ainm comhaid a chur in ionad '#'" -#: ../ex_docmd.c:7841 msgid "E495: no autocommand file name to substitute for \"<afile>\"" msgstr "E495: níl aon ainm comhaid uathordaithe le cur in ionad \"<afile>\"" -#: ../ex_docmd.c:7850 msgid "E496: no autocommand buffer number to substitute for \"<abuf>\"" msgstr "E496: níl aon uimhir mhaolán uathordaithe le cur in ionad \"<abuf>\"" -#: ../ex_docmd.c:7861 msgid "E497: no autocommand match name to substitute for \"<amatch>\"" msgstr "" "E497: níl aon ainm meaitseála uathordaithe le cur in ionad \"<amatch>\"" -#: ../ex_docmd.c:7870 msgid "E498: no :source file name to substitute for \"<sfile>\"" msgstr "E498: níl aon ainm comhaid :source le cur in ionad \"<sfile>\"" -#: ../ex_docmd.c:7876 -#, fuzzy msgid "E842: no line number to use for \"<slnum>\"" -msgstr "E498: níl aon ainm comhaid :source le cur in ionad \"<sfile>\"" +msgstr "E842: níl aon líne-uimhir ar fáil le haghaidh \"<slnum>\"" -#: ../ex_docmd.c:7903 -#, fuzzy, c-format +#, no-c-format msgid "E499: Empty file name for '%' or '#', only works with \":p:h\"" msgstr "" "E499: Ainm comhaid folamh le haghaidh '%' nó '#', oibreoidh sé le \":p:h\" " "amháin" -#: ../ex_docmd.c:7905 msgid "E500: Evaluates to an empty string" msgstr "E500: Luacháiltear é seo mar theaghrán folamh" -#: ../ex_docmd.c:8838 msgid "E195: Cannot open viminfo file for reading" msgstr "E195: Ní féidir an comhad viminfo a oscailt chun léamh" -#: ../ex_eval.c:464 +msgid "E196: No digraphs in this version" +msgstr "E196: Ní cheadaítear déghraif sa leagan seo" + msgid "E608: Cannot :throw exceptions with 'Vim' prefix" msgstr "E608: Ní féidir eisceachtaí a :throw le réimír 'Vim'" #. always scroll up, don't overwrite -#: ../ex_eval.c:496 #, c-format msgid "Exception thrown: %s" msgstr "Gineadh eisceacht: %s" -#: ../ex_eval.c:545 #, c-format msgid "Exception finished: %s" msgstr "Eisceacht curtha i gcrích: %s" -#: ../ex_eval.c:546 #, c-format msgid "Exception discarded: %s" msgstr "Eisceacht curtha i leataobh: %s" -#: ../ex_eval.c:588 ../ex_eval.c:634 #, c-format -msgid "%s, line %<PRId64>" -msgstr "%s, líne %<PRId64>" +msgid "%s, line %ld" +msgstr "%s, líne %ld" #. always scroll up, don't overwrite -#: ../ex_eval.c:608 #, c-format msgid "Exception caught: %s" msgstr "Láimhseáladh eisceacht: %s" -#: ../ex_eval.c:676 #, c-format msgid "%s made pending" msgstr "%s ar feitheamh anois" -#: ../ex_eval.c:679 #, c-format msgid "%s resumed" msgstr "atosaíodh %s" -#: ../ex_eval.c:683 #, c-format msgid "%s discarded" msgstr "%s curtha i leataobh" -#: ../ex_eval.c:708 msgid "Exception" msgstr "Eisceacht" -#: ../ex_eval.c:713 msgid "Error and interrupt" msgstr "Earráid agus idirbhriseadh" -#: ../ex_eval.c:715 msgid "Error" msgstr "Earráid" #. if (pending & CSTP_INTERRUPT) -#: ../ex_eval.c:717 msgid "Interrupt" msgstr "Idirbhriseadh" -#: ../ex_eval.c:795 msgid "E579: :if nesting too deep" msgstr "E579: :if neadaithe ródhomhain" -#: ../ex_eval.c:830 msgid "E580: :endif without :if" msgstr "E580: :endif gan :if" -#: ../ex_eval.c:873 msgid "E581: :else without :if" msgstr "E581: :else gan :if" -#: ../ex_eval.c:876 msgid "E582: :elseif without :if" msgstr "E582: :elseif gan :if" -#: ../ex_eval.c:880 msgid "E583: multiple :else" msgstr "E583: :else iomadúla" -#: ../ex_eval.c:883 msgid "E584: :elseif after :else" msgstr "E584: :elseif i ndiaidh :else" -#: ../ex_eval.c:941 msgid "E585: :while/:for nesting too deep" msgstr "E585: :while/:for neadaithe ródhomhain" -#: ../ex_eval.c:1028 msgid "E586: :continue without :while or :for" msgstr "E586: :continue gan :while ná :for" -#: ../ex_eval.c:1061 msgid "E587: :break without :while or :for" msgstr "E587: :break gan :while ná :for" -#: ../ex_eval.c:1102 msgid "E732: Using :endfor with :while" msgstr "E732: :endfor á úsáid le :while" -#: ../ex_eval.c:1104 msgid "E733: Using :endwhile with :for" msgstr "E733: :endwhile á úsáid le :for" -#: ../ex_eval.c:1247 msgid "E601: :try nesting too deep" msgstr "E601: :try neadaithe ródhomhain" -#: ../ex_eval.c:1317 msgid "E603: :catch without :try" msgstr "E603: :catch gan :try" #. Give up for a ":catch" after ":finally" and ignore it. #. * Just parse. -#: ../ex_eval.c:1332 msgid "E604: :catch after :finally" msgstr "E604: :catch i ndiaidh :finally" -#: ../ex_eval.c:1451 msgid "E606: :finally without :try" msgstr "E606: :finally gan :try" #. Give up for a multiple ":finally" and ignore it. -#: ../ex_eval.c:1467 msgid "E607: multiple :finally" msgstr "E607: :finally iomadúla" -#: ../ex_eval.c:1571 msgid "E602: :endtry without :try" msgstr "E602: :endtry gan :try" -#: ../ex_eval.c:2026 msgid "E193: :endfunction not inside a function" msgstr "E193: Caithfidh :endfunction a bheith isteach i bhfeidhm" -#: ../ex_getln.c:1643 msgid "E788: Not allowed to edit another buffer now" msgstr "E788: Níl cead agat maolán eile a chur in eagar anois" -#: ../ex_getln.c:1656 msgid "E811: Not allowed to change buffer information now" msgstr "E811: Níl cead agat faisnéis an mhaoláin a athrú anois" -#: ../ex_getln.c:3178 msgid "tagname" msgstr "clibainm" -#: ../ex_getln.c:3181 msgid " kind file\n" msgstr " cineál comhaid\n" -#: ../ex_getln.c:4799 msgid "'history' option is zero" msgstr "tá an rogha 'history' nialas" -#: ../ex_getln.c:5046 #, c-format msgid "" "\n" @@ -1975,310 +1620,230 @@ msgstr "" # this gets plugged into the %s in the previous string, # hence the colon -#: ../ex_getln.c:5047 msgid "Command Line" msgstr "Líne na nOrduithe:" -#: ../ex_getln.c:5048 msgid "Search String" msgstr "Teaghrán Cuardaigh" -#: ../ex_getln.c:5049 msgid "Expression" msgstr "Sloinn:" -#: ../ex_getln.c:5050 msgid "Input Line" msgstr "Líne an Ionchuir:" -#: ../ex_getln.c:5117 +msgid "Debug Line" +msgstr "Líne Dhífhabhtaithe" + msgid "E198: cmd_pchar beyond the command length" msgstr "E198: cmd_pchar os cionn fad an ordaithe" -#: ../ex_getln.c:5279 msgid "E199: Active window or buffer deleted" msgstr "E199: Scriosadh an fhuinneog reatha nó an maolán reatha" -#: ../file_search.c:203 -msgid "E854: path too long for completion" -msgstr "" - -#: ../file_search.c:446 -#, c-format -msgid "" -"E343: Invalid path: '**[number]' must be at the end of the path or be " -"followed by '%s'." -msgstr "" -"E343: Conair neamhbhailí: ní mór '**[uimhir]' a bheith ag deireadh na " -"conaire, nó le '%s' ina dhiaidh." - -#: ../file_search.c:1505 -#, c-format -msgid "E344: Can't find directory \"%s\" in cdpath" -msgstr "E344: Ní féidir comhadlann \"%s\" a aimsiú sa cdpath" - -#: ../file_search.c:1508 -#, c-format -msgid "E345: Can't find file \"%s\" in path" -msgstr "E345: Ní féidir comhad \"%s\" a aimsiú sa chonair" - -#: ../file_search.c:1512 -#, c-format -msgid "E346: No more directory \"%s\" found in cdpath" -msgstr "E346: Níl comhadlann \"%s\" sa cdpath a thuilleadh" - -#: ../file_search.c:1515 -#, c-format -msgid "E347: No more file \"%s\" found in path" -msgstr "E347: Níl comhad \"%s\" sa chonair a thuilleadh" - -#: ../fileio.c:137 msgid "E812: Autocommands changed buffer or buffer name" msgstr "E812: Bhí maolán nó ainm maoláin athraithe ag orduithe uathoibríocha" -#: ../fileio.c:368 msgid "Illegal file name" msgstr "Ainm comhaid neamhcheadaithe" -#: ../fileio.c:395 ../fileio.c:476 ../fileio.c:2543 ../fileio.c:2578 msgid "is a directory" msgstr "is comhadlann é" -#: ../fileio.c:397 msgid "is not a file" msgstr "ní comhad é" -#: ../fileio.c:508 ../fileio.c:3522 +msgid "is a device (disabled with 'opendevice' option)" +msgstr "is gléas é seo (díchumasaithe le rogha 'opendevice')" + msgid "[New File]" msgstr "[Comhad Nua]" -#: ../fileio.c:511 msgid "[New DIRECTORY]" msgstr "[COMHADLANN nua]" -#: ../fileio.c:529 ../fileio.c:532 msgid "[File too big]" msgstr "[Comhad rómhór]" -#: ../fileio.c:534 msgid "[Permission Denied]" msgstr "[Cead Diúltaithe]" -#: ../fileio.c:653 msgid "E200: *ReadPre autocommands made the file unreadable" msgstr "E200: Rinne uathorduithe *ReadPre praiseach as an chomhad" -#: ../fileio.c:655 msgid "E201: *ReadPre autocommands must not change current buffer" msgstr "E201: Ní cheadaítear d'uathorduithe *ReadPre an maolán reatha a athrú" -#: ../fileio.c:672 -msgid "Nvim: Reading from stdin...\n" +msgid "Vim: Reading from stdin...\n" msgstr "Vim: Ag léamh ón ionchur caighdeánach...\n" +msgid "Reading from stdin..." +msgstr "Ag léamh ón ionchur caighdeánach..." + #. Re-opening the original file failed! -#: ../fileio.c:909 msgid "E202: Conversion made file unreadable!" msgstr "E202: Comhad doléite i ndiaidh an tiontaithe!" -#. fifo or socket -#: ../fileio.c:1782 msgid "[fifo/socket]" msgstr "[fifo/soicéad]" # `TITA' ?! -KPS -#. fifo -#: ../fileio.c:1788 msgid "[fifo]" msgstr "[fifo]" -#. or socket -#: ../fileio.c:1794 msgid "[socket]" msgstr "[soicéad]" -#. or character special -#: ../fileio.c:1801 msgid "[character special]" msgstr "[comhad speisialta den chineál carachtar]" -#: ../fileio.c:1815 msgid "[CR missing]" msgstr "[CR ar iarraidh]" -#: ../fileio.c:1819 msgid "[long lines split]" msgstr "[línte fada deighilte]" -#: ../fileio.c:1823 ../fileio.c:3512 msgid "[NOT converted]" msgstr "[NÍ tiontaithe]" -#: ../fileio.c:1826 ../fileio.c:3515 msgid "[converted]" msgstr "[tiontaithe]" -#: ../fileio.c:1831 #, c-format -msgid "[CONVERSION ERROR in line %<PRId64>]" -msgstr "[EARRÁID TIONTAITHE i líne %<PRId64>]" +msgid "[CONVERSION ERROR in line %ld]" +msgstr "[EARRÁID TIONTAITHE i líne %ld]" -#: ../fileio.c:1835 #, c-format -msgid "[ILLEGAL BYTE in line %<PRId64>]" -msgstr "[BEART NEAMHCHEADAITHE i líne %<PRId64>]" +msgid "[ILLEGAL BYTE in line %ld]" +msgstr "[BEART NEAMHCHEADAITHE i líne %ld]" -#: ../fileio.c:1838 msgid "[READ ERRORS]" msgstr "[EARRÁIDÍ LÉIMH]" -#: ../fileio.c:2104 msgid "Can't find temp file for conversion" msgstr "Ní féidir comhad sealadach a aimsiú le haghaidh tiontaithe" -#: ../fileio.c:2110 msgid "Conversion with 'charconvert' failed" msgstr "Theip ar thiontú le 'charconvert'" -#: ../fileio.c:2113 msgid "can't read output of 'charconvert'" msgstr "ní féidir an t-aschur ó 'charconvert' a léamh" -#: ../fileio.c:2437 msgid "E676: No matching autocommands for acwrite buffer" msgstr "E676: Níl aon uathordú comhoiriúnaithe le haghaidh maoláin acwrite" -#: ../fileio.c:2466 msgid "E203: Autocommands deleted or unloaded buffer to be written" msgstr "E203: Scrios nó dhíluchtaigh uathorduithe an maolán le scríobh" -#: ../fileio.c:2486 msgid "E204: Autocommand changed number of lines in unexpected way" msgstr "E204: D'athraigh uathordú líon na línte gan choinne" -#: ../fileio.c:2548 ../fileio.c:2565 +msgid "NetBeans disallows writes of unmodified buffers" +msgstr "Ní cheadaíonn NetBeans maoláin gan athrú a bheith scríofa" + +msgid "Partial writes disallowed for NetBeans buffers" +msgstr "Ní cheadaítear maoláin NetBeans a bheith scríofa go neamhiomlán" + msgid "is not a file or writable device" msgstr "ní comhad ná gléas inscríofa á" -#: ../fileio.c:2601 +msgid "writing to device disabled with 'opendevice' option" +msgstr "díchumasaíodh scríobh chuig gléas le rogha 'opendevice'" + msgid "is read-only (add ! to override)" msgstr "is inléite amháin é (cuir ! leis an ordú chun sárú)" -#: ../fileio.c:2886 msgid "E506: Can't write to backup file (add ! to override)" msgstr "" "E506: Ní féidir scríobh a dhéanamh sa chomhad cúltaca (úsáid ! chun sárú)" -#: ../fileio.c:2898 msgid "E507: Close error for backup file (add ! to override)" msgstr "" "E507: Earráid agus comhad cúltaca á dhúnadh (cuir ! leis an ordú chun sárú)" -#: ../fileio.c:2901 msgid "E508: Can't read file for backup (add ! to override)" msgstr "" "E508: Ní féidir an comhad cúltaca a léamh (cuir ! leis an ordú chun sárú)" -#: ../fileio.c:2923 msgid "E509: Cannot create backup file (add ! to override)" msgstr "" "E509: Ní féidir comhad cúltaca a chruthú (cuir ! leis an ordú chun sárú)" -#: ../fileio.c:3008 msgid "E510: Can't make backup file (add ! to override)" msgstr "" "E510: Ní féidir comhad cúltaca a chruthú (cuir ! leis an ordú chun sárú)" -#. Can't write without a tempfile! -#: ../fileio.c:3121 +msgid "E460: The resource fork would be lost (add ! to override)" +msgstr "E460: Chaillfí an forc acmhainne (cuir ! leis an ordú chun sárú)" + msgid "E214: Can't find temp file for writing" msgstr "E214: Ní féidir comhad sealadach a aimsiú chun scríobh ann" -#: ../fileio.c:3134 msgid "E213: Cannot convert (add ! to write without conversion)" msgstr "E213: Ní féidir tiontú (cuir ! leis an ordú chun scríobh gan tiontú)" -#: ../fileio.c:3169 msgid "E166: Can't open linked file for writing" msgstr "E166: Ní féidir comhad nasctha a oscailt chun scríobh ann" -#: ../fileio.c:3173 msgid "E212: Can't open file for writing" msgstr "E212: Ní féidir comhad a oscailt chun scríobh ann" -#: ../fileio.c:3363 msgid "E667: Fsync failed" msgstr "E667: Theip ar fsync" -#: ../fileio.c:3398 msgid "E512: Close failed" msgstr "E512: Theip ar dúnadh" -#: ../fileio.c:3436 msgid "E513: write error, conversion failed (make 'fenc' empty to override)" msgstr "" "E513: earráid le linn scríobh, theip ar thiontú (úsáid 'fenc' folamh chun " "sárú)" -#: ../fileio.c:3441 #, c-format msgid "" -"E513: write error, conversion failed in line %<PRId64> (make 'fenc' empty to " +"E513: write error, conversion failed in line %ld (make 'fenc' empty to " "override)" msgstr "" -"E513: earráid le linn scríofa, theip ar thiontú ar líne %<PRId64> (úsáid " -"'fenc' folamh le sárú)" +"E513: earráid le linn scríofa, theip ar thiontú ar líne %ld (úsáid 'fenc' " +"folamh le sárú)" -#: ../fileio.c:3448 msgid "E514: write error (file system full?)" msgstr "E514: earráid le linn scríofa (an bhfuil an córas comhaid lán?)" -#: ../fileio.c:3506 msgid " CONVERSION ERROR" msgstr " EARRÁID TIONTAITHE" -#: ../fileio.c:3509 #, c-format -msgid " in line %<PRId64>;" -msgstr " ar líne %<PRId64>;" +msgid " in line %ld;" +msgstr " ar líne %ld;" -#: ../fileio.c:3519 msgid "[Device]" msgstr "[Gléas]" -#: ../fileio.c:3522 msgid "[New]" msgstr "[Nua]" -#: ../fileio.c:3535 msgid " [a]" msgstr " [a]" -#: ../fileio.c:3535 msgid " appended" msgstr " iarcheangailte" -#: ../fileio.c:3537 msgid " [w]" msgstr " [w]" -#: ../fileio.c:3537 msgid " written" msgstr " scríofa" -#: ../fileio.c:3579 msgid "E205: Patchmode: can't save original file" msgstr "E205: Patchmode: ní féidir an comhad bunúsach a shábháil" -#: ../fileio.c:3602 msgid "E206: patchmode: can't touch empty original file" msgstr "E206: patchmode: ní féidir an comhad bunúsach folamh a theagmháil" -#: ../fileio.c:3616 msgid "E207: Can't delete backup file" msgstr "E207: Ní féidir an comhad cúltaca a scriosadh" -#: ../fileio.c:3672 msgid "" "\n" "WARNING: Original file may be lost or damaged\n" @@ -2286,96 +1851,75 @@ msgstr "" "\n" "RABHADH: Is féidir gur caillte nó loite an comhad bunúsach\n" -#: ../fileio.c:3675 msgid "don't quit the editor until the file is successfully written!" msgstr "ná scoir go dtí go scríobhfaí an comhad!" -#: ../fileio.c:3795 msgid "[dos]" msgstr "[dos]" -#: ../fileio.c:3795 msgid "[dos format]" msgstr "[formáid dos]" -#: ../fileio.c:3801 msgid "[mac]" msgstr "[mac]" -#: ../fileio.c:3801 msgid "[mac format]" msgstr "[formáid mac]" -#: ../fileio.c:3807 msgid "[unix]" msgstr "[unix]" -#: ../fileio.c:3807 msgid "[unix format]" msgstr "[formáid unix]" -#: ../fileio.c:3831 msgid "1 line, " msgstr "1 líne, " -#: ../fileio.c:3833 #, c-format -msgid "%<PRId64> lines, " -msgstr "%<PRId64> líne, " +msgid "%ld lines, " +msgstr "%ld líne, " -#: ../fileio.c:3836 msgid "1 character" msgstr "1 carachtar" -#: ../fileio.c:3838 #, c-format -msgid "%<PRId64> characters" -msgstr "%<PRId64> carachtar" +msgid "%lld characters" +msgstr "%lld carachtar" -#: ../fileio.c:3849 msgid "[noeol]" msgstr "[ganEOL]" -#: ../fileio.c:3849 msgid "[Incomplete last line]" msgstr "[Is neamhiomlán an líne dheireanach]" #. don't overwrite messages here #. must give this prompt #. don't use emsg() here, don't want to flush the buffers -#: ../fileio.c:3865 msgid "WARNING: The file has been changed since reading it!!!" msgstr "RABHADH: Athraíodh an comhad ó léadh é!!!" -#: ../fileio.c:3867 msgid "Do you really want to write to it" msgstr "An bhfuil tú cinnte gur mhaith leat é a scríobh" -#: ../fileio.c:4648 #, c-format msgid "E208: Error writing to \"%s\"" msgstr "E208: Earráid agus \"%s\" á scríobh" -#: ../fileio.c:4655 #, c-format msgid "E209: Error closing \"%s\"" msgstr "E209: Earráid agus \"%s\" á dhúnadh" -#: ../fileio.c:4657 #, c-format msgid "E210: Error reading \"%s\"" msgstr "E210: Earráid agus \"%s\" á léamh" -#: ../fileio.c:4883 msgid "E246: FileChangedShell autocommand deleted buffer" msgstr "E246: Scrios uathordú FileChangedShell an maolán" -#: ../fileio.c:4894 #, c-format msgid "E211: File \"%s\" no longer available" msgstr "E211: Níl comhad \"%s\" ar fáil feasta" -#: ../fileio.c:4906 #, c-format msgid "" "W12: Warning: File \"%s\" has changed and the buffer was changed in Vim as " @@ -2383,39 +1927,31 @@ msgid "" msgstr "" "W12: Rabhadh: Athraíodh comhad \"%s\" agus athraíodh an maolán i Vim fosta" -#: ../fileio.c:4907 msgid "See \":help W12\" for more info." msgstr "Bain triail as \":help W12\" chun tuilleadh eolais a fháil." -#: ../fileio.c:4910 #, c-format msgid "W11: Warning: File \"%s\" has changed since editing started" msgstr "W11: Rabhadh: Athraíodh comhad \"%s\" ó tosaíodh é a chur in eagar" -#: ../fileio.c:4911 msgid "See \":help W11\" for more info." msgstr "Bain triail as \":help W11\" chun tuilleadh eolais a fháil." -#: ../fileio.c:4914 #, c-format msgid "W16: Warning: Mode of file \"%s\" has changed since editing started" msgstr "" "W16: Rabhadh: Athraíodh mód an chomhaid \"%s\" ó tosaíodh é a chur in eagar" -#: ../fileio.c:4915 msgid "See \":help W16\" for more info." msgstr "Bain triail as \":help W16\" chun tuilleadh eolais a fháil." -#: ../fileio.c:4927 #, c-format msgid "W13: Warning: File \"%s\" has been created after editing started" msgstr "W13: Rabhadh: Cruthaíodh comhad \"%s\" ó tosaíodh é a chur in eagar" -#: ../fileio.c:4947 msgid "Warning" msgstr "Rabhadh" -#: ../fileio.c:4948 msgid "" "&OK\n" "&Load File" @@ -2423,48 +1959,45 @@ msgstr "" "&OK\n" "&Luchtaigh Comhad" -#: ../fileio.c:5065 #, c-format msgid "E462: Could not prepare for reloading \"%s\"" msgstr "E462: Ní féidir \"%s\" a ullmhú le haghaidh athluchtaithe" -#: ../fileio.c:5078 #, c-format msgid "E321: Could not reload \"%s\"" msgstr "E321: Ní féidir \"%s\" a athluchtú" -#: ../fileio.c:5601 msgid "--Deleted--" msgstr "--Scriosta--" -#: ../fileio.c:5732 #, c-format msgid "auto-removing autocommand: %s <buffer=%d>" msgstr "uathordú á bhaint go huathoibríoch: %s <maolán=%d>" #. the group doesn't exist -#: ../fileio.c:5772 #, c-format msgid "E367: No such group: \"%s\"" msgstr "E367: Níl a leithéid de ghrúpa: \"%s\"" -#: ../fileio.c:5897 +msgid "E936: Cannot delete the current group" +msgstr "E936: Ní féidir an grúpa reatha a scriosadh" + +msgid "W19: Deleting augroup that is still in use" +msgstr "W19: Iarracht ar augroup atá fós in úsáid a scriosadh" + #, c-format msgid "E215: Illegal character after *: %s" msgstr "E215: Carachtar neamhcheadaithe i ndiaidh *: %s" -#: ../fileio.c:5905 #, c-format msgid "E216: No such event: %s" msgstr "E216: Níl a leithéid de theagmhas: %s" -#: ../fileio.c:5907 #, c-format msgid "E216: No such group or event: %s" msgstr "E216: Níl a leithéid de ghrúpa nó theagmhas: %s" #. Highlight title -#: ../fileio.c:6090 msgid "" "\n" "--- Auto-Commands ---" @@ -2472,765 +2005,567 @@ msgstr "" "\n" "--- Uathorduithe ---" -#: ../fileio.c:6293 #, c-format msgid "E680: <buffer=%d>: invalid buffer number " msgstr "E680: <maolán=%d>: uimhir neamhbhailí mhaoláin " -#: ../fileio.c:6370 msgid "E217: Can't execute autocommands for ALL events" msgstr "E217: Ní féidir uathorduithe a rith i gcomhair teagmhas UILE" -#: ../fileio.c:6393 msgid "No matching autocommands" msgstr "Níl aon uathordú comhoiriúnaithe" -#: ../fileio.c:6831 msgid "E218: autocommand nesting too deep" msgstr "E218: uathordú neadaithe ródhomhain" -#: ../fileio.c:7143 #, c-format msgid "%s Auto commands for \"%s\"" msgstr "%s Uathorduithe do \"%s\"" -#: ../fileio.c:7149 #, c-format msgid "Executing %s" msgstr "%s á rith" -#: ../fileio.c:7211 #, c-format msgid "autocommand %s" msgstr "uathordú %s" -#: ../fileio.c:7795 msgid "E219: Missing {." msgstr "E219: { ar iarraidh." -#: ../fileio.c:7797 msgid "E220: Missing }." msgstr "E220: } ar iarraidh." -#: ../fold.c:93 msgid "E490: No fold found" msgstr "E490: Níor aimsíodh aon fhilleadh" -#: ../fold.c:544 msgid "E350: Cannot create fold with current 'foldmethod'" msgstr "E350: Ní féidir filleadh a chruthú leis an 'foldmethod' reatha" -#: ../fold.c:546 msgid "E351: Cannot delete fold with current 'foldmethod'" msgstr "E351: Ní féidir filleadh a scriosadh leis an 'foldmethod' reatha" -#: ../fold.c:1784 #, c-format -msgid "+--%3ld lines folded " -msgstr "+--%3ld líne fillte " +msgid "+--%3ld line folded " +msgid_plural "+--%3ld lines folded " +msgstr[0] "+--%3ld líne fillte " +msgstr[1] "+--%3ld líne fillte " +msgstr[2] "+--%3ld líne fillte " +msgstr[3] "+--%3ld líne fillte " +msgstr[4] "+--%3ld líne fillte " -#. buffer has already been read -#: ../getchar.c:273 msgid "E222: Add to read buffer" msgstr "E222: Cuir leis an maolán léite" -#: ../getchar.c:2040 msgid "E223: recursive mapping" msgstr "E223: mapáil athchúrsach" -#: ../getchar.c:2849 #, c-format msgid "E224: global abbreviation already exists for %s" msgstr "E224: tá giorrúchán comhchoiteann ann cheana le haghaidh %s" -#: ../getchar.c:2852 #, c-format msgid "E225: global mapping already exists for %s" msgstr "E225: tá mapáil chomhchoiteann ann cheana le haghaidh %s" -#: ../getchar.c:2952 #, c-format msgid "E226: abbreviation already exists for %s" msgstr "E226: tá giorrúchán ann cheana le haghaidh %s" -#: ../getchar.c:2955 #, c-format msgid "E227: mapping already exists for %s" msgstr "E227: tá mapáil ann cheana le haghaidh %s" -#: ../getchar.c:3008 msgid "No abbreviation found" msgstr "Níor aimsíodh aon ghiorrúchán" -#: ../getchar.c:3010 msgid "No mapping found" msgstr "Níor aimsíodh aon mhapáil" -#: ../getchar.c:3974 msgid "E228: makemap: Illegal mode" msgstr "E228: makemap: Mód neamhcheadaithe" -#. key value of 'cedit' option -#. type of cmdline window or 0 -#. result of cmdline window or 0 -#: ../globals.h:924 -msgid "--No lines in buffer--" -msgstr "--Tá an maolán folamh--" - -#. -#. * The error messages that can be shared are included here. -#. * Excluded are errors that are only used once and debugging messages. -#. -#: ../globals.h:996 -msgid "E470: Command aborted" -msgstr "E470: Ordú tobscortha" +msgid "E851: Failed to create a new process for the GUI" +msgstr "E851: Níorbh fhéidir próiseas nua a chruthú don GUI" -#: ../globals.h:997 -msgid "E471: Argument required" -msgstr "E471: Tá gá le hargóint" +msgid "E852: The child process failed to start the GUI" +msgstr "E852: Theip ar an macphróiseas an GUI a thosú" -#: ../globals.h:998 -msgid "E10: \\ should be followed by /, ? or &" -msgstr "E10: Ba chóir /, ? nó & a chur i ndiaidh \\" +msgid "E229: Cannot start the GUI" +msgstr "E229: Ní féidir an GUI a chur ag obair" -#: ../globals.h:1000 -msgid "E11: Invalid in command-line window; <CR> executes, CTRL-C quits" -msgstr "" -"E11: Neamhbhailí i bhfuinneog líne na n-orduithe; <CR>=rith, CTRL-C=scoir" +#, c-format +msgid "E230: Cannot read from \"%s\"" +msgstr "E230: Ní féidir léamh ó \"%s\"" -#: ../globals.h:1002 -msgid "E12: Command not allowed from exrc/vimrc in current dir or tag search" +msgid "E665: Cannot start GUI, no valid font found" msgstr "" -"E12: Ní cheadaítear ordú ó exrc/vimrc sa chomhadlann reatha ná ó chuardach " -"clibe" +"E665: Ní féidir an GUI a chur ag obair, níl aon chlófhoireann bhailí ann" -#: ../globals.h:1003 -msgid "E171: Missing :endif" -msgstr "E171: :endif ar iarraidh" +msgid "E231: 'guifontwide' invalid" +msgstr "E231: 'guifontwide' neamhbhailí" -#: ../globals.h:1004 -msgid "E600: Missing :endtry" -msgstr "E600: :endtry ar iarraidh" - -#: ../globals.h:1005 -msgid "E170: Missing :endwhile" -msgstr "E170: :endwhile ar iarraidh" - -#: ../globals.h:1006 -msgid "E170: Missing :endfor" -msgstr "E170: :endfor ar iarraidh" - -#: ../globals.h:1007 -msgid "E588: :endwhile without :while" -msgstr "E588: :endwhile gan :while" - -#: ../globals.h:1008 -msgid "E588: :endfor without :for" -msgstr "E588: :endfor gan :for" +msgid "E599: Value of 'imactivatekey' is invalid" +msgstr "E599: Luach neamhbhailí ar 'imactivatekey'" -#: ../globals.h:1009 -msgid "E13: File exists (add ! to override)" -msgstr "E13: Tá comhad ann cheana (cuir ! leis an ordú chun forscríobh)" - -#: ../globals.h:1010 -msgid "E472: Command failed" -msgstr "E472: Theip ar ordú" - -#: ../globals.h:1011 -msgid "E473: Internal error" -msgstr "E473: Earráid inmheánach" +#, c-format +msgid "E254: Cannot allocate color %s" +msgstr "E254: Ní féidir dath %s a dháileadh" -#: ../globals.h:1012 -msgid "Interrupted" -msgstr "Idirbhriste" +msgid "No match at cursor, finding next" +msgstr "Níl a leithéid ag an chúrsóir, ag cuardach ar an chéad cheann eile" -#: ../globals.h:1013 -msgid "E14: Invalid address" -msgstr "E14: Drochsheoladh" +msgid "<cannot open> " +msgstr "<ní féidir a oscailt> " -#: ../globals.h:1014 -msgid "E474: Invalid argument" -msgstr "E474: Argóint neamhbhailí" - -#: ../globals.h:1015 #, c-format -msgid "E475: Invalid argument: %s" -msgstr "E475: Argóint neamhbhailí: %s" +msgid "E616: vim_SelFile: can't get font %s" +msgstr "E616: vim_SelFile: níl aon fháil ar an chlófhoireann %s" -#: ../globals.h:1016 -#, c-format -msgid "E15: Invalid expression: %s" -msgstr "E15: Slonn neamhbhailí: %s" +msgid "E614: vim_SelFile: can't return to current directory" +msgstr "E614: vim_SelFile: ní féidir dul ar ais go dtí an chomhadlann reatha" -#: ../globals.h:1017 -msgid "E16: Invalid range" -msgstr "E16: Raon neamhbhailí" +msgid "Pathname:" +msgstr "Conair:" -#: ../globals.h:1018 -msgid "E476: Invalid command" -msgstr "E476: Ordú neamhbhailí" +msgid "E615: vim_SelFile: can't get current directory" +msgstr "E615: vim_SelFile: níl an chomhadlann reatha ar fáil" -#: ../globals.h:1019 -#, c-format -msgid "E17: \"%s\" is a directory" -msgstr "E17: is comhadlann \"%s\"" +msgid "OK" +msgstr "OK" -#: ../globals.h:1020 -#, fuzzy -msgid "E900: Invalid job id" -msgstr "E49: Méid neamhbhailí scrollaithe" +msgid "Cancel" +msgstr "Cealaigh" -#: ../globals.h:1021 -msgid "E901: Job table is full" +msgid "Scrollbar Widget: Could not get geometry of thumb pixmap." msgstr "" +"Giuirléid Scrollbharra: Ní féidir céimseata an mhapa picteilíní a fháil." -#: ../globals.h:1024 -#, c-format -msgid "E364: Library call failed for \"%s()\"" -msgstr "E364: Theip ar ghlao leabharlainne \"%s()\"" - -#: ../globals.h:1026 -msgid "E19: Mark has invalid line number" -msgstr "E19: Tá líne-uimhir neamhbhailí ag an mharc" +msgid "Vim dialog" +msgstr "Dialóg Vim" -#: ../globals.h:1027 -msgid "E20: Mark not set" -msgstr "E20: Marc gan socrú" - -#: ../globals.h:1029 -msgid "E21: Cannot make changes, 'modifiable' is off" +msgid "E232: Cannot create BalloonEval with both message and callback" msgstr "" -"E21: Ní féidir athruithe a chur i bhfeidhm, níl an bhratach 'modifiable' " -"socraithe" +"E232: Ní féidir BalloonEval a chruthú le teachtaireacht agus aisghlaoch araon" -#: ../globals.h:1030 -msgid "E22: Scripts nested too deep" -msgstr "E22: scripteanna neadaithe ródhomhain" +msgid "_Cancel" +msgstr "_Cealaigh" -#: ../globals.h:1031 -msgid "E23: No alternate file" -msgstr "E23: Níl aon chomhad malartach" +msgid "_Save" +msgstr "_Sábháil" -#: ../globals.h:1032 -msgid "E24: No such abbreviation" -msgstr "E24: Níl a leithéid de ghiorrúchán ann" +msgid "_Open" +msgstr "_Oscail" -#: ../globals.h:1033 -msgid "E477: No ! allowed" -msgstr "E477: Ní cheadaítear !" +msgid "_OK" +msgstr "_OK" -#: ../globals.h:1035 -msgid "E25: Nvim does not have a built-in GUI" -msgstr "E25: Ní féidir an GUI a úsáid: Níor cumasaíodh é ag am tiomsaithe" +msgid "" +"&Yes\n" +"&No\n" +"&Cancel" +msgstr "" +"&Tá\n" +"&Níl\n" +"&Cealaigh" -#: ../globals.h:1036 -#, c-format -msgid "E28: No such highlight group name: %s" -msgstr "E28: Níl a leithéid d'ainm grúpa aibhsithe: %s" +msgid "Yes" +msgstr "Tá" -#: ../globals.h:1037 -msgid "E29: No inserted text yet" -msgstr "E29: Níl aon téacs ionsáite go dtí seo" +msgid "No" +msgstr "Níl" -#: ../globals.h:1038 -msgid "E30: No previous command line" -msgstr "E30: Níl aon líne na n-orduithe roimhe seo" +msgid "Input _Methods" +msgstr "_Modhanna ionchuir" -#: ../globals.h:1039 -msgid "E31: No such mapping" -msgstr "E31: Níl a leithéid de mhapáil" +# in OLT --KPS +msgid "VIM - Search and Replace..." +msgstr "VIM - Cuardaigh agus Athchuir..." -#: ../globals.h:1040 -msgid "E479: No match" -msgstr "E479: Níl aon rud comhoiriúnach ann" +msgid "VIM - Search..." +msgstr "VIM - Cuardaigh..." -#: ../globals.h:1041 -#, c-format -msgid "E480: No match: %s" -msgstr "E480: Níl aon rud comhoiriúnach ann: %s" +msgid "Find what:" +msgstr "Aimsigh:" -#: ../globals.h:1042 -msgid "E32: No file name" -msgstr "E32: Níl aon ainm comhaid" +msgid "Replace with:" +msgstr "Le cur in ionad:" -#: ../globals.h:1044 -msgid "E33: No previous substitute regular expression" -msgstr "E33: Níl aon slonn ionadaíochta roimhe seo" +#. whole word only button +msgid "Match whole word only" +msgstr "Focal iomlán amháin" -#: ../globals.h:1045 -msgid "E34: No previous command" -msgstr "E34: Níl aon ordú roimhe seo" +#. match case button +msgid "Match case" +msgstr "Meaitseáil an cás" -#: ../globals.h:1046 -msgid "E35: No previous regular expression" -msgstr "E35: Níl aon slonn ionadaíochta roimhe seo" +msgid "Direction" +msgstr "Treo" -#: ../globals.h:1047 -msgid "E481: No range allowed" -msgstr "E481: Ní cheadaítear raon" +#. 'Up' and 'Down' buttons +msgid "Up" +msgstr "Suas" -#: ../globals.h:1048 -msgid "E36: Not enough room" -msgstr "E36: Níl slí a dhóthain ann" +msgid "Down" +msgstr "Síos" -#: ../globals.h:1049 -#, c-format -msgid "E482: Can't create file %s" -msgstr "E482: Ní féidir comhad %s a chruthú" +msgid "Find Next" +msgstr "An Chéad Cheann Eile" -#: ../globals.h:1050 -msgid "E483: Can't get temp file name" -msgstr "E483: Níl aon fháil ar ainm comhaid sealadach" +msgid "Replace" +msgstr "Ionadaigh" -#: ../globals.h:1051 -#, c-format -msgid "E484: Can't open file %s" -msgstr "E484: Ní féidir comhad %s a oscailt" +msgid "Replace All" +msgstr "Ionadaigh Uile" -#: ../globals.h:1052 -#, c-format -msgid "E485: Can't read file %s" -msgstr "E485: Ní féidir comhad %s a léamh" +msgid "_Close" +msgstr "_Dún" -#: ../globals.h:1054 -msgid "E37: No write since last change (add ! to override)" -msgstr "E37: Tá athruithe ann gan sábháil (cuir ! leis an ordú chun sárú)" +msgid "Vim: Received \"die\" request from session manager\n" +msgstr "Vim: Fuarthas iarratas \"die\" ó bhainisteoir an tseisiúin\n" -#: ../globals.h:1055 -#, fuzzy -msgid "E37: No write since last change" -msgstr "[Athraithe agus nach sábháilte ó shin]\n" +msgid "Close tab" +msgstr "Dún cluaisín" -#: ../globals.h:1056 -msgid "E38: Null argument" -msgstr "E38: Argóint nialasach" - -#: ../globals.h:1057 -msgid "E39: Number expected" -msgstr "E39: Ag súil le huimhir" +msgid "New tab" +msgstr "Cluaisín nua" -#: ../globals.h:1058 -#, c-format -msgid "E40: Can't open errorfile %s" -msgstr "E40: Ní féidir an comhad earráide %s a oscailt" +msgid "Open Tab..." +msgstr "Oscail Cluaisín..." -#: ../globals.h:1059 -msgid "E41: Out of memory!" -msgstr "E41: Cuimhne ídithe!" +msgid "Vim: Main window unexpectedly destroyed\n" +msgstr "Vim: Milleadh an príomhfhuinneog gan choinne\n" -#: ../globals.h:1060 -msgid "Pattern not found" -msgstr "Patrún gan aimsiú" +msgid "&Filter" +msgstr "&Scagaire" -#: ../globals.h:1061 -#, c-format -msgid "E486: Pattern not found: %s" -msgstr "E486: Patrún gan aimsiú: %s" +msgid "&Cancel" +msgstr "&Cealaigh" -#: ../globals.h:1062 -msgid "E487: Argument must be positive" -msgstr "E487: Ní foláir argóint dheimhneach" +msgid "Directories" +msgstr "Comhadlanna" -#: ../globals.h:1064 -msgid "E459: Cannot go back to previous directory" -msgstr "E459: Ní féidir a fhilleadh ar an chomhadlann roimhe seo" +msgid "Filter" +msgstr "Scagaire" -#: ../globals.h:1066 -msgid "E42: No Errors" -msgstr "E42: Níl Aon Earráid Ann" +msgid "&Help" +msgstr "&Cabhair" -#: ../globals.h:1067 -msgid "E776: No location list" -msgstr "E776: Gan liosta suíomh" +msgid "Files" +msgstr "Comhaid" -#: ../globals.h:1068 -msgid "E43: Damaged match string" -msgstr "E43: Teaghrán cuardaigh loite" +msgid "&OK" +msgstr "&OK" -#: ../globals.h:1069 -msgid "E44: Corrupted regexp program" -msgstr "E44: Clár na sloinn ionadaíochta truaillithe" +msgid "Selection" +msgstr "Roghnú" -#: ../globals.h:1071 -msgid "E45: 'readonly' option is set (add ! to override)" -msgstr "E45: tá an rogha 'readonly' socraithe (cuir ! leis an ordú chun sárú)" +msgid "Find &Next" +msgstr "An Chéad Chea&nn Eile" -#: ../globals.h:1073 -#, c-format -msgid "E46: Cannot change read-only variable \"%s\"" -msgstr "E46: Ní féidir athróg inléite amháin \"%s\" a athrú" +msgid "&Replace" +msgstr "&Ionadaigh" -#: ../globals.h:1075 -#, c-format -msgid "E794: Cannot set variable in the sandbox: \"%s\"" -msgstr "E794: Ní féidir athróg a shocrú sa bhosca gainimh: \"%s\"" +msgid "Replace &All" +msgstr "Ionadaigh &Uile" -#: ../globals.h:1076 -msgid "E47: Error while reading errorfile" -msgstr "E47: Earráid agus comhad earráide á léamh" +msgid "&Undo" +msgstr "&Cealaigh" -#: ../globals.h:1078 -msgid "E48: Not allowed in sandbox" -msgstr "E48: Ní cheadaítear é seo i mbosca gainimh" +msgid "Open tab..." +msgstr "Oscail cluaisín..." -#: ../globals.h:1080 -msgid "E523: Not allowed here" -msgstr "E523: Ní cheadaítear é anseo" +msgid "Find string (use '\\\\' to find a '\\')" +msgstr "Aimsigh teaghrán (bain úsáid as '\\\\' chun '\\' a aimsiú)" -#: ../globals.h:1082 -msgid "E359: Screen mode setting not supported" -msgstr "E359: Ní féidir an mód scáileáin a shocrú" +msgid "Find & Replace (use '\\\\' to find a '\\')" +msgstr "Aimsigh & Athchuir (úsáid '\\\\' chun '\\' a aimsiú)" -#: ../globals.h:1083 -msgid "E49: Invalid scroll size" -msgstr "E49: Méid neamhbhailí scrollaithe" +#. We fake this: Use a filter that doesn't select anything and a default +#. * file name that won't be used. +msgid "Not Used" +msgstr "Gan Úsáid" -#: ../globals.h:1084 -msgid "E91: 'shell' option is empty" -msgstr "E91: rogha 'shell' folamh" +msgid "Directory\t*.nothing\n" +msgstr "Comhadlann\t*.neamhní\n" -#: ../globals.h:1085 -msgid "E255: Couldn't read in sign data!" -msgstr "E255: Níorbh fhéidir na sonraí comhartha a léamh!" +#, c-format +msgid "E671: Cannot find window title \"%s\"" +msgstr "E671: Ní féidir teideal na fuinneoige \"%s\" a aimsiú" -#: ../globals.h:1086 -msgid "E72: Close error on swap file" -msgstr "E72: Earráid agus comhad babhtála á dhúnadh" +#, c-format +msgid "E243: Argument not supported: \"-%s\"; Use the OLE version." +msgstr "E243: Argóint gan tacaíocht: \"-%s\"; Bain úsáid as an leagan OLE." -#: ../globals.h:1087 -msgid "E73: tag stack empty" -msgstr "E73: tá cruach na gclibeanna folamh" +msgid "E672: Unable to open window inside MDI application" +msgstr "E672: Ní féidir fuinneog a oscailt isteach i bhfeidhmchlár MDI" -#: ../globals.h:1088 -msgid "E74: Command too complex" -msgstr "E74: Ordú róchasta" +msgid "Vim E458: Cannot allocate colormap entry, some colors may be incorrect" +msgstr "" +"Vim E458: Ní féidir iontráil dathmhapála a dháileadh, is féidir go mbeidh " +"dathanna míchearta ann" -#: ../globals.h:1089 -msgid "E75: Name too long" -msgstr "E75: Ainm rófhada" +#, c-format +msgid "E250: Fonts for the following charsets are missing in fontset %s:" +msgstr "" +"E250: Clónna ar iarraidh le haghaidh na dtacar carachtar i dtacar cló %s:" -#: ../globals.h:1090 -msgid "E76: Too many [" -msgstr "E76: an iomarca [" +#, c-format +msgid "E252: Fontset name: %s" +msgstr "E252: Ainm an tacar cló: %s" -#: ../globals.h:1091 -msgid "E77: Too many file names" -msgstr "E77: An iomarca ainmneacha comhaid" +#, c-format +msgid "Font '%s' is not fixed-width" +msgstr "Ní cló aonleithid é '%s'" -#: ../globals.h:1092 -msgid "E488: Trailing characters" -msgstr "E488: Carachtair chun deiridh" +#, c-format +msgid "E253: Fontset name: %s" +msgstr "E253: Ainm an tacar cló: %s" -#: ../globals.h:1093 -msgid "E78: Unknown mark" -msgstr "E78: Marc anaithnid" +#, c-format +msgid "Font0: %s" +msgstr "Cló0: %s" -#: ../globals.h:1094 -msgid "E79: Cannot expand wildcards" -msgstr "E79: Ní féidir saoróga a leathnú" +#, c-format +msgid "Font1: %s" +msgstr "Cló1: %s" -#: ../globals.h:1096 -msgid "E591: 'winheight' cannot be smaller than 'winminheight'" -msgstr "E591: ní cheadaítear 'winheight' a bheith níos lú ná 'winminheight'" +#, c-format +msgid "Font%ld width is not twice that of font0" +msgstr "Níl Cló%ld níos leithne faoi dhó ná cló0" -#: ../globals.h:1098 -msgid "E592: 'winwidth' cannot be smaller than 'winminwidth'" -msgstr "E592: ní cheadaítear 'winwidth' a bheith níos lú ná 'winminwidth'" +#, c-format +msgid "Font0 width: %ld" +msgstr "Leithead Cló0: %ld" -#: ../globals.h:1099 -msgid "E80: Error while writing" -msgstr "E80: Earráid agus á scríobh" +#, c-format +msgid "Font1 width: %ld" +msgstr "Leithead cló1: %ld" -#: ../globals.h:1100 -msgid "Zero count" -msgstr "Nialas" +msgid "Invalid font specification" +msgstr "Sonrú neamhbhailí cló" -#: ../globals.h:1101 -msgid "E81: Using <SID> not in a script context" -msgstr "E81: <SID> á úsáid nach i gcomhthéacs scripte" +msgid "&Dismiss" +msgstr "&Ruaig" -#: ../globals.h:1102 -#, c-format -msgid "E685: Internal error: %s" -msgstr "E685: Earráid inmheánach: %s" +msgid "no specific match" +msgstr "níl a leithéid ann" -#: ../globals.h:1104 -msgid "E363: pattern uses more memory than 'maxmempattern'" -msgstr "E363: úsáideann an patrún níos mó cuimhne ná 'maxmempattern'" +msgid "Vim - Font Selector" +msgstr "Vim - Roghnú Cló" -#: ../globals.h:1105 -msgid "E749: empty buffer" -msgstr "E749: maolán folamh" +msgid "Name:" +msgstr "Ainm:" -#: ../globals.h:1108 -msgid "E682: Invalid search pattern or delimiter" -msgstr "E682: Patrún nó teormharcóir neamhbhailí cuardaigh" +#. create toggle button +msgid "Show size in Points" +msgstr "Taispeáin méid (Pointí)" -#: ../globals.h:1109 -msgid "E139: File is loaded in another buffer" -msgstr "E139: Tá an comhad luchtaithe i maolán eile" +msgid "Encoding:" +msgstr "Ionchódú:" -#: ../globals.h:1110 -#, c-format -msgid "E764: Option '%s' is not set" -msgstr "E764: Rogha '%s' gan socrú" +msgid "Font:" +msgstr "Cló:" -#: ../globals.h:1111 -#, fuzzy -msgid "E850: Invalid register name" -msgstr "E354: Ainm neamhbhailí tabhaill: '%s'" +msgid "Style:" +msgstr "Stíl:" -#: ../globals.h:1114 -msgid "search hit TOP, continuing at BOTTOM" -msgstr "Buaileadh an BARR le linn an chuardaigh, ag leanúint ag an CHRÍOCH" +msgid "Size:" +msgstr "Méid:" -#: ../globals.h:1115 -msgid "search hit BOTTOM, continuing at TOP" -msgstr "Buaileadh an BUN le linn an chuardaigh, ag leanúint ag an BHARR" +msgid "E256: Hangul automata ERROR" +msgstr "E256: EARRÁID leis na huathoibreáin Hangul" -#: ../hardcopy.c:240 msgid "E550: Missing colon" msgstr "E550: Idirstad ar iarraidh" -#: ../hardcopy.c:252 msgid "E551: Illegal component" msgstr "E551: Comhpháirt neamhcheadaithe" -#: ../hardcopy.c:259 msgid "E552: digit expected" msgstr "E552: ag súil le digit" -#: ../hardcopy.c:473 #, c-format msgid "Page %d" msgstr "Leathanach %d" -#: ../hardcopy.c:597 msgid "No text to be printed" msgstr "Níl aon téacs le priontáil" -#: ../hardcopy.c:668 #, c-format msgid "Printing page %d (%d%%)" msgstr "Leathanach %d (%d%%) á phriontáil" -#: ../hardcopy.c:680 #, c-format msgid " Copy %d of %d" msgstr " Cóip %d de %d" -#: ../hardcopy.c:733 #, c-format msgid "Printed: %s" msgstr "Priontáilte: %s" -#: ../hardcopy.c:740 msgid "Printing aborted" msgstr "Priontáil tobscortha" -#: ../hardcopy.c:1365 msgid "E455: Error writing to PostScript output file" msgstr "E455: Earráid le linn scríobh chuig aschomhad PostScript" -#: ../hardcopy.c:1747 #, c-format msgid "E624: Can't open file \"%s\"" msgstr "E624: Ní féidir an comhad \"%s\" a oscailt" -#: ../hardcopy.c:1756 ../hardcopy.c:2470 #, c-format msgid "E457: Can't read PostScript resource file \"%s\"" msgstr "E457: Ní féidir comhad acmhainne PostScript \"%s\" a léamh" -#: ../hardcopy.c:1772 #, c-format msgid "E618: file \"%s\" is not a PostScript resource file" msgstr "E618: Níl comhad \"%s\" ina chomhad acmhainne PostScript" -#: ../hardcopy.c:1788 ../hardcopy.c:1805 ../hardcopy.c:1844 #, c-format msgid "E619: file \"%s\" is not a supported PostScript resource file" msgstr "E619: Tá \"%s\" ina chomhad acmhainne PostScript gan tacú" -#: ../hardcopy.c:1856 #, c-format msgid "E621: \"%s\" resource file has wrong version" msgstr "E621: Tá an leagan mícheart ar an gcomhad acmhainne \"%s\"" -#: ../hardcopy.c:2225 msgid "E673: Incompatible multi-byte encoding and character set." msgstr "E673: Ionchódú agus tacar carachtar ilbhirt neamh-chomhoiriúnach." -#: ../hardcopy.c:2238 msgid "E674: printmbcharset cannot be empty with multi-byte encoding." msgstr "" "E674: ní cheadaítear printmbcharset a bheith folamh le hionchódú ilbhirt." -#: ../hardcopy.c:2254 msgid "E675: No default font specified for multi-byte printing." msgstr "E675: Níor réamhshocraíodh cló le haghaidh priontála ilbhirt." -#: ../hardcopy.c:2426 msgid "E324: Can't open PostScript output file" msgstr "E324: Ní féidir aschomhad PostScript a oscailt" -#: ../hardcopy.c:2458 #, c-format msgid "E456: Can't open file \"%s\"" msgstr "E456: Ní féidir an comhad \"%s\" a oscailt" -#: ../hardcopy.c:2583 msgid "E456: Can't find PostScript resource file \"prolog.ps\"" msgstr "E456: Comhad acmhainne PostScript \"prolog.ps\" gan aimsiú" -#: ../hardcopy.c:2593 msgid "E456: Can't find PostScript resource file \"cidfont.ps\"" msgstr "E456: Comhad acmhainne PostScript \"cidfont.ps\" gan aimsiú" -#: ../hardcopy.c:2622 ../hardcopy.c:2639 ../hardcopy.c:2665 #, c-format msgid "E456: Can't find PostScript resource file \"%s.ps\"" msgstr "E456: Comhad acmhainne PostScript \"%s.ps\" gan aimsiú" -#: ../hardcopy.c:2654 #, c-format msgid "E620: Unable to convert to print encoding \"%s\"" msgstr "E620: Ní féidir an t-ionchódú priontála \"%s\" a thiontú" -#: ../hardcopy.c:2877 msgid "Sending to printer..." msgstr "Á sheoladh chuig an phrintéir..." -#: ../hardcopy.c:2881 msgid "E365: Failed to print PostScript file" msgstr "E365: Theip ar phriontáil comhaid PostScript" -#: ../hardcopy.c:2883 msgid "Print job sent." msgstr "Seoladh jab priontála." -#: ../if_cscope.c:85 msgid "Add a new database" msgstr "Bunachar sonraí nua" -#: ../if_cscope.c:87 msgid "Query for a pattern" msgstr "Iarratas ar phatrún" -#: ../if_cscope.c:89 msgid "Show this message" msgstr "Taispeáin an teachtaireacht seo" -#: ../if_cscope.c:91 msgid "Kill a connection" msgstr "Maraigh nasc" -#: ../if_cscope.c:93 msgid "Reinit all connections" msgstr "Atúsaigh gach nasc" -#: ../if_cscope.c:95 msgid "Show connections" msgstr "Taispeáin naisc" -#: ../if_cscope.c:101 #, c-format msgid "E560: Usage: cs[cope] %s" msgstr "E560: Úsáid: cs[cope] %s" -#: ../if_cscope.c:225 msgid "This cscope command does not support splitting the window.\n" msgstr "Ní féidir fuinneoga a scoilteadh leis an ordú seo `cscope'.\n" -#: ../if_cscope.c:266 msgid "E562: Usage: cstag <ident>" msgstr "E562: Úsáid: cstag <ident>" -#: ../if_cscope.c:313 msgid "E257: cstag: tag not found" msgstr "E257: cstag: clib gan aimsiú" -#: ../if_cscope.c:461 #, c-format msgid "E563: stat(%s) error: %d" msgstr "E563: earráid stat(%s): %d" -#: ../if_cscope.c:551 +msgid "E563: stat error" +msgstr "E563: earráid stat" + #, c-format msgid "E564: %s is not a directory or a valid cscope database" msgstr "E564: Níl %s ina comhadlann nó bunachar sonraí cscope bailí" -#: ../if_cscope.c:566 #, c-format msgid "Added cscope database %s" msgstr "Bunachar sonraí nua cscope: %s" -#: ../if_cscope.c:616 #, c-format -msgid "E262: error reading cscope connection %<PRId64>" -msgstr "E262: earráid agus an nasc cscope %<PRId64> á léamh" +msgid "E262: error reading cscope connection %ld" +msgstr "E262: earráid agus an nasc cscope %ld á léamh" -#: ../if_cscope.c:711 msgid "E561: unknown cscope search type" msgstr "E561: cineál anaithnid cuardaigh cscope" -#: ../if_cscope.c:752 ../if_cscope.c:789 msgid "E566: Could not create cscope pipes" msgstr "E566: Níorbh fhéidir píopaí cscope a chruthú" -#: ../if_cscope.c:767 msgid "E622: Could not fork for cscope" msgstr "E622: Níorbh fhéidir forc a dhéanamh le haghaidh cscope" -#: ../if_cscope.c:849 -#, fuzzy msgid "cs_create_connection setpgid failed" -msgstr "theip ar rith cs_create_connection" +msgstr "theip ar setpgid do cs_create_connection" -#: ../if_cscope.c:853 ../if_cscope.c:889 msgid "cs_create_connection exec failed" msgstr "theip ar rith cs_create_connection" -#: ../if_cscope.c:863 ../if_cscope.c:902 msgid "cs_create_connection: fdopen for to_fp failed" msgstr "cs_create_connection: theip ar fdopen le haghaidh to_fp" -#: ../if_cscope.c:865 ../if_cscope.c:906 msgid "cs_create_connection: fdopen for fr_fp failed" msgstr "cs_create_connection: theip ar fdopen le haghaidh fr_fp" -#: ../if_cscope.c:890 msgid "E623: Could not spawn cscope process" msgstr "E623: Níorbh fhéidir próiseas cscope a sceitheadh" -#: ../if_cscope.c:932 msgid "E567: no cscope connections" msgstr "E567: níl aon nasc cscope ann" -#: ../if_cscope.c:1009 #, c-format msgid "E469: invalid cscopequickfix flag %c for %c" msgstr "E469: bratach neamhbhailí cscopequickfix %c le haghaidh %c" -#: ../if_cscope.c:1058 #, c-format msgid "E259: no matches found for cscope query %s of %s" msgstr "" "E259: níor aimsíodh aon rud comhoiriúnach leis an iarratas cscope %s de %s" -#: ../if_cscope.c:1142 msgid "cscope commands:\n" msgstr "Orduithe cscope:\n" -#: ../if_cscope.c:1150 #, c-format msgid "%-5s: %s%*s (Usage: %s)" msgstr "%-5s: %s%*s (Úsáid: %s)" -#: ../if_cscope.c:1155 -#, fuzzy msgid "" "\n" +" a: Find assignments to this symbol\n" " c: Find functions calling this function\n" " d: Find functions called by this function\n" " e: Find this egrep pattern\n" @@ -3241,6 +2576,7 @@ msgid "" " t: Find this text string\n" msgstr "" "\n" +" a: Aimsigh ráitis sannacháin leis an tsiombail seo\n" " c: Aimsigh feidhmeanna a chuireann glaoch ar an bhfeidhm seo\n" " d: Aimsigh feidhmeanna a gcuireann an fheidhm seo glaoch orthu\n" " e: Aimsigh an patrún egrep seo\n" @@ -3248,33 +2584,34 @@ msgstr "" " g: Aimsigh an sainmhíniú seo\n" " i: Aimsigh comhaid a #include-áil an comhad seo\n" " s: Aimsigh an tsiombail C seo\n" -" t: Aimsigh sanntaí do\n" +" t: Aimsigh an teaghrán téacs seo\n" + +#, c-format +msgid "E625: cannot open cscope database: %s" +msgstr "E625: ní féidir bunachar sonraí cscope a oscailt: %s" + +msgid "E626: cannot get cscope database information" +msgstr "E626: ní féidir eolas a fháil faoin bhunachar sonraí cscope" -#: ../if_cscope.c:1226 msgid "E568: duplicate cscope database not added" msgstr "E568: níor cuireadh bunachar sonraí dúblach cscope leis" -#: ../if_cscope.c:1335 #, c-format msgid "E261: cscope connection %s not found" msgstr "E261: nasc cscope %s gan aimsiú" -#: ../if_cscope.c:1364 #, c-format msgid "cscope connection %s closed" msgstr "Dúnadh nasc cscope %s" #. should not reach here -#: ../if_cscope.c:1486 msgid "E570: fatal error in cs_manage_matches" msgstr "E570: earráid mharfach i cs_manage_matches" -#: ../if_cscope.c:1693 #, c-format msgid "Cscope tag: %s" msgstr "Clib cscope: %s" -#: ../if_cscope.c:1711 msgid "" "\n" " # line" @@ -3282,88 +2619,301 @@ msgstr "" "\n" " # líne" -#: ../if_cscope.c:1713 msgid "filename / context / line\n" msgstr "ainm comhaid / comhthéacs / líne\n" -#: ../if_cscope.c:1809 #, c-format msgid "E609: Cscope error: %s" msgstr "E609: Earráid cscope: %s" -#: ../if_cscope.c:2053 msgid "All cscope databases reset" msgstr "Athshocraíodh gach bunachar sonraí cscope" -#: ../if_cscope.c:2123 msgid "no cscope connections\n" msgstr "níl aon nasc cscope\n" -#: ../if_cscope.c:2126 msgid " # pid database name prepend path\n" msgstr " # pid ainm bunachair conair thosaigh\n" -#: ../main.c:144 +msgid "Lua library cannot be loaded." +msgstr "Ní féidir an leabharlann Lua a luchtú." + +msgid "cannot save undo information" +msgstr "ní féidir eolas cealaithe a shábháil" + +msgid "" +"E815: Sorry, this command is disabled, the MzScheme libraries could not be " +"loaded." +msgstr "" +"E815: Tá brón orm, bhí an t-ordú seo díchumasaithe, níorbh fhéidir " +"leabharlanna MzScheme a luchtú." + +msgid "" +"E895: Sorry, this command is disabled, the MzScheme's racket/base module " +"could not be loaded." +msgstr "" +"E895: Ár leithscéal, tá an t-ordú seo díchumasaithe; níorbh fhéidir " +"modúl racket/base MzScheme a luchtú." + +msgid "invalid expression" +msgstr "slonn neamhbhailí" + +msgid "expressions disabled at compile time" +msgstr "díchumasaíodh sloinn ag am an tiomsaithe" + +msgid "hidden option" +msgstr "rogha fholaithe" + +msgid "unknown option" +msgstr "rogha anaithnid" + +msgid "window index is out of range" +msgstr "innéacs fuinneoige as raon" + +msgid "couldn't open buffer" +msgstr "ní féidir maolán a oscailt" + +msgid "cannot delete line" +msgstr "ní féidir an líne a scriosadh" + +msgid "cannot replace line" +msgstr "ní féidir an líne a athchur" + +msgid "cannot insert line" +msgstr "ní féidir líne a ionsá" + +msgid "string cannot contain newlines" +msgstr "ní cheadaítear carachtair líne nua sa teaghrán" + +msgid "error converting Scheme values to Vim" +msgstr "earráid agus luach Scheme á thiontú go Vim" + +msgid "Vim error: ~a" +msgstr "earráid Vim: ~a" + +msgid "Vim error" +msgstr "earráid Vim" + +msgid "buffer is invalid" +msgstr "maolán neamhbhailí" + +msgid "window is invalid" +msgstr "fuinneog neamhbhailí" + +msgid "linenr out of range" +msgstr "líne-uimhir as raon" + +msgid "not allowed in the Vim sandbox" +msgstr "ní cheadaítear é seo i mbosca gainimh Vim" + +msgid "E836: This Vim cannot execute :python after using :py3" +msgstr "" +"E836: Ní féidir leis an leagan seo de Vim :python a rith tar éis :py3 a úsáid" + +msgid "" +"E263: Sorry, this command is disabled, the Python library could not be " +"loaded." +msgstr "" +"E263: Tá brón orm, níl an t-ordú seo le fáil, níorbh fhéidir an leabharlann " +"Python a luchtú." + +msgid "" +"E887: Sorry, this command is disabled, the Python's site module could not be " +"loaded." +msgstr "" +"E887: Ár leithscéal, níl an t-ordú seo le fáil, níorbh fhéidir an modúl " +"Python a luchtú." + +msgid "E659: Cannot invoke Python recursively" +msgstr "E659: Ní féidir Python a rith go hathchúrsach" + +msgid "E837: This Vim cannot execute :py3 after using :python" +msgstr "" +"E837: Ní féidir leis an leagan seo de Vim :py3 a rith tar éis :python a úsáid" + +msgid "E265: $_ must be an instance of String" +msgstr "E265: caithfidh $_ a bheith cineál Teaghráin" + +msgid "" +"E266: Sorry, this command is disabled, the Ruby library could not be loaded." +msgstr "" +"E266: Tá brón orm, níl an t-ordú seo le fáil, níorbh fhéidir an leabharlann " +"Ruby a luchtú." + +msgid "E267: unexpected return" +msgstr "E267: \"return\" gan choinne" + +msgid "E268: unexpected next" +msgstr "E268: \"next\" gan choinne" + +msgid "E269: unexpected break" +msgstr "E269: \"break\" gan choinne" + +msgid "E270: unexpected redo" +msgstr "E270: \"redo\" gan choinne" + +msgid "E271: retry outside of rescue clause" +msgstr "E271: \"retry\" taobh amuigh de chlásal tarrthála" + +msgid "E272: unhandled exception" +msgstr "E272: eisceacht gan láimhseáil" + +#, c-format +msgid "E273: unknown longjmp status %d" +msgstr "E273: stádas anaithnid longjmp %d" + +msgid "invalid buffer number" +msgstr "uimhir neamhbhailí mhaoláin" + +msgid "not implemented yet" +msgstr "níl ar fáil" + +#. ??? +msgid "cannot set line(s)" +msgstr "ní féidir lín(t)e a shocrú" + +msgid "invalid mark name" +msgstr "ainm neamhbhailí mairc" + +msgid "mark not set" +msgstr "marc gan socrú" + +#, c-format +msgid "row %d column %d" +msgstr "líne %d colún %d" + +msgid "cannot insert/append line" +msgstr "ní féidir líne a ionsá/iarcheangal" + +msgid "line number out of range" +msgstr "líne-uimhir as raon" + +msgid "unknown flag: " +msgstr "bratach anaithnid: " + +msgid "unknown vimOption" +msgstr "vimOption anaithnid" + +msgid "keyboard interrupt" +msgstr "idirbhriseadh méarchláir" + +msgid "vim error" +msgstr "earráid vim" + +msgid "cannot create buffer/window command: object is being deleted" +msgstr "ní féidir ordú maoláin/fuinneoige a chruthú: réad á scriosadh" + +msgid "" +"cannot register callback command: buffer/window is already being deleted" +msgstr "ní féidir ordú aisghlaoch a chlárú: maolán/fuinneog á scriosadh cheana" + +#. This should never happen. Famous last word? +msgid "" +"E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-dev@vim." +"org" +msgstr "" +"E280: EARRÁID MHARFACH TCL: liosta truaillithe tagartha!? Seol tuairisc " +"fhabht chuig <vim-dev@vim.org> le do thoil" + +msgid "cannot register callback command: buffer/window reference not found" +msgstr "" +"ní féidir ordú aisghlaoch a chlárú: tagairt mhaolán/fhuinneoige gan aimsiú" + +msgid "" +"E571: Sorry, this command is disabled: the Tcl library could not be loaded." +msgstr "" +"E571: Tá brón orm, níl an t-ordú seo le fáil: níorbh fhéidir an leabharlann " +"Tcl a luchtú." + +#, c-format +msgid "E572: exit code %d" +msgstr "E572: cód scortha %d" + +msgid "cannot get line" +msgstr "ní féidir an líne a fháil" + +msgid "Unable to register a command server name" +msgstr "Ní féidir ainm fhreastalaí ordaithe a chlárú" + +msgid "E248: Failed to send command to the destination program" +msgstr "E248: Theip ar sheoladh ordú chuig an sprioc-chlár" + +#, c-format +msgid "E573: Invalid server id used: %s" +msgstr "E573: Aitheantas neamhbhailí freastalaí in úsáid: %s" + +msgid "E251: VIM instance registry property is badly formed. Deleted!" +msgstr "E251: Airí míchumtha sa chlárlann áisc VIM. Scriosta!" + +#, c-format +msgid "E696: Missing comma in List: %s" +msgstr "E696: Camóg ar iarraidh i Liosta: %s" + +#, c-format +msgid "E697: Missing end of List ']': %s" +msgstr "E697: ']' ar iarraidh ag deireadh liosta: %s" + msgid "Unknown option argument" msgstr "Argóint anaithnid rogha" -#: ../main.c:146 msgid "Too many edit arguments" msgstr "An iomarca argóintí eagarthóireachta" -#: ../main.c:148 msgid "Argument missing after" msgstr "Argóint ar iarraidh i ndiaidh" -#: ../main.c:150 msgid "Garbage after option argument" msgstr "Dramhaíl i ndiaidh argóinte rogha" -#: ../main.c:152 msgid "Too many \"+command\", \"-c command\" or \"--cmd command\" arguments" msgstr "" "An iomarca argóintí den chineál \"+ordú\", \"-c ordú\" nó \"--cmd ordú\"" -#: ../main.c:154 msgid "Invalid argument for" msgstr "Argóint neamhbhailí do" -#: ../main.c:294 #, c-format msgid "%d files to edit\n" msgstr "%d comhad le heagrú\n" -#: ../main.c:1342 +msgid "netbeans is not supported with this GUI\n" +msgstr "Ní thacaítear le netbeans sa GUI seo\n" + +msgid "'-nb' cannot be used: not enabled at compile time\n" +msgstr "Ní féidir '-nb' a úsáid: níor cumasaíodh é ag am tiomsaithe\n" + +msgid "This Vim was not compiled with the diff feature." +msgstr "Níor tiomsaíodh an leagan Vim seo le `diff' ar fáil." + msgid "Attempt to open script file again: \"" msgstr "Déan iarracht ar oscailt na scripte arís: \"" -#: ../main.c:1350 msgid "Cannot open for reading: \"" msgstr "Ní féidir é a oscailt chun léamh: \"" -#: ../main.c:1393 msgid "Cannot open for script output: \"" msgstr "Ní féidir a oscailt le haghaidh an aschuir scripte: \"" -#: ../main.c:1622 +msgid "Vim: Error: Failure to start gvim from NetBeans\n" +msgstr "Vim: Earráid: Theip ar thosú gvim ó NetBeans\n" + +msgid "Vim: Error: This version of Vim does not run in a Cygwin terminal\n" +msgstr "Vim: Earráid: Ní féidir an leagan seo de Vim a rith i dteirminéal Cygwin\n" + msgid "Vim: Warning: Output is not to a terminal\n" msgstr "Vim: Rabhadh: Níl an t-aschur ag dul chuig teirminéal\n" -#: ../main.c:1624 msgid "Vim: Warning: Input is not from a terminal\n" msgstr "Vim: Rabhadh: Níl an t-ionchur ag teacht ó theirminéal\n" #. just in case.. -#: ../main.c:1891 msgid "pre-vimrc command line" msgstr "líne na n-orduithe pre-vimrc" -#: ../main.c:1964 #, c-format msgid "E282: Cannot read from \"%s\"" msgstr "E282: Ní féidir léamh ó \"%s\"" -#: ../main.c:2149 msgid "" "\n" "More info with: \"vim -h\"\n" @@ -3371,23 +2921,18 @@ msgstr "" "\n" "Tuilleadh eolais: \"vim -h\"\n" -#: ../main.c:2178 msgid "[file ..] edit specified file(s)" msgstr "[comhad ..] cuir na comhaid ceaptha in eagar" -#: ../main.c:2179 msgid "- read text from stdin" msgstr "- scríobh téacs ó stdin" -#: ../main.c:2180 msgid "-t tag edit file where tag is defined" msgstr "-t tag cuir an comhad ina bhfuil an chlib in eagar" -#: ../main.c:2181 msgid "-q [errorfile] edit file with first error" msgstr "-q [comhadearr] cuir comhad leis an chéad earráid in eagar" -#: ../main.c:2187 msgid "" "\n" "\n" @@ -3397,11 +2942,9 @@ msgstr "" "\n" "úsáid:" -#: ../main.c:2189 msgid " vim [arguments] " msgstr " vim [argóintí] " -#: ../main.c:2193 msgid "" "\n" " or:" @@ -3409,7 +2952,14 @@ msgstr "" "\n" " nó:" -#: ../main.c:2196 +msgid "" +"\n" +"Where case is ignored prepend / to make flag upper case" +msgstr "" +"\n" +"Nuair nach cásíogair é, cuir '/' ag tosach na brataí chun í a chur sa chás " +"uachtair" + msgid "" "\n" "\n" @@ -3419,194 +2969,338 @@ msgstr "" "\n" "Argóintí:\n" -#: ../main.c:2197 msgid "--\t\t\tOnly file names after this" msgstr "--\t\t\tNí cheadaítear ach ainmneacha comhaid i ndiaidh é seo" -#: ../main.c:2199 msgid "--literal\t\tDon't expand wildcards" msgstr "--literal\t\tNá leathnaigh saoróga" -#: ../main.c:2201 +msgid "-register\t\tRegister this gvim for OLE" +msgstr "-register\t\tCláraigh an gvim seo le haghaidh OLE" + +msgid "-unregister\t\tUnregister gvim for OLE" +msgstr "-unregister\t\tDíchláraigh an gvim seo le haghaidh OLE" + +msgid "-g\t\t\tRun using GUI (like \"gvim\")" +msgstr "-g\t\t\tRith agus úsáid an GUI (mar \"gvim\")" + +msgid "-f or --nofork\tForeground: Don't fork when starting GUI" +msgstr "-f nó --nofork\tTulra: Ná déan forc agus an GUI á thosú" + msgid "-v\t\t\tVi mode (like \"vi\")" msgstr "-v\t\t\tMód Vi (mar \"vi\")" -#: ../main.c:2202 msgid "-e\t\t\tEx mode (like \"ex\")" msgstr "-e\t\t\tMód Ex (mar \"ex\")" -#: ../main.c:2203 msgid "-E\t\t\tImproved Ex mode" -msgstr "" +msgstr "-E\t\t\tMód Ex feabhsaithe" -#: ../main.c:2204 msgid "-s\t\t\tSilent (batch) mode (only for \"ex\")" msgstr "-s\t\t\tMód ciúin (baiscphróiseála) (do \"ex\" amháin)" -#: ../main.c:2205 msgid "-d\t\t\tDiff mode (like \"vimdiff\")" msgstr "-d\t\t\tMód diff (mar \"vimdiff\")" -#: ../main.c:2206 msgid "-y\t\t\tEasy mode (like \"evim\", modeless)" msgstr "-y\t\t\tMód éasca (mar \"evim\", gan mhóid)" -#: ../main.c:2207 msgid "-R\t\t\tReadonly mode (like \"view\")" msgstr "-R\t\t\tMód inléite amháin (mar \"view\")" -#: ../main.c:2208 msgid "-Z\t\t\tRestricted mode (like \"rvim\")" msgstr "-Z\t\t\tMód srianta (mar \"rvim\")" -#: ../main.c:2209 msgid "-m\t\t\tModifications (writing files) not allowed" msgstr "-m\t\t\tNí cheadaítear athruithe (.i. scríobh na gcomhad)" -#: ../main.c:2210 msgid "-M\t\t\tModifications in text not allowed" msgstr "-M\t\t\tNí cheadaítear athruithe sa téacs" -#: ../main.c:2211 msgid "-b\t\t\tBinary mode" msgstr "-b\t\t\tMód dénártha" -#: ../main.c:2212 msgid "-l\t\t\tLisp mode" msgstr "-l\t\t\tMód Lisp" -#: ../main.c:2213 msgid "-C\t\t\tCompatible with Vi: 'compatible'" msgstr "-C\t\t\tComhoiriúnach le Vi: 'compatible'" -#: ../main.c:2214 msgid "-N\t\t\tNot fully Vi compatible: 'nocompatible'" msgstr "-N\t\t\tNí comhoiriúnaithe le Vi go hiomlán: 'nocompatible'" -#: ../main.c:2215 msgid "-V[N][fname]\t\tBe verbose [level N] [log messages to fname]" msgstr "" "-V[N][fname]\t\tBí foclach [leibhéal N] [logáil teachtaireachtaí i fname]" -#: ../main.c:2216 msgid "-D\t\t\tDebugging mode" msgstr "-D\t\t\tMód dífhabhtaithe" -#: ../main.c:2217 msgid "-n\t\t\tNo swap file, use memory only" msgstr "-n\t\t\tNá húsáid comhad babhtála .i. ná húsáid ach an chuimhne" -#: ../main.c:2218 msgid "-r\t\t\tList swap files and exit" msgstr "-r\t\t\tTaispeáin comhaid bhabhtála agus scoir" -#: ../main.c:2219 msgid "-r (with file name)\tRecover crashed session" msgstr "-r (le hainm comhaid)\tAthshlánaigh ó chliseadh" -#: ../main.c:2220 msgid "-L\t\t\tSame as -r" msgstr "-L\t\t\tAr comhbhrí le -r" -#: ../main.c:2221 +msgid "-f\t\t\tDon't use newcli to open window" +msgstr "-f\t\t\tNá húsáid newcli chun fuinneog a oscailt" + +msgid "-dev <device>\t\tUse <device> for I/O" +msgstr "-dev <gléas>\t\tBain úsáid as <gléas> do I/A" + msgid "-A\t\t\tstart in Arabic mode" msgstr "-A\t\t\ttosaigh sa mhód Araibise" -#: ../main.c:2222 msgid "-H\t\t\tStart in Hebrew mode" msgstr "-H\t\t\tTosaigh sa mhód Eabhraise" -#: ../main.c:2223 msgid "-F\t\t\tStart in Farsi mode" msgstr "-F\t\t\tTosaigh sa mhód Pheirsise" -#: ../main.c:2224 msgid "-T <terminal>\tSet terminal type to <terminal>" msgstr "-T <teirminéal>\tSocraigh cineál teirminéal" -#: ../main.c:2225 +msgid "--not-a-term\t\tSkip warning for input/output not being a terminal" +msgstr "--not-a-term\t\tNá bac le rabhadh faoi ionchur/aschur gan a bheith ón teirminéal" + msgid "-u <vimrc>\t\tUse <vimrc> instead of any .vimrc" msgstr "-u <vimrc>\t\tÚsáid <vimrc> in ionad aon .vimrc" -#: ../main.c:2226 +msgid "-U <gvimrc>\t\tUse <gvimrc> instead of any .gvimrc" +msgstr "-U <gvimrc>\t\tBain úsáid as <gvimrc> in ionad aon .gvimrc" + msgid "--noplugin\t\tDon't load plugin scripts" msgstr "--noplugin\t\tNá luchtaigh breiseáin" -#: ../main.c:2227 msgid "-p[N]\t\tOpen N tab pages (default: one for each file)" -msgstr "-p[N]\t\tOscail N leathanach cluaisín (default: ceann do gach comhad)" +msgstr "-p[N]\t\tOscail N leathanach cluaisíní (default: ceann do gach comhad)" -#: ../main.c:2228 msgid "-o[N]\t\tOpen N windows (default: one for each file)" msgstr "-o[N]\t\tOscail N fuinneog (réamhshocrú: ceann do gach comhad)" -#: ../main.c:2229 msgid "-O[N]\t\tLike -o but split vertically" msgstr "-O[N]\t\tMar -o, ach roinn go hingearach" -#: ../main.c:2230 msgid "+\t\t\tStart at end of file" msgstr "+\t\t\tTosaigh ag an chomhadchríoch" -#: ../main.c:2231 msgid "+<lnum>\t\tStart at line <lnum>" msgstr "+<lnum>\t\tTosaigh ar líne <lnum>" -#: ../main.c:2232 msgid "--cmd <command>\tExecute <command> before loading any vimrc file" msgstr "--cmd <ordú>\tRith <ordú> roimh aon chomhad vimrc a luchtú" -#: ../main.c:2233 msgid "-c <command>\t\tExecute <command> after loading the first file" msgstr "-c <ordú>\t\tRith <ordú> i ndiaidh luchtú an chéad chomhad" -#: ../main.c:2235 msgid "-S <session>\t\tSource file <session> after loading the first file" msgstr "" "-S <seisiún>\t\tLéigh comhad <seisiún> i ndiaidh an chéad chomhad á léamh" -#: ../main.c:2236 msgid "-s <scriptin>\tRead Normal mode commands from file <scriptin>" msgstr "-s <script>\tLéigh orduithe gnáthmhóid ón chomhad <script>" -#: ../main.c:2237 msgid "-w <scriptout>\tAppend all typed commands to file <scriptout>" msgstr "" "-w <script>\tIarcheangail gach ordú iontráilte leis an gcomhad <script>" -#: ../main.c:2238 msgid "-W <scriptout>\tWrite all typed commands to file <scriptout>" msgstr "-W <aschur>\tScríobh gach ordú clóscríofa sa chomhad <aschur>" -#: ../main.c:2240 +msgid "-x\t\t\tEdit encrypted files" +msgstr "-x\t\t\tCuir comhaid chriptithe in eagar" + +msgid "-display <display>\tConnect vim to this particular X-server" +msgstr "-display <freastalaí>\tNasc vim leis an bhfreastalaí-X seo" + +msgid "-X\t\t\tDo not connect to X server" +msgstr "-X\t\t\tNá naisc leis an bhfreastalaí X" + +msgid "--remote <files>\tEdit <files> in a Vim server if possible" +msgstr "" +"--remote <comhaid>\tCuir <comhaid> in eagar le freastalaí Vim más féidir" + +msgid "--remote-silent <files> Same, don't complain if there is no server" +msgstr "" +"--remote-silent <comhaid> Mar an gcéanna, ná déan gearán mura bhfuil " +"freastalaí ann" + +msgid "" +"--remote-wait <files> As --remote but wait for files to have been edited" +msgstr "" +"--remote-wait <comhaid> Mar --remote ach fan leis na comhaid a bheith " +"curtha in eagar" + +msgid "" +"--remote-wait-silent <files> Same, don't complain if there is no server" +msgstr "" +"--remote-wait-silent <comhaid> Mar an gcéanna, ná déan gearán mura bhfuil " +"freastalaí ann" + +msgid "" +"--remote-tab[-wait][-silent] <files> As --remote but use tab page per file" +msgstr "" +"--remote-tab[-wait][-silent] <comhaid> Cosúil le --remote ach oscail " +"cluaisín do gach comhad" + +msgid "--remote-send <keys>\tSend <keys> to a Vim server and exit" +msgstr "" +"--remote-send <eochracha>\tSeol <eochracha> chuig freastalaí Vim agus scoir" + +msgid "--remote-expr <expr>\tEvaluate <expr> in a Vim server and print result" +msgstr "" +"--remote-expr <slonn>\tLuacháil <slonn> le freastalaí Vim agus taispeáin an " +"toradh" + +msgid "--serverlist\t\tList available Vim server names and exit" +msgstr "--serverlist\t\tTaispeáin freastalaithe Vim atá ar fáil agus scoir" + +msgid "--servername <name>\tSend to/become the Vim server <name>" +msgstr "--servername <ainm>\tSeol chuig/Téigh i do fhreastalaí Vim <ainm>" + msgid "--startuptime <file>\tWrite startup timing messages to <file>" msgstr "" "--startuptime <comhad>\tScríobh faisnéis maidir le tréimhse tosaithe i " "<comhad>" -#: ../main.c:2242 msgid "-i <viminfo>\t\tUse <viminfo> instead of .viminfo" msgstr "-i <viminfo>\t\tÚsáid <viminfo> in ionad .viminfo" -#: ../main.c:2243 msgid "-h or --help\tPrint Help (this message) and exit" msgstr "-h nó --help\tTaispeáin an chabhair seo agus scoir" -#: ../main.c:2244 msgid "--version\t\tPrint version information and exit" msgstr "--version\t\tTaispeáin eolas faoin leagan agus scoir" -#: ../mark.c:676 +msgid "" +"\n" +"Arguments recognised by gvim (Motif version):\n" +msgstr "" +"\n" +"Argóintí ar eolas do gvim (leagan Motif):\n" + +msgid "" +"\n" +"Arguments recognised by gvim (neXtaw version):\n" +msgstr "" +"\n" +"Argóintí ar eolas do gvim (leagan neXtaw):\n" + +msgid "" +"\n" +"Arguments recognised by gvim (Athena version):\n" +msgstr "" +"\n" +"Argóintí ar eolas do gvim (leagan Athena):\n" + +msgid "-display <display>\tRun vim on <display>" +msgstr "-display <scáileán>\tRith vim ar <scáileán>" + +msgid "-iconic\t\tStart vim iconified" +msgstr "-iconic\t\tTosaigh vim sa mhód íoslaghdaithe" + +msgid "-background <color>\tUse <color> for the background (also: -bg)" +msgstr "-background <dath>\tBain úsáid as <dath> don chúlra (-bg fosta)" + +msgid "-foreground <color>\tUse <color> for normal text (also: -fg)" +msgstr "-foreground <dath>\tÚsáid <dath> le haghaidh gnáth-théacs (fosta: -fg)" + +msgid "-font <font>\t\tUse <font> for normal text (also: -fn)" +msgstr "-font <cló>\t\tÚsáid <cló> le haghaidh gnáth-théacs (fosta: -fn)" + +msgid "-boldfont <font>\tUse <font> for bold text" +msgstr "-boldfont <cló>\tBain úsáid as <cló> do chló trom" + +msgid "-italicfont <font>\tUse <font> for italic text" +msgstr "-italicfont <cló>\tÚsáid <cló> le haghaidh téacs iodálach" + +msgid "-geometry <geom>\tUse <geom> for initial geometry (also: -geom)" +msgstr "" +"-geometry <geoim>\tÚsáid <geoim> le haghaidh na céimseatan tosaigh (fosta: -" +"geom)" + +msgid "-borderwidth <width>\tUse a border width of <width> (also: -bw)" +msgstr "-borderwidth <leithead>\tSocraigh <leithead> na himlíne (-bw fosta)" + +msgid "-scrollbarwidth <width> Use a scrollbar width of <width> (also: -sw)" +msgstr "" +"-scrollbarwidth <leithead> Socraigh leithead na scrollbharraí a bheith " +"<leithead> (fosta: -sw)" + +msgid "-menuheight <height>\tUse a menu bar height of <height> (also: -mh)" +msgstr "" +"-menuheight <airde>\tSocraigh airde an bharra roghchláir a bheith <airde> " +"(fosta: -mh)" + +msgid "-reverse\t\tUse reverse video (also: -rv)" +msgstr "-reverse\t\tÚsáid fís aisiompaithe (fosta: -rv)" + +msgid "+reverse\t\tDon't use reverse video (also: +rv)" +msgstr "+reverse\t\tNá húsáid fís aisiompaithe (fosta: +rv)" + +msgid "-xrm <resource>\tSet the specified resource" +msgstr "-xrm <acmhainn>\tSocraigh an acmhainn sainithe" + +msgid "" +"\n" +"Arguments recognised by gvim (GTK+ version):\n" +msgstr "" +"\n" +"Argóintí ar eolas do gvim (leagan GTK+):\n" + +msgid "-display <display>\tRun vim on <display> (also: --display)" +msgstr "-display <scáileán>\tRith vim ar <scáileán> (fosta: --display)" + +msgid "--role <role>\tSet a unique role to identify the main window" +msgstr "--role <ról>\tSocraigh ról sainiúil chun an phríomhfhuinneog a aithint" + +msgid "--socketid <xid>\tOpen Vim inside another GTK widget" +msgstr "--socketid <xid>\tOscail Vim isteach i ngiuirléid GTK eile" + +msgid "--echo-wid\t\tMake gvim echo the Window ID on stdout" +msgstr "--echo-wid\t\tTaispeánann gvim aitheantas na fuinneoige ar stdout" + +msgid "-P <parent title>\tOpen Vim inside parent application" +msgstr "-P <máthairchlár>\tOscail Vim isteach sa mháthairchlár" + +msgid "--windowid <HWND>\tOpen Vim inside another win32 widget" +msgstr "--windowid <HWND>\tOscail Vim isteach i ngiuirléid win32 eile" + +msgid "No display" +msgstr "Gan taispeáint" + +#. Failed to send, abort. +msgid ": Send failed.\n" +msgstr ": Theip ar seoladh.\n" + +#. Let vim start normally. +msgid ": Send failed. Trying to execute locally\n" +msgstr ": Theip ar seoladh. Ag baint triail as go logánta\n" + +#, c-format +msgid "%d of %d edited" +msgstr "%d as %d déanta" + +msgid "No display: Send expression failed.\n" +msgstr "Gan taispeáint: Theip ar sheoladh sloinn.\n" + +msgid ": Send expression failed.\n" +msgstr ": Theip ar sheoladh sloinn.\n" + msgid "No marks set" msgstr "Níl aon mharc socraithe" -#: ../mark.c:678 #, c-format msgid "E283: No marks matching \"%s\"" msgstr "E283: Níl aon mharc comhoiriúnaithe le \"%s\"" #. Highlight title -#: ../mark.c:687 msgid "" "\n" "mark line col file/text" @@ -3615,7 +3309,6 @@ msgstr "" "marc líne col comhad/téacs" #. Highlight title -#: ../mark.c:789 msgid "" "\n" " jump line col file/text" @@ -3624,7 +3317,6 @@ msgstr "" " léim líne col comhad/téacs" #. Highlight title -#: ../mark.c:831 msgid "" "\n" "change line col text" @@ -3632,7 +3324,6 @@ msgstr "" "\n" "athrú líne col téacs" -#: ../mark.c:1238 msgid "" "\n" "# File marks:\n" @@ -3641,7 +3332,6 @@ msgstr "" "# Marcanna comhaid:\n" #. Write the jumplist with -' -#: ../mark.c:1271 msgid "" "\n" "# Jumplist (newest first):\n" @@ -3649,7 +3339,6 @@ msgstr "" "\n" "# Liosta léimeanna (is nuaí i dtosach):\n" -#: ../mark.c:1352 msgid "" "\n" "# History of marks within files (newest to oldest):\n" @@ -3657,86 +3346,90 @@ msgstr "" "\n" "# Stair na marcanna i gcomhaid (is nuaí ar dtús):\n" -#: ../mark.c:1431 msgid "Missing '>'" msgstr "`>' ar iarraidh" -#: ../memfile.c:426 +msgid "E543: Not a valid codepage" +msgstr "E543: Ní códleathanach bailí é" + +msgid "E284: Cannot set IC values" +msgstr "E284: Ní féidir luachanna IC a shocrú" + +msgid "E285: Failed to create input context" +msgstr "E285: Theip ar chruthú comhthéacs ionchuir" + +msgid "E286: Failed to open input method" +msgstr "E286: Theip ar oscailt mhodh ionchuir" + +msgid "E287: Warning: Could not set destroy callback to IM" +msgstr "E287: Rabhadh: Níorbh fhéidir aisghlaoch léirscriosta a shocrú le IM" + +msgid "E288: input method doesn't support any style" +msgstr "E288: Ní thacaíonn an modh ionchuir aon stíl" + +msgid "E289: input method doesn't support my preedit type" +msgstr "E289: ní thacaíonn an modh ionchuir mo chineál réamheagair" + msgid "E293: block was not locked" msgstr "E293: ní raibh an bloc faoi ghlas" -#: ../memfile.c:799 msgid "E294: Seek error in swap file read" msgstr "E294: Earráid chuardaigh agus comhad babhtála á léamh" -#: ../memfile.c:803 msgid "E295: Read error in swap file" msgstr "E295: Earráid sa léamh i gcomhad babhtála" -#: ../memfile.c:849 msgid "E296: Seek error in swap file write" msgstr "E296: Earráid chuardaigh agus comhad babhtála á scríobh" -#: ../memfile.c:865 msgid "E297: Write error in swap file" msgstr "E297: Earráid sa scríobh i gcomhad babhtála" -#: ../memfile.c:1036 msgid "E300: Swap file already exists (symlink attack?)" msgstr "E300: Tá comhad babhtála ann cheana (ionsaí le naisc shiombalacha?)" -#: ../memline.c:318 msgid "E298: Didn't get block nr 0?" msgstr "E298: Ní bhfuarthas bloc 0?" -#: ../memline.c:361 msgid "E298: Didn't get block nr 1?" msgstr "E298: Ní bhfuarthas bloc a haon?" -#: ../memline.c:377 msgid "E298: Didn't get block nr 2?" msgstr "E298: Ní bhfuarthas bloc a dó?" +msgid "E843: Error while updating swap file crypt" +msgstr "E843: Earráid agus criptiú an chomhaid bhabhtála á nuashonrú" + #. could not (re)open the swap file, what can we do???? -#: ../memline.c:465 msgid "E301: Oops, lost the swap file!!!" msgstr "E301: Úps, cailleadh an comhad babhtála!!!" -#: ../memline.c:477 msgid "E302: Could not rename swap file" msgstr "E302: Níorbh fhéidir an comhad babhtála a athainmniú" -#: ../memline.c:554 #, c-format msgid "E303: Unable to open swap file for \"%s\", recovery impossible" msgstr "" "E303: Ní féidir comhad babhtála le haghaidh \"%s\" a oscailt, ní féidir " "athshlánú" -#: ../memline.c:666 msgid "E304: ml_upd_block0(): Didn't get block 0??" msgstr "E304: ml_upd_block0(): Ní bhfuarthas bloc 0??" -#. no swap files found -#: ../memline.c:830 #, c-format msgid "E305: No swap file found for %s" msgstr "E305: Níor aimsíodh comhad babhtála le haghaidh %s" -#: ../memline.c:839 msgid "Enter number of swap file to use (0 to quit): " msgstr "Iontráil uimhir an chomhaid babhtála le húsáid (0 = scoir): " -#: ../memline.c:879 #, c-format msgid "E306: Cannot open %s" msgstr "E306: Ní féidir %s a oscailt" -#: ../memline.c:897 msgid "Unable to read block 0 from " msgstr "Ní féidir bloc 0 a léamh ó " -#: ../memline.c:900 msgid "" "\n" "Maybe no changes were made or Vim did not update the swap file." @@ -3745,28 +3438,22 @@ msgstr "" "B'fhéidir nach raibh aon athrú á dhéanamh, nó tá an comhad\n" "babhtála as dáta." -#: ../memline.c:909 msgid " cannot be used with this version of Vim.\n" msgstr " níl ar fáil leis an leagan seo de Vim.\n" -#: ../memline.c:911 msgid "Use Vim version 3.0.\n" msgstr "Bain úsáid as Vim, leagan 3.0.\n" -#: ../memline.c:916 #, c-format msgid "E307: %s does not look like a Vim swap file" msgstr "E307: Níl %s cosúil le comhad babhtála Vim" -#: ../memline.c:922 msgid " cannot be used on this computer.\n" msgstr " níl ar fáil ar an ríomhaire seo.\n" -#: ../memline.c:924 msgid "The file was created on " msgstr "Cruthaíodh an comhad seo ar " -#: ../memline.c:928 msgid "" ",\n" "or the file has been damaged." @@ -3774,86 +3461,107 @@ msgstr "" ",\n" "is é sin nó rinneadh dochar don chomhad." -#: ../memline.c:945 +#, c-format +msgid "" +"E833: %s is encrypted and this version of Vim does not support encryption" +msgstr "" +"E833: tá %s criptithe agus ní thacaíonn an leagan seo de Vim le criptiú" + msgid " has been damaged (page size is smaller than minimum value).\n" msgstr " rinneadh dochar dó (méid an leathanaigh níos lú ná an íosmhéid).\n" -#: ../memline.c:974 #, c-format msgid "Using swap file \"%s\"" msgstr "Comhad babhtála \"%s\" á úsáid" -#: ../memline.c:980 #, c-format msgid "Original file \"%s\"" msgstr "Comhad bunúsach \"%s\"" -#: ../memline.c:995 msgid "E308: Warning: Original file may have been changed" msgstr "E308: Rabhadh: Is féidir gur athraíodh an comhad bunúsach" -#: ../memline.c:1061 +#, c-format +msgid "Swap file is encrypted: \"%s\"" +msgstr "Tá an comhad babhtála criptithe: \"%s\"" + +msgid "" +"\n" +"If you entered a new crypt key but did not write the text file," +msgstr "" +"\n" +"Má chuir tú eochair nua chriptiúcháin isteach, ach mura scríobh tú an " +"téacschomhad," + +msgid "" +"\n" +"enter the new crypt key." +msgstr "" +"\n" +"cuir isteach an eochair nua chriptiúcháin." + +msgid "" +"\n" +"If you wrote the text file after changing the crypt key press enter" +msgstr "" +"\n" +"Má scríobh tú an téacschomhad tar éis duit an eochair chriptiúcháín a athrú, " +"brúigh Enter" + +msgid "" +"\n" +"to use the same key for text file and swap file" +msgstr "" +"\n" +"chun an eochair chéanna a úsáid don téacschomhad agus an comhad babhtála" + #, c-format msgid "E309: Unable to read block 1 from %s" msgstr "E309: Ní féidir bloc a haon a léamh ó %s" -#: ../memline.c:1065 msgid "???MANY LINES MISSING" msgstr "???GO LEOR LÍNTE AR IARRAIDH" -#: ../memline.c:1076 msgid "???LINE COUNT WRONG" msgstr "???LÍON MÍCHEART NA LÍNTE" -#: ../memline.c:1082 msgid "???EMPTY BLOCK" msgstr "???BLOC FOLAMH" -#: ../memline.c:1103 msgid "???LINES MISSING" msgstr "???LÍNTE AR IARRAIDH" -#: ../memline.c:1128 #, c-format msgid "E310: Block 1 ID wrong (%s not a .swp file?)" msgstr "E310: Aitheantas mícheart ar bhloc a haon (níl %s ina chomhad .swp?)" -#: ../memline.c:1133 msgid "???BLOCK MISSING" msgstr "???BLOC AR IARRAIDH" -#: ../memline.c:1147 msgid "??? from here until ???END lines may be messed up" msgstr "??? is féidir go ndearnadh praiseach de línte ó anseo go ???END" -#: ../memline.c:1164 msgid "??? from here until ???END lines may have been inserted/deleted" msgstr "??? is féidir go bhfuil línte ionsáite/scriosta ó anseo go ???END" -#: ../memline.c:1181 msgid "???END" msgstr "???DEIREADH" -#: ../memline.c:1238 msgid "E311: Recovery Interrupted" msgstr "E311: Idirbhriseadh an t-athshlánú" -#: ../memline.c:1243 msgid "" "E312: Errors detected while recovering; look for lines starting with ???" msgstr "" "E312: Braitheadh earráidí le linn athshlánaithe; féach ar na línte le ??? ar " "tosach" -#: ../memline.c:1245 msgid "See \":help E312\" for more information." msgstr "Bain triail as \":help E312\" chun tuilleadh eolais a fháil." -#: ../memline.c:1249 msgid "Recovery completed. You should check if everything is OK." msgstr "Athshlánaíodh. Ba chóir duit gach rud a sheiceáil uair amháin eile." -#: ../memline.c:1251 msgid "" "\n" "(You might want to write out this file under another name\n" @@ -3861,73 +3569,61 @@ msgstr "" "\n" "(B'fhéidir gur mian leat an comhad seo a shábháil de réir ainm eile\n" -#: ../memline.c:1252 -#, fuzzy msgid "and run diff with the original file to check for changes)" -msgstr "" -"agus déan comparáid leis an chomhad bhunúsach (m.sh. le `diff') chun " -"athruithe a scrúdú)\n" +msgstr "agus déan comparáid leis an mbunchomhad chun athruithe a lorg)" -#: ../memline.c:1254 msgid "Recovery completed. Buffer contents equals file contents." msgstr "" +"Athshlánú críochnaithe. Is ionann an t-ábhar sa mhaolán agus an t-ábhar sa " +"chomhad." -#: ../memline.c:1255 -#, fuzzy msgid "" "\n" "You may want to delete the .swp file now.\n" "\n" msgstr "" -"Scrios an comhad .swp tar éis sin.\n" "\n" +"B'fhéidir gur mhaith leat an comhad .swp a scriosadh anois.\n" +"\n" + +msgid "Using crypt key from swap file for the text file.\n" +msgstr "" +"Eochair chriptiúcháin ón gcomhad babhtála á húsáid ar an téacschomhad.\n" #. use msg() to start the scrolling properly -#: ../memline.c:1327 msgid "Swap files found:" msgstr "Comhaid bhabhtála aimsithe:" -#: ../memline.c:1446 msgid " In current directory:\n" msgstr " Sa chomhadlann reatha:\n" -#: ../memline.c:1448 msgid " Using specified name:\n" msgstr " Ag baint úsáid as ainm socraithe:\n" -#: ../memline.c:1450 msgid " In directory " msgstr " Sa chomhadlann " -#: ../memline.c:1465 msgid " -- none --\n" msgstr " -- neamhní --\n" -#: ../memline.c:1527 msgid " owned by: " msgstr " úinéir: " -#: ../memline.c:1529 msgid " dated: " msgstr " dátaithe: " -#: ../memline.c:1532 ../memline.c:3231 msgid " dated: " msgstr " dátaithe: " -#: ../memline.c:1548 msgid " [from Vim version 3.0]" msgstr " [ó leagan 3.0 Vim]" -#: ../memline.c:1550 msgid " [does not look like a Vim swap file]" msgstr " [ní cosúil le comhad babhtála Vim]" -#: ../memline.c:1552 msgid " file name: " msgstr " ainm comhaid: " -#: ../memline.c:1558 msgid "" "\n" " modified: " @@ -3935,15 +3631,12 @@ msgstr "" "\n" " mionathraithe: " -#: ../memline.c:1559 msgid "YES" msgstr "IS SEA" -#: ../memline.c:1559 msgid "no" msgstr "ní hea" -#: ../memline.c:1562 msgid "" "\n" " user name: " @@ -3951,11 +3644,9 @@ msgstr "" "\n" " úsáideoir: " -#: ../memline.c:1568 msgid " host name: " msgstr " ainm an óstríomhaire: " -#: ../memline.c:1570 msgid "" "\n" " host name: " @@ -3963,7 +3654,6 @@ msgstr "" "\n" " óstainm: " -#: ../memline.c:1575 msgid "" "\n" " process ID: " @@ -3971,11 +3661,16 @@ msgstr "" "\n" " PID: " -#: ../memline.c:1579 msgid " (still running)" msgstr " (ag rith fós)" -#: ../memline.c:1586 +msgid "" +"\n" +" [not usable with this version of Vim]" +msgstr "" +"\n" +" [ní inúsáidte leis an leagan seo Vim]" + msgid "" "\n" " [not usable on this computer]" @@ -3983,97 +3678,75 @@ msgstr "" "\n" " [ní inúsáidte ar an ríomhaire seo]" -#: ../memline.c:1590 msgid " [cannot be read]" msgstr " [ní féidir a léamh]" -#: ../memline.c:1593 msgid " [cannot be opened]" msgstr " [ní féidir oscailt]" -#: ../memline.c:1698 msgid "E313: Cannot preserve, there is no swap file" msgstr "E313: Ní féidir é a chaomhnú, níl aon chomhad babhtála ann" -#: ../memline.c:1747 msgid "File preserved" msgstr "Caomhnaíodh an comhad" -#: ../memline.c:1749 msgid "E314: Preserve failed" msgstr "E314: Theip ar chaomhnú" -#: ../memline.c:1819 #, c-format -msgid "E315: ml_get: invalid lnum: %<PRId64>" -msgstr "E315: ml_get: lnum neamhbhailí: %<PRId64>" +msgid "E315: ml_get: invalid lnum: %ld" +msgstr "E315: ml_get: lnum neamhbhailí: %ld" -#: ../memline.c:1851 #, c-format -msgid "E316: ml_get: cannot find line %<PRId64>" -msgstr "E316: ml_get: líne %<PRId64> gan aimsiú" +msgid "E316: ml_get: cannot find line %ld" +msgstr "E316: ml_get: líne %ld gan aimsiú" -#: ../memline.c:2236 msgid "E317: pointer block id wrong 3" msgstr "E317: aitheantas mícheart ar an mbloc pointeora 3" -#: ../memline.c:2311 msgid "stack_idx should be 0" msgstr "ba chóir do stack_idx a bheith 0" -#: ../memline.c:2369 msgid "E318: Updated too many blocks?" msgstr "E318: An iomarca bloic nuashonraithe?" -#: ../memline.c:2511 msgid "E317: pointer block id wrong 4" msgstr "E317: aitheantas mícheart ar an mbloc pointeora 4" -#: ../memline.c:2536 msgid "deleted block 1?" msgstr "bloc a haon scriosta?" -#: ../memline.c:2707 #, c-format -msgid "E320: Cannot find line %<PRId64>" -msgstr "E320: Líne %<PRId64> gan aimsiú" +msgid "E320: Cannot find line %ld" +msgstr "E320: Líne %ld gan aimsiú" -#: ../memline.c:2916 msgid "E317: pointer block id wrong" msgstr "E317: aitheantas mícheart ar an mbloc pointeora" -#: ../memline.c:2930 msgid "pe_line_count is zero" msgstr "is 0 pe_line_count\"" -#: ../memline.c:2955 #, c-format -msgid "E322: line number out of range: %<PRId64> past the end" -msgstr "E322: líne-uimhir as raon: %<PRId64> thar dheireadh" +msgid "E322: line number out of range: %ld past the end" +msgstr "E322: líne-uimhir as raon: %ld thar dheireadh" -#: ../memline.c:2959 #, c-format -msgid "E323: line count wrong in block %<PRId64>" -msgstr "E323: líon mícheart na línte i mbloc %<PRId64>" +msgid "E323: line count wrong in block %ld" +msgstr "E323: líon mícheart na línte i mbloc %ld" -#: ../memline.c:2999 msgid "Stack size increases" msgstr "Méadaíonn an chruach" -#: ../memline.c:3038 msgid "E317: pointer block id wrong 2" msgstr "E317: aitheantas mícheart ar an mbloc pointeora 2" -#: ../memline.c:3070 #, c-format msgid "E773: Symlink loop for \"%s\"" msgstr "E773: Ciogal i naisc shiombalacha le haghaidh \"%s\"" -#: ../memline.c:3221 msgid "E325: ATTENTION" msgstr "E325: AIRE" -#: ../memline.c:3222 msgid "" "\n" "Found a swap file by the name \"" @@ -4081,45 +3754,31 @@ msgstr "" "\n" "Fuarthas comhad babhtála darbh ainm \"" -#: ../memline.c:3226 msgid "While opening file \"" msgstr "Agus an comhad seo á oscailt: \"" -#: ../memline.c:3239 msgid " NEWER than swap file!\n" msgstr " NÍOS NUAÍ ná comhad babhtála!\n" -#: ../memline.c:3244 -#, fuzzy +#. Some of these messages are long to allow translation to +#. * other languages. msgid "" "\n" "(1) Another program may be editing the same file. If this is the case,\n" " be careful not to end up with two different instances of the same\n" -" file when making changes." +" file when making changes. Quit, or continue with caution.\n" msgstr "" "\n" -"(1) Is féidir go bhfuil clár eile ag rochtain an comhad seo.\n" -" Más ea, bí cúramach nach bhfuil dhá leagan den chomhad\n" -" céanna.\n" - -#: ../memline.c:3245 -#, fuzzy -msgid " Quit, or continue with caution.\n" -msgstr " Scoir, nó lean ar aghaidh go hairdeallach.\n" +"(1) Seans go bhfuil an comhad seo á chur in eagar ag clár eile. Má tá,\n" +" bí cúramach nach bhfuil dhá leagan den chomhad céanna agat nuair\n" +" a athraíonn tú é. Scoir anois, nó lean ort go faichilleach.\n" -#: ../memline.c:3246 -#, fuzzy msgid "(2) An edit session for this file crashed.\n" -msgstr "" -"\n" -"(2) Rinne Vim thobscor agus an comhad seo\n" -" idir lámha agat.\n" +msgstr "(2) Thuairteáil seisiún eagarthóireachta.\n" -#: ../memline.c:3247 msgid " If this is the case, use \":recover\" or \"vim -r " msgstr " Más amhlaidh, bain úsáid as \":recover\" nó \"vim -r " -#: ../memline.c:3249 msgid "" "\"\n" " to recover the changes (see \":help recovery\").\n" @@ -4127,11 +3786,9 @@ msgstr "" "\"\n" " chun na hathruithe a fháil ar ais (féach \":help recovery\").\n" -#: ../memline.c:3250 msgid " If you did this already, delete the swap file \"" msgstr " Má tá sé seo déanta cheana agat, scrios an comhad babhtála \"" -#: ../memline.c:3252 msgid "" "\"\n" " to avoid this message.\n" @@ -4139,23 +3796,18 @@ msgstr "" "\"\n" " chun an teachtaireacht seo a sheachaint.\n" -#: ../memline.c:3450 ../memline.c:3452 msgid "Swap file \"" msgstr "Comhad babhtála \"" -#: ../memline.c:3451 ../memline.c:3455 msgid "\" already exists!" msgstr "\" tá sé ann cheana!" -#: ../memline.c:3457 msgid "VIM - ATTENTION" msgstr "VIM - AIRE" -#: ../memline.c:3459 msgid "Swap file already exists!" msgstr "Tá comhad babhtála ann cheana!" -#: ../memline.c:3464 msgid "" "&Open Read-Only\n" "&Edit anyway\n" @@ -4169,7 +3821,6 @@ msgstr "" "&Scoir\n" "&Tobscoir" -#: ../memline.c:3467 msgid "" "&Open Read-Only\n" "&Edit anyway\n" @@ -4185,58 +3836,36 @@ msgstr "" "&Scoir\n" "&Tobscoir" -#. -#. * Change the ".swp" extension to find another file that can be used. -#. * First decrement the last char: ".swo", ".swn", etc. -#. * If that still isn't enough decrement the last but one char: ".svz" -#. * Can happen when editing many "No Name" buffers. -#. -#. ".s?a" -#. ".saa": tried enough, give up -#: ../memline.c:3528 msgid "E326: Too many swap files found" msgstr "E326: Aimsíodh an iomarca comhaid bhabhtála" -#: ../memory.c:227 -#, c-format -msgid "E342: Out of memory! (allocating %<PRIu64> bytes)" -msgstr "E342: Cuimhne ídithe! (%<PRIu64> beart á ndáileadh)" - -#: ../menu.c:62 msgid "E327: Part of menu-item path is not sub-menu" msgstr "E327: Ní fo-roghchlár í páirt de chonair roghchláir" -#: ../menu.c:63 msgid "E328: Menu only exists in another mode" msgstr "E328: Níl an roghchlár ar fáil sa mhód seo" -#: ../menu.c:64 #, c-format msgid "E329: No menu \"%s\"" msgstr "E329: Níl aon roghchlár darbh ainm \"%s\"" #. Only a mnemonic or accelerator is not valid. -#: ../menu.c:329 msgid "E792: Empty menu name" msgstr "E792: Ainm folamh ar an roghchlár" -#: ../menu.c:340 msgid "E330: Menu path must not lead to a sub-menu" msgstr "E330: Ní cheadaítear conair roghchláir a threoraíonn go fo-roghchlár" -#: ../menu.c:365 msgid "E331: Must not add menu items directly to menu bar" msgstr "" "E331: Ní cheadaítear míreanna roghchláir a chur le barra roghchláir go " "díreach" -#: ../menu.c:370 msgid "E332: Separator cannot be part of a menu path" msgstr "E332: Ní cheadaítear deighilteoir mar pháirt de chonair roghchláir" #. Now we have found the matching menu, and we list the mappings #. Highlight title -#: ../menu.c:762 msgid "" "\n" "--- Menus ---" @@ -4244,69 +3873,61 @@ msgstr "" "\n" "--- Roghchláir ---" -#: ../menu.c:1313 +msgid "Tear off this menu" +msgstr "Bain an roghchlár seo" + msgid "E333: Menu path must lead to a menu item" msgstr "E333: Ní mór conair roghchláir a threorú chun mír roghchláir" -#: ../menu.c:1330 #, c-format msgid "E334: Menu not found: %s" msgstr "E334: Roghchlár gan aimsiú: %s" -#: ../menu.c:1396 #, c-format msgid "E335: Menu not defined for %s mode" msgstr "E335: Níl an roghchlár ar fáil sa mhód %s" -#: ../menu.c:1426 msgid "E336: Menu path must lead to a sub-menu" msgstr "E336: Ní mór conair roghchláir a threorú chun fo-roghchlár" -#: ../menu.c:1447 msgid "E337: Menu not found - check menu names" msgstr "E337: Roghchlár gan aimsiú - deimhnigh ainmneacha na roghchlár" -#: ../message.c:423 #, c-format msgid "Error detected while processing %s:" msgstr "Earráid agus %s á phróiseáil:" -#: ../message.c:445 #, c-format msgid "line %4ld:" msgstr "líne %4ld:" -#: ../message.c:617 #, c-format msgid "E354: Invalid register name: '%s'" msgstr "E354: Ainm neamhbhailí tabhaill: '%s'" -#: ../message.c:986 +msgid "Messages maintainer: Bram Moolenaar <Bram@vim.org>" +msgstr "" +"Cothaitheoir na dteachtaireachtaí: Kevin P. Scannell <scannell@slu.edu>" + msgid "Interrupt: " msgstr "Idirbhriseadh: " -#: ../message.c:988 msgid "Press ENTER or type command to continue" msgstr "Brúigh ENTER nó iontráil ordú le leanúint" -#: ../message.c:1843 #, c-format -msgid "%s line %<PRId64>" -msgstr "%s líne %<PRId64>" +msgid "%s line %ld" +msgstr "%s líne %ld" -#: ../message.c:2392 msgid "-- More --" msgstr "-- Tuilleadh --" -#: ../message.c:2398 msgid " SPACE/d/j: screen/page/line down, b/u/k: up, q: quit " msgstr " SPÁS/d/j: scáileán/leathanach/líne síos, b/u/k: suas, q: scoir " -#: ../message.c:3021 ../message.c:3031 msgid "Question" msgstr "Ceist" -#: ../message.c:3023 msgid "" "&Yes\n" "&No" @@ -4314,17 +3935,6 @@ msgstr "" "&Tá\n" "&Níl" -#: ../message.c:3033 -msgid "" -"&Yes\n" -"&No\n" -"&Cancel" -msgstr "" -"&Tá\n" -"&Níl\n" -"&Cealaigh" - -#: ../message.c:3045 msgid "" "&Yes\n" "&No\n" @@ -4338,180 +3948,251 @@ msgstr "" "&Dealaigh Uile\n" "&Cealaigh" -#: ../message.c:3058 +msgid "Select Directory dialog" +msgstr "Dialóg `Roghnaigh Comhadlann'" + +msgid "Save File dialog" +msgstr "Dialóg `Sábháil Comhad'" + +msgid "Open File dialog" +msgstr "Dialóg `Oscail Comhad'" + +#. TODO: non-GUI file selector here +msgid "E338: Sorry, no file browser in console mode" +msgstr "E338: Níl brabhsálaí comhaid ar fáil sa mhód consóil" + msgid "E766: Insufficient arguments for printf()" msgstr "E766: Easpa argóintí d'fheidhm printf()" -#: ../message.c:3119 msgid "E807: Expected Float argument for printf()" msgstr "E807: Bhíothas ag súil le hargóint Snámhphointe d'fheidhm printf()" -#: ../message.c:3873 msgid "E767: Too many arguments to printf()" msgstr "E767: An iomarca argóintí d'fheidhm printf()" -#: ../misc1.c:2256 msgid "W10: Warning: Changing a readonly file" msgstr "W10: Rabhadh: Comhad inléite amháin á athrú" -#: ../misc1.c:2537 msgid "Type number and <Enter> or click with mouse (empty cancels): " msgstr "" "Clóscríobh uimhir agus <Enter> nó cliceáil leis an luch (fág folamh le " "cealú): " -#: ../misc1.c:2539 msgid "Type number and <Enter> (empty cancels): " msgstr "Clóscríobh uimhir agus <Enter> (fág folamh le cealú): " -#: ../misc1.c:2585 msgid "1 more line" msgstr "1 líne eile" -#: ../misc1.c:2588 msgid "1 line less" msgstr "1 líne níos lú" -#: ../misc1.c:2593 #, c-format -msgid "%<PRId64> more lines" -msgstr "%<PRId64> líne eile" +msgid "%ld more lines" +msgstr "%ld líne eile" -#: ../misc1.c:2596 #, c-format -msgid "%<PRId64> fewer lines" -msgstr "%<PRId64> líne níos lú" +msgid "%ld fewer lines" +msgstr "%ld líne níos lú" -#: ../misc1.c:2599 msgid " (Interrupted)" msgstr " (Idirbhriste)" -#: ../misc1.c:2635 msgid "Beep!" msgstr "Bíp!" -#: ../misc2.c:738 +msgid "ERROR: " +msgstr "EARRÁID: " + +#, c-format +msgid "" +"\n" +"[bytes] total alloc-freed %lu-%lu, in use %lu, peak use %lu\n" +msgstr "" +"\n" +"[beart] iomlán dáilte-saor %lu-%lu, in úsáid %lu, buaic %lu\n" + +#, c-format +msgid "" +"[calls] total re/malloc()'s %lu, total free()'s %lu\n" +"\n" +msgstr "" +"[glaonna] re/malloc(): %lu, free(): %lu\n" +"\n" + +msgid "E340: Line is becoming too long" +msgstr "E340: Tá an líne ag éirí rófhada" + +#, c-format +msgid "E341: Internal error: lalloc(%ld, )" +msgstr "E341: Earráid inmheánach: lalloc(%ld, )" + +#, c-format +msgid "E342: Out of memory! (allocating %lu bytes)" +msgstr "E342: Cuimhne ídithe! (%lu beart á ndáileadh)" + #, c-format msgid "Calling shell to execute: \"%s\"" msgstr "An t-ordú seo á rith leis an bhlaosc: \"%s\"" -#: ../normal.c:183 +msgid "E545: Missing colon" +msgstr "E545: Idirstad ar iarraidh" + +msgid "E546: Illegal mode" +msgstr "E546: Mód neamhcheadaithe" + +msgid "E547: Illegal mouseshape" +msgstr "E547: Cruth neamhcheadaithe luiche" + +msgid "E548: digit expected" +msgstr "E548: ag súil le digit" + +msgid "E549: Illegal percentage" +msgstr "E549: Céatadán neamhcheadaithe" + +msgid "E854: path too long for completion" +msgstr "E854: conair rófhada le comhlánú" + +#, c-format +msgid "" +"E343: Invalid path: '**[number]' must be at the end of the path or be " +"followed by '%s'." +msgstr "" +"E343: Conair neamhbhailí: ní mór '**[uimhir]' a bheith ag deireadh na " +"conaire, nó le '%s' ina dhiaidh." + +#, c-format +msgid "E344: Can't find directory \"%s\" in cdpath" +msgstr "E344: Ní féidir comhadlann \"%s\" a aimsiú sa cdpath" + +#, c-format +msgid "E345: Can't find file \"%s\" in path" +msgstr "E345: Ní féidir comhad \"%s\" a aimsiú sa chonair" + +#, c-format +msgid "E346: No more directory \"%s\" found in cdpath" +msgstr "E346: Níl comhadlann \"%s\" sa cdpath a thuilleadh" + +#, c-format +msgid "E347: No more file \"%s\" found in path" +msgstr "E347: Níl comhad \"%s\" sa chonair a thuilleadh" + +#, c-format +msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\"" +msgstr "E668: Mód mícheart rochtana ar an chomhad eolas naisc NetBeans: \"%s\"" + +#, c-format +msgid "E658: NetBeans connection lost for buffer %ld" +msgstr "E658: Cailleadh nasc NetBeans le haghaidh maoláin %ld" + +msgid "E838: netbeans is not supported with this GUI" +msgstr "E838: Ní thacaítear le netbeans sa GUI seo" + +msgid "E511: netbeans already connected" +msgstr "E511: Tá netbeans ceangailte cheana" + +#, c-format +msgid "E505: %s is read-only (add ! to override)" +msgstr "E505: Tá %s inléite amháin (cuir ! leis chun sárú)" + msgid "E349: No identifier under cursor" msgstr "E349: Níl aitheantóir faoin chúrsóir" -#: ../normal.c:1866 msgid "E774: 'operatorfunc' is empty" msgstr "E774: 'operatorfunc' folamh" -#: ../normal.c:2637 +msgid "E775: Eval feature not available" +msgstr "E775: Níl an ghné Eval le fáil" + msgid "Warning: terminal cannot highlight" msgstr "Rabhadh: ní féidir leis an teirminéal aibhsiú" -#: ../normal.c:2807 msgid "E348: No string under cursor" msgstr "E348: Níl teaghrán faoin chúrsóir" -#: ../normal.c:3937 msgid "E352: Cannot erase folds with current 'foldmethod'" msgstr "E352: Ní féidir fillteacha a léirscriosadh leis an 'foldmethod' reatha" -#: ../normal.c:5897 msgid "E664: changelist is empty" msgstr "E664: tá liosta na n-athruithe folamh" -#: ../normal.c:5899 msgid "E662: At start of changelist" msgstr "E662: Ag tosach liosta na n-athruithe" -#: ../normal.c:5901 msgid "E663: At end of changelist" msgstr "E663: Ag deireadh liosta na n-athruithe" -#: ../normal.c:7053 -msgid "Type :quit<Enter> to exit Nvim" +msgid "Type :quit<Enter> to exit Vim" msgstr "Clóscríobh :quit<Enter> chun Vim a scor" # ouch - English -ed ? -#: ../ops.c:248 #, c-format msgid "1 line %sed 1 time" msgstr "1 líne %s uair amháin" # ouch - English -ed ? -#: ../ops.c:250 #, c-format msgid "1 line %sed %d times" msgstr "1 líne %s %d uair" # ouch - English -ed ? -#: ../ops.c:253 #, c-format -msgid "%<PRId64> lines %sed 1 time" -msgstr "%<PRId64> líne %sed uair amháin" +msgid "%ld lines %sed 1 time" +msgstr "%ld líne %sed uair amháin" # ouch - English -ed ? -#: ../ops.c:256 #, c-format -msgid "%<PRId64> lines %sed %d times" -msgstr "%<PRId64> líne %sed %d uair" +msgid "%ld lines %sed %d times" +msgstr "%ld líne %sed %d uair" -#: ../ops.c:592 #, c-format -msgid "%<PRId64> lines to indent... " -msgstr "%<PRId64> líne le heangú... " +msgid "%ld lines to indent... " +msgstr "%ld líne le heangú... " -#: ../ops.c:634 msgid "1 line indented " msgstr "eangaíodh líne amháin " -#: ../ops.c:636 #, c-format -msgid "%<PRId64> lines indented " -msgstr "%<PRId64> líne eangaithe " +msgid "%ld lines indented " +msgstr "%ld líne eangaithe " -#: ../ops.c:938 msgid "E748: No previously used register" msgstr "E748: Níl aon tabhall úsáidte roimhe seo" #. must display the prompt -#: ../ops.c:1433 msgid "cannot yank; delete anyway" msgstr "ní féidir a sracadh; scrios mar sin féin" -#: ../ops.c:1929 msgid "1 line changed" msgstr "athraíodh líne amháin" -#: ../ops.c:1931 #, c-format -msgid "%<PRId64> lines changed" -msgstr "athraíodh %<PRId64> líne" +msgid "%ld lines changed" +msgstr "athraíodh %ld líne" + +#, c-format +msgid "freeing %ld lines" +msgstr "%ld líne á saoradh" -#: ../ops.c:2521 msgid "block of 1 line yanked" msgstr "sracadh bloc de líne amháin" -#: ../ops.c:2523 msgid "1 line yanked" msgstr "sracadh líne amháin" -#: ../ops.c:2525 #, c-format -msgid "block of %<PRId64> lines yanked" -msgstr "sracadh bloc de %<PRId64> líne" +msgid "block of %ld lines yanked" +msgstr "sracadh bloc de %ld líne" -#: ../ops.c:2528 #, c-format -msgid "%<PRId64> lines yanked" -msgstr "%<PRId64> líne sractha" +msgid "%ld lines yanked" +msgstr "%ld líne sractha" -#: ../ops.c:2710 #, c-format msgid "E353: Nothing in register %s" msgstr "E353: Tabhall folamh %s" #. Highlight title -#: ../ops.c:3185 msgid "" "\n" "--- Registers ---" @@ -4519,11 +4200,9 @@ msgstr "" "\n" "--- Tabhaill ---" -#: ../ops.c:4455 msgid "Illegal register name" msgstr "Ainm neamhcheadaithe tabhaill" -#: ../ops.c:4533 msgid "" "\n" "# Registers:\n" @@ -4531,185 +4210,175 @@ msgstr "" "\n" "# Tabhaill:\n" -#: ../ops.c:4575 #, c-format msgid "E574: Unknown register type %d" msgstr "E574: Cineál anaithnid tabhaill %d" -#: ../ops.c:5089 +msgid "" +"E883: search pattern and expression register may not contain two or more " +"lines" +msgstr "" +"E883: ní cheadaítear níos mó ná líne amháin i bpatrún cuardaigh ná sa " +"slonntabhall" + #, c-format -msgid "%<PRId64> Cols; " -msgstr "%<PRId64> Colún; " +msgid "%ld Cols; " +msgstr "%ld Colún; " -#: ../ops.c:5097 #, c-format -msgid "" -"Selected %s%<PRId64> of %<PRId64> Lines; %<PRId64> of %<PRId64> Words; " -"%<PRId64> of %<PRId64> Bytes" -msgstr "" -"Roghnaíodh %s%<PRId64> as %<PRId64> Líne; %<PRId64> as %<PRId64> Focal; " -"%<PRId64> as %<PRId64> Beart" +msgid "Selected %s%ld of %ld Lines; %lld of %lld Words; %lld of %lld Bytes" +msgstr "Roghnaíodh %s%ld as %ld Líne; %lld as %lld Focal; %lld as %lld Beart" -#: ../ops.c:5105 #, c-format msgid "" -"Selected %s%<PRId64> of %<PRId64> Lines; %<PRId64> of %<PRId64> Words; " -"%<PRId64> of %<PRId64> Chars; %<PRId64> of %<PRId64> Bytes" +"Selected %s%ld of %ld Lines; %lld of %lld Words; %lld of %lld Chars; %lld of " +"%lld Bytes" msgstr "" -"Roghnaíodh %s%<PRId64> as %<PRId64> Líne; %<PRId64> as %<PRId64> Focal; " -"%<PRId64> as %<PRId64> Carachtar; %<PRId64> as %<PRId64> Beart" +"Roghnaíodh %s%ld as %ld Líne; %lld as %lld Focal; %lld as %lld Carachtar; %lld as %lld Beart" -#: ../ops.c:5123 #, c-format -msgid "" -"Col %s of %s; Line %<PRId64> of %<PRId64>; Word %<PRId64> of %<PRId64>; Byte " -"%<PRId64> of %<PRId64>" -msgstr "" -"Col %s as %s; Líne %<PRId64> as %<PRId64>; Focal %<PRId64> as %<PRId64>; " -"Beart %<PRId64> as %<PRId64>" +msgid "Col %s of %s; Line %ld of %ld; Word %lld of %lld; Byte %lld of %lld" +msgstr "Col %s as %s; Líne %ld as %ld; Focal %lld as %lld; Beart %lld as %lld" -#: ../ops.c:5133 #, c-format msgid "" -"Col %s of %s; Line %<PRId64> of %<PRId64>; Word %<PRId64> of %<PRId64>; Char " -"%<PRId64> of %<PRId64>; Byte %<PRId64> of %<PRId64>" +"Col %s of %s; Line %ld of %ld; Word %lld of %lld; Char %lld of %lld; Byte " +"%lld of %lld" msgstr "" -"Col %s as %s; Líne %<PRId64> as %<PRId64>; Focal %<PRId64> as %<PRId64>; " -"Carachtar %<PRId64> as %<PRId64>; Beart %<PRId64> as %<PRId64>" +"Col %s as %s; Líne %ld as %ld; Focal %lld as %lld; Carachtar %lld as %lld; Beart %lld as %lld" -#: ../ops.c:5146 #, c-format -msgid "(+%<PRId64> for BOM)" -msgstr "(+%<PRId64> do BOM)" +msgid "(+%ld for BOM)" +msgstr "(+%ld do BOM)" -#: ../option.c:1238 msgid "%<%f%h%m%=Page %N" msgstr "%<%f%h%m%=Leathanach %N" -#: ../option.c:1574 msgid "Thanks for flying Vim" msgstr "Go raibh míle maith agat as Vim a úsáid" -#. found a mismatch: skip -#: ../option.c:2698 msgid "E518: Unknown option" msgstr "E518: Rogha anaithnid" -#: ../option.c:2709 msgid "E519: Option not supported" msgstr "E519: Níl an rogha seo ar fáil" -#: ../option.c:2740 msgid "E520: Not allowed in a modeline" msgstr "E520: Ní cheadaithe i módlíne" -#: ../option.c:2815 msgid "E846: Key code not set" -msgstr "" +msgstr "E846: Cód eochrach gan socrú" -#: ../option.c:2924 msgid "E521: Number required after =" msgstr "E521: Tá gá le huimhir i ndiaidh =" -#: ../option.c:3226 ../option.c:3864 msgid "E522: Not found in termcap" msgstr "E522: Gan aimsiú sa termcap" -#: ../option.c:3335 #, c-format msgid "E539: Illegal character <%s>" msgstr "E539: Carachtar neamhcheadaithe <%s>" -#: ../option.c:3862 +#, c-format +msgid "For option %s" +msgstr "Le haghaidh rogha %s" + msgid "E529: Cannot set 'term' to empty string" msgstr "E529: Ní féidir 'term' a shocrú mar theaghrán folamh" -#: ../option.c:3885 +msgid "E530: Cannot change term in GUI" +msgstr "E530: Ní féidir 'term' a athrú sa GUI" + +msgid "E531: Use \":gui\" to start the GUI" +msgstr "E531: Úsáid \":gui\" chun an GUI a chur ag obair" + msgid "E589: 'backupext' and 'patchmode' are equal" msgstr "E589: is ionann iad 'backupext' agus 'patchmode'" -#: ../option.c:3964 msgid "E834: Conflicts with value of 'listchars'" -msgstr "" +msgstr "E834: Tagann sé salach ar luach de 'listchars'" -#: ../option.c:3966 msgid "E835: Conflicts with value of 'fillchars'" -msgstr "" +msgstr "E835: Tagann sé salach ar luach de 'fillchars'" + +msgid "E617: Cannot be changed in the GTK+ 2 GUI" +msgstr "E617: Ní féidir é a athrú sa GUI GTK+ 2" -#: ../option.c:4163 msgid "E524: Missing colon" msgstr "E524: Idirstad ar iarraidh" -#: ../option.c:4165 msgid "E525: Zero length string" msgstr "E525: Teaghrán folamh" -#: ../option.c:4220 #, c-format msgid "E526: Missing number after <%s>" msgstr "E526: Uimhir ar iarraidh i ndiaidh <%s>" -#: ../option.c:4232 msgid "E527: Missing comma" msgstr "E527: Camóg ar iarraidh" -#: ../option.c:4239 msgid "E528: Must specify a ' value" msgstr "E528: Caithfidh luach ' a shonrú" -#: ../option.c:4271 msgid "E595: contains unprintable or wide character" msgstr "E595: tá carachtar neamhghrafach nó leathan ann" -#: ../option.c:4469 +msgid "E596: Invalid font(s)" +msgstr "E596: Cló(nna) neamhbhailí" + +msgid "E597: can't select fontset" +msgstr "E597: ní féidir tacar cló a roghnú" + +msgid "E598: Invalid fontset" +msgstr "E598: Tacar cló neamhbhailí" + +msgid "E533: can't select wide font" +msgstr "E533: ní féidir cló leathan a roghnú" + +msgid "E534: Invalid wide font" +msgstr "E534: Cló leathan neamhbhailí" + #, c-format msgid "E535: Illegal character after <%c>" msgstr "E535: Carachtar neamhbhailí i ndiaidh <%c>" -#: ../option.c:4534 msgid "E536: comma required" msgstr "E536: tá gá le camóg" -#: ../option.c:4543 #, c-format msgid "E537: 'commentstring' must be empty or contain %s" msgstr "" "E537: ní mór %s a bheith i 'commentstring', is é sin nó ní mór dó a bheith " "folamh" -#: ../option.c:4928 +msgid "E538: No mouse support" +msgstr "E538: Gan tacaíocht luiche" + msgid "E540: Unclosed expression sequence" msgstr "E540: Seicheamh gan dúnadh" -#: ../option.c:4932 msgid "E541: too many items" msgstr "E541: an iomarca míreanna" -#: ../option.c:4934 msgid "E542: unbalanced groups" msgstr "E542: grúpaí neamhchothromaithe" -#: ../option.c:5148 msgid "E590: A preview window already exists" msgstr "E590: Tá fuinneog réamhamhairc ann cheana" -#: ../option.c:5311 msgid "W17: Arabic requires UTF-8, do ':set encoding=utf-8'" msgstr "" "W17: Tá UTF-8 ag teastáil le haghaidh Araibise, socraigh é le ':set " "encoding=utf-8'" -#: ../option.c:5623 #, c-format msgid "E593: Need at least %d lines" msgstr "E593: Tá gá le %d líne ar a laghad" -#: ../option.c:5631 #, c-format msgid "E594: Need at least %d columns" msgstr "E594: Tá gá le %d colún ar a laghad" -#: ../option.c:6011 #, c-format msgid "E355: Unknown option: %s" msgstr "E355: Rogha anaithnid: %s" @@ -4717,12 +4386,10 @@ msgstr "E355: Rogha anaithnid: %s" #. There's another character after zeros or the string #. * is empty. In both cases, we are trying to set a #. * num option using a string. -#: ../option.c:6037 #, c-format msgid "E521: Number required: &%s = '%s'" msgstr "E521: Uimhir de dhíth: &%s = '%s'" -#: ../option.c:6149 msgid "" "\n" "--- Terminal codes ---" @@ -4730,7 +4397,6 @@ msgstr "" "\n" "--- Cóid teirminéil ---" -#: ../option.c:6151 msgid "" "\n" "--- Global option values ---" @@ -4738,7 +4404,6 @@ msgstr "" "\n" "--- Luachanna na roghanna comhchoiteann ---" -#: ../option.c:6153 msgid "" "\n" "--- Local option values ---" @@ -4746,7 +4411,6 @@ msgstr "" "\n" "--- Luachanna na roghanna logánta ---" -#: ../option.c:6155 msgid "" "\n" "--- Options ---" @@ -4754,29 +4418,148 @@ msgstr "" "\n" "--- Roghanna ---" -#: ../option.c:6816 msgid "E356: get_varp ERROR" msgstr "E356: EARRÁID get_varp" -#: ../option.c:7696 #, c-format msgid "E357: 'langmap': Matching character missing for %s" msgstr "E357: 'langmap': Carachtar comhoiriúnach ar iarraidh le haghaidh %s" -#: ../option.c:7715 #, c-format msgid "E358: 'langmap': Extra characters after semicolon: %s" msgstr "E358: 'langmap': Carachtair breise i ndiaidh an idirstad: %s" -#: ../os/shell.c:194 +msgid "cannot open " +msgstr "ní féidir a oscailt: " + +msgid "VIM: Can't open window!\n" +msgstr "VIM: Ní féidir fuinneog a oscailt!\n" + +msgid "Need Amigados version 2.04 or later\n" +msgstr "Tá gá le Amigados leagan 2.04 nó níos déanaí\n" + +#, c-format +msgid "Need %s version %ld\n" +msgstr "Tá gá le %s, leagan %ld\n" + +msgid "Cannot open NIL:\n" +msgstr "Ní féidir NIL a oscailt:\n" + +msgid "Cannot create " +msgstr "Ní féidir a chruthú: " + +#, c-format +msgid "Vim exiting with %d\n" +msgstr "Vim á scor le stádas %d\n" + +msgid "cannot change console mode ?!\n" +msgstr "ní féidir mód consóil a athrú ?!\n" + +msgid "mch_get_shellsize: not a console??\n" +msgstr "mch_get_shellsize: ní consól é seo??\n" + +#. if Vim opened a window: Executing a shell may cause crashes +msgid "E360: Cannot execute shell with -f option" +msgstr "E360: Ní féidir blaosc a rith le rogha -f" + +msgid "Cannot execute " +msgstr "Ní féidir blaosc a rith: " + +msgid "shell " +msgstr "blaosc " + +msgid " returned\n" +msgstr " aisfhilleadh\n" + +msgid "ANCHOR_BUF_SIZE too small." +msgstr "ANCHOR_BUF_SIZE róbheag." + +msgid "I/O ERROR" +msgstr "EARRÁID I/A" + +msgid "Message" +msgstr "Teachtaireacht" + +msgid "E237: Printer selection failed" +msgstr "E237: Theip ar roghnú printéara" + +#, c-format +msgid "to %s on %s" +msgstr "go %s ar %s" + +#, c-format +msgid "E613: Unknown printer font: %s" +msgstr "E613: Clófhoireann anaithnid printéara: %s" + +#, c-format +msgid "E238: Print error: %s" +msgstr "E238: Earráid phriontála: %s" + +#, c-format +msgid "Printing '%s'" +msgstr "'%s' á phriontáil" + +#, c-format +msgid "E244: Illegal charset name \"%s\" in font name \"%s\"" +msgstr "" +"E244: Ainm neamhcheadaithe ar thacar carachtar \"%s\" mar pháirt d'ainm cló " +"\"%s\"" + +#, c-format +msgid "E244: Illegal quality name \"%s\" in font name \"%s\"" +msgstr "" +"E244: Ainm neamhcheadaithe ar cháilíocht \"%s\" in ainm cló \"%s\"" + +#, c-format +msgid "E245: Illegal char '%c' in font name \"%s\"" +msgstr "E245: Carachtar neamhcheadaithe '%c' mar pháirt d'ainm cló \"%s\"" + +#, c-format +msgid "Opening the X display took %ld msec" +msgstr "Thóg %ld ms chun an scáileán X a oscailt" + msgid "" "\n" -"Cannot execute shell " +"Vim: Got X error\n" msgstr "" "\n" -"Ní féidir blaosc a rith " +"Vim: Fuarthas earráid ó X\n" + +msgid "Testing the X display failed" +msgstr "Theip ar thástáil an scáileáin X" + +msgid "Opening the X display timed out" +msgstr "Oscailt an scáileáin X thar am" + +msgid "" +"\n" +"Could not get security context for " +msgstr "" +"\n" +"Níorbh fhéidir comhthéacs slándála a fháil le haghaidh " + +msgid "" +"\n" +"Could not set security context for " +msgstr "" +"\n" +"Níorbh fhéidir comhthéacs slándála a shocrú le haghaidh " + +#, c-format +msgid "Could not set security context %s for %s" +msgstr "Níorbh fhéidir comhthéacs slándála %s a shocrú le haghaidh %s" + +#, c-format +msgid "Could not get security context %s for %s. Removing it!" +msgstr "Níorbh fhéidir comhthéacs slándála %s a fháil le haghaidh %s. Á bhaint!" + +msgid "" +"\n" +"Cannot execute shell sh\n" +msgstr "" +"\n" +"Ní féidir an bhlaosc sh a rith\n" -#: ../os/shell.c:439 msgid "" "\n" "shell returned " @@ -4784,472 +4567,476 @@ msgstr "" "\n" "d'aisfhill an bhlaosc " -#: ../os_unix.c:465 ../os_unix.c:471 msgid "" "\n" -"Could not get security context for " +"Cannot create pipes\n" msgstr "" "\n" -"Níorbh fhéidir comhthéacs slándála a fháil le haghaidh " +"Ní féidir píopaí a chruthú\n" -#: ../os_unix.c:479 +# "fork" not in standard refs/corpus. Maybe want a "gabhl*" word instead? -KPS msgid "" "\n" -"Could not set security context for " +"Cannot fork\n" msgstr "" "\n" -"Níorbh fhéidir comhthéacs slándála a shocrú le haghaidh " +"Ní féidir forc a dhéanamh\n" + +msgid "" +"\n" +"Cannot execute shell " +msgstr "" +"\n" +"Ní féidir blaosc a rith " + +msgid "" +"\n" +"Command terminated\n" +msgstr "" +"\n" +"Ordú críochnaithe\n" + +msgid "XSMP lost ICE connection" +msgstr "Chaill XSMP an nasc ICE" -#: ../os_unix.c:1558 ../os_unix.c:1647 #, c-format msgid "dlerror = \"%s\"" msgstr "dlerror = \"%s\"" -#: ../path.c:1449 +msgid "Opening the X display failed" +msgstr "Theip ar oscailt an scáileáin X" + +msgid "XSMP handling save-yourself request" +msgstr "Iarratas sábháil-do-féin á láimhseáil ag XSMP" + +msgid "XSMP opening connection" +msgstr "Nasc á oscailt ag XSMP" + +msgid "XSMP ICE connection watch failed" +msgstr "Theip ar fhaire nasc ICE XSMP" + #, c-format -msgid "E447: Can't find file \"%s\" in path" -msgstr "E447: Níl aon fháil ar chomhad \"%s\" sa chonair" +msgid "XSMP SmcOpenConnection failed: %s" +msgstr "Theip ar XSMP SmcOpenConnection: %s" + +msgid "At line" +msgstr "Ag líne" + +msgid "Could not load vim32.dll!" +msgstr "Níorbh fhéidir vim32.dll a luchtú!" + +msgid "VIM Error" +msgstr "Earráid VIM" + +msgid "Could not fix up function pointers to the DLL!" +msgstr "Níorbh fhéidir pointeoirí feidhme a chóiriú i gcomhair an DLL!" + +#, c-format +msgid "Vim: Caught %s event\n" +msgstr "Vim: Fuarthas teagmhas %s\n" + +msgid "close" +msgstr "dún" + +msgid "logoff" +msgstr "logáil amach" + +msgid "shutdown" +msgstr "múchadh" + +msgid "E371: Command not found" +msgstr "E371: Ní bhfuarthas an t-ordú" + +msgid "" +"VIMRUN.EXE not found in your $PATH.\n" +"External commands will not pause after completion.\n" +"See :help win32-vimrun for more information." +msgstr "" +"Níor aimsíodh VIMRUN.EXE i do $PATH.\n" +"Ní mhoilleoidh orduithe seachtracha agus iad curtha i gcrích.\n" +"Féach ar :help win32-vimrun chun níos mó eolas a fháil." + +msgid "Vim Warning" +msgstr "Rabhadh Vim" + +#, c-format +msgid "shell returned %d" +msgstr "d'aisfhill an bhlaosc %d" -#: ../quickfix.c:359 #, c-format msgid "E372: Too many %%%c in format string" msgstr "E372: An iomarca %%%c i dteaghrán formáide" -#: ../quickfix.c:371 #, c-format msgid "E373: Unexpected %%%c in format string" msgstr "E373: %%%c gan choinne i dteaghrán formáide" -#: ../quickfix.c:420 msgid "E374: Missing ] in format string" msgstr "E374: ] ar iarraidh i dteaghrán formáide" -#: ../quickfix.c:431 #, c-format msgid "E375: Unsupported %%%c in format string" msgstr "E375: %%%c gan tacaíocht i dteaghrán formáide" -#: ../quickfix.c:448 #, c-format msgid "E376: Invalid %%%c in format string prefix" msgstr "E376: %%%c neamhbhailí i réimír an teaghráin formáide" -#: ../quickfix.c:454 #, c-format msgid "E377: Invalid %%%c in format string" msgstr "E377: %%%c neamhbhailí i dteaghrán formáide" #. nothing found -#: ../quickfix.c:477 msgid "E378: 'errorformat' contains no pattern" msgstr "E378: Níl aon phatrún i 'errorformat'" -#: ../quickfix.c:695 msgid "E379: Missing or empty directory name" msgstr "E379: Ainm comhadlainne ar iarraidh, nó folamh" -#: ../quickfix.c:1305 msgid "E553: No more items" msgstr "E553: Níl aon mhír eile" -#: ../quickfix.c:1674 +msgid "E924: Current window was closed" +msgstr "E924: Dúnadh an fhuinneog reatha" + +msgid "E925: Current quickfix was changed" +msgstr "E925: Athraíodh an mearcheartúchán reatha" + +msgid "E926: Current location list was changed" +msgstr "E926: Athraíodh an liosta suíomh reatha" + #, c-format msgid "(%d of %d)%s%s: " msgstr "(%d as %d)%s%s: " -#: ../quickfix.c:1676 msgid " (line deleted)" msgstr " (líne scriosta)" -#: ../quickfix.c:1863 +#, c-format +msgid "%serror list %d of %d; %d errors " +msgstr "%sliosta earráidí %d as %d; %d earráid " + msgid "E380: At bottom of quickfix stack" -msgstr "E380: In íochtar na cruaiche quickfix" +msgstr "E380: In íochtar chruach na mearcheartúchán" -#: ../quickfix.c:1869 msgid "E381: At top of quickfix stack" -msgstr "E381: In uachtar na cruaiche quickfix" +msgstr "E381: In uachtar chruach na mearcheartúchán" -#: ../quickfix.c:1880 -#, c-format -msgid "error list %d of %d; %d errors" -msgstr "liosta earráidí %d as %d; %d earráid" +msgid "No entries" +msgstr "Gan iontráil" -#: ../quickfix.c:2427 msgid "E382: Cannot write, 'buftype' option is set" msgstr "E382: Ní féidir scríobh, rogha 'buftype' socraithe" -#: ../quickfix.c:2812 +msgid "Error file" +msgstr "Comhad earráide" + msgid "E683: File name missing or invalid pattern" msgstr "E683: Ainm comhaid ar iarraidh, nó patrún neamhbhailí" -#: ../quickfix.c:2911 #, c-format msgid "Cannot open file \"%s\"" msgstr "Ní féidir comhad \"%s\" a oscailt" -#: ../quickfix.c:3429 msgid "E681: Buffer is not loaded" msgstr "E681: Níl an maolán luchtaithe" -#: ../quickfix.c:3487 msgid "E777: String or List expected" msgstr "E777: Bhíothas ag súil le Teaghrán nó Liosta" -#: ../regexp.c:359 #, c-format msgid "E369: invalid item in %s%%[]" msgstr "E369: mír neamhbhailí i %s%%[]" -#: ../regexp.c:374 #, c-format msgid "E769: Missing ] after %s[" msgstr "E769: ] ar iarraidh i ndiaidh %s[" -#: ../regexp.c:375 #, c-format msgid "E53: Unmatched %s%%(" msgstr "E53: %s%%( corr" -#: ../regexp.c:376 #, c-format msgid "E54: Unmatched %s(" msgstr "E54: %s( corr" -#: ../regexp.c:377 #, c-format msgid "E55: Unmatched %s)" msgstr "E55: %s) corr" -#: ../regexp.c:378 msgid "E66: \\z( not allowed here" msgstr "E66: ní cheadaítear \\z( anseo" -#: ../regexp.c:379 msgid "E67: \\z1 et al. not allowed here" msgstr "E67: ní cheadaítear \\z1 et al. anseo" -#: ../regexp.c:380 #, c-format msgid "E69: Missing ] after %s%%[" msgstr "E69: ] ar iarraidh i ndiaidh %s%%[" -#: ../regexp.c:381 #, c-format msgid "E70: Empty %s%%[]" msgstr "E70: %s%%[] folamh" -#: ../regexp.c:1209 ../regexp.c:1224 msgid "E339: Pattern too long" msgstr "E339: Slonn rófhada" -#: ../regexp.c:1371 msgid "E50: Too many \\z(" msgstr "E50: an iomarca \\z(" -#: ../regexp.c:1378 #, c-format msgid "E51: Too many %s(" msgstr "E51: an iomarca %s(" -#: ../regexp.c:1427 msgid "E52: Unmatched \\z(" msgstr "E52: \\z( corr" -#: ../regexp.c:1637 #, c-format msgid "E59: invalid character after %s@" msgstr "E59: carachtar neamhbhailí i ndiaidh %s@" -#: ../regexp.c:1672 #, c-format msgid "E60: Too many complex %s{...}s" msgstr "E60: An iomarca %s{...} coimpléascach" -#: ../regexp.c:1687 #, c-format msgid "E61: Nested %s*" msgstr "E61: %s* neadaithe" -#: ../regexp.c:1690 #, c-format msgid "E62: Nested %s%c" msgstr "E62: %s%c neadaithe" -#: ../regexp.c:1800 msgid "E63: invalid use of \\_" msgstr "E63: úsáid neamhbhailí de \\_" -#: ../regexp.c:1850 #, c-format msgid "E64: %s%c follows nothing" msgstr "E64: níl aon rud roimh %s%c" -#: ../regexp.c:1902 msgid "E65: Illegal back reference" msgstr "E65: Cúltagairt neamhbhailí" -#: ../regexp.c:1943 msgid "E68: Invalid character after \\z" msgstr "E68: Carachtar neamhbhailí i ndiaidh \\z" -#: ../regexp.c:2049 ../regexp_nfa.c:1296 #, c-format msgid "E678: Invalid character after %s%%[dxouU]" msgstr "E678: Carachtar neamhbhailí i ndiaidh %s%%[dxouU]" -#: ../regexp.c:2107 #, c-format msgid "E71: Invalid character after %s%%" msgstr "E71: Carachtar neamhbhailí i ndiaidh %s%%" -#: ../regexp.c:3017 #, c-format msgid "E554: Syntax error in %s{...}" msgstr "E554: Earráid chomhréire i %s{...}" -#: ../regexp.c:3805 msgid "External submatches:\n" msgstr "Fo-mheaitseáil sheachtrach:\n" -#: ../regexp.c:7022 +#, c-format +msgid "E888: (NFA regexp) cannot repeat %s" +msgstr "E888: (slonn NFA) ní féidir %s a athdhéanamh" + msgid "" "E864: \\%#= can only be followed by 0, 1, or 2. The automatic engine will be " "used " msgstr "" +"E864: Ní cheadaítear ach 0, 1, nó 2 tar éis \\%#=. Úsáidfear an t-inneall " +"uathoibríoch " -#: ../regexp_nfa.c:239 -msgid "E865: (NFA) Regexp end encountered prematurely" +msgid "Switching to backtracking RE engine for pattern: " msgstr "" +"Ag athrú go dtí an t-inneall rianaithe siar le haghaidh an phatrúin seo: " + +msgid "E865: (NFA) Regexp end encountered prematurely" +msgstr "E865: (NFA) Thángthas ar dheireadh an tsloinn gan súil leis" -#: ../regexp_nfa.c:240 #, c-format msgid "E866: (NFA regexp) Misplaced %c" -msgstr "" +msgstr "E866: (slonn NFA) %c as áit" -#: ../regexp_nfa.c:242 #, c-format -msgid "E877: (NFA regexp) Invalid character class: %<PRId64>" -msgstr "" +msgid "E877: (NFA regexp) Invalid character class: %ld" +msgstr "E877: (slonn NFA) Aicme carachtar neamhbhailí: %ld" -#: ../regexp_nfa.c:1261 #, c-format msgid "E867: (NFA) Unknown operator '\\z%c'" -msgstr "" +msgstr "E867: (NFA) Oibreoir anaithnid '\\z%c'" -#: ../regexp_nfa.c:1387 #, c-format msgid "E867: (NFA) Unknown operator '\\%%%c'" -msgstr "" +msgstr "E867: (NFA) Oibreoir anaithnid '\\%%%c'" + +#. should never happen +msgid "E868: Error building NFA with equivalence class!" +msgstr "E868: Earráid agus NFA á thógáil le haicme coibhéise!" -#: ../regexp_nfa.c:1802 #, c-format msgid "E869: (NFA) Unknown operator '\\@%c'" -msgstr "" +msgstr "E869: (NFA) Oibreoir anaithnid '\\@%c'" -#: ../regexp_nfa.c:1831 msgid "E870: (NFA regexp) Error reading repetition limits" -msgstr "" +msgstr "E870: (slonn NFA) Earráid agus teorainneacha athdhéanta á léamh" #. Can't have a multi follow a multi. -#: ../regexp_nfa.c:1895 msgid "E871: (NFA regexp) Can't have a multi follow a multi !" -msgstr "" +msgstr "E871: (slonn NFA) Ní cheadaítear ilchodach tar éis ilchodach!" #. Too many `(' -#: ../regexp_nfa.c:2037 msgid "E872: (NFA regexp) Too many '('" -msgstr "" +msgstr "E872: (slonn NFA) An iomarca '('" -#: ../regexp_nfa.c:2042 -#, fuzzy msgid "E879: (NFA regexp) Too many \\z(" -msgstr "E50: an iomarca \\z(" +msgstr "E879: (slonn NFA) An iomarca \\z(" -#: ../regexp_nfa.c:2066 msgid "E873: (NFA regexp) proper termination error" -msgstr "" +msgstr "E873: (slonn NFA) críochnú neamhoiriúnach" -#: ../regexp_nfa.c:2599 msgid "E874: (NFA) Could not pop the stack !" -msgstr "" +msgstr "E874: (NFA) Níorbh fhéidir an chruach a phlobadh!" -#: ../regexp_nfa.c:3298 msgid "" "E875: (NFA regexp) (While converting from postfix to NFA), too many states " "left on stack" msgstr "" +"E875: (slonn NFA) (Le linn tiontaithe ó postfix go NFA), an iomarca " +"staideanna fágtha ar an gcruach" -#: ../regexp_nfa.c:3302 msgid "E876: (NFA regexp) Not enough space to store the whole NFA " +msgstr "E876: (slonn NFA) Níl go leor spáis ann don NFA iomlán " + +msgid "E878: (NFA) Could not allocate memory for branch traversal!" msgstr "" +"E878: (NFA) Níorbh fhéidir cuimhne a leithdháileadh leis an gcraobh a " +"thrasnaíl!" -#: ../regexp_nfa.c:4571 ../regexp_nfa.c:4869 msgid "" "Could not open temporary log file for writing, displaying on stderr ... " msgstr "" +"Níorbh fhéidir logchomhad sealadach a oscailt le scríobh ann, á thaispeáint " +"ar stderr..." -#: ../regexp_nfa.c:4840 #, c-format msgid "(NFA) COULD NOT OPEN %s !" -msgstr "" +msgstr "(NFA) NÍORBH FHÉIDIR %s A OSCAILT!" -#: ../regexp_nfa.c:6049 -#, fuzzy msgid "Could not open temporary log file for writing " -msgstr "E214: Ní féidir comhad sealadach a aimsiú chun scríobh ann" +msgstr "Níorbh fhéidir logchomhad sealadach a oscailt le scríobh ann " -#: ../screen.c:7435 msgid " VREPLACE" msgstr " V-IONADAIGH" -#: ../screen.c:7437 msgid " REPLACE" msgstr " ATHCHUR" -#: ../screen.c:7440 msgid " REVERSE" msgstr " TIONTÚ" -#: ../screen.c:7441 msgid " INSERT" msgstr " IONSÁ" -#: ../screen.c:7443 msgid " (insert)" msgstr " (ionsáigh)" -#: ../screen.c:7445 msgid " (replace)" msgstr " (ionadaigh)" -#: ../screen.c:7447 msgid " (vreplace)" msgstr " (v-ionadaigh)" -#: ../screen.c:7449 msgid " Hebrew" msgstr " Eabhrais" -#: ../screen.c:7454 msgid " Arabic" msgstr " Araibis" -#: ../screen.c:7456 -msgid " (lang)" -msgstr " (teanga)" - -#: ../screen.c:7459 msgid " (paste)" msgstr " (greamaigh)" -#: ../screen.c:7469 msgid " VISUAL" msgstr " RADHARCACH" -#: ../screen.c:7470 msgid " VISUAL LINE" msgstr " LÍNE RADHARCACH" -#: ../screen.c:7471 msgid " VISUAL BLOCK" msgstr " BLOC RADHARCACH" -#: ../screen.c:7472 msgid " SELECT" msgstr " ROGHNÚ" -#: ../screen.c:7473 msgid " SELECT LINE" msgstr " SELECT LINE" -#: ../screen.c:7474 msgid " SELECT BLOCK" msgstr " SELECT BLOCK" -#: ../screen.c:7486 ../screen.c:7541 msgid "recording" msgstr "á thaifeadadh" -#: ../search.c:487 #, c-format msgid "E383: Invalid search string: %s" msgstr "E383: Teaghrán cuardaigh neamhbhailí: %s" -#: ../search.c:832 #, c-format msgid "E384: search hit TOP without match for: %s" msgstr "E384: bhuail an cuardach an BARR gan teaghrán comhoiriúnach le %s" -#: ../search.c:835 #, c-format msgid "E385: search hit BOTTOM without match for: %s" msgstr "E385: bhuail an cuardach an BUN gan teaghrán comhoiriúnach le %s" -#: ../search.c:1200 msgid "E386: Expected '?' or '/' after ';'" msgstr "E386: Ag súil le '?' nó '/' i ndiaidh ';'" -#: ../search.c:4085 msgid " (includes previously listed match)" msgstr " (tá an teaghrán comhoiriúnaithe roimhe seo san áireamh)" #. cursor at status line -#: ../search.c:4104 msgid "--- Included files " msgstr "--- Comhaid cheanntáisc " -#: ../search.c:4106 msgid "not found " msgstr "gan aimsiú" -#: ../search.c:4107 msgid "in path ---\n" msgstr "i gconair ---\n" -#: ../search.c:4168 msgid " (Already listed)" msgstr " (Liostaithe cheana féin)" -#: ../search.c:4170 msgid " NOT FOUND" msgstr " AR IARRAIDH" -#: ../search.c:4211 #, c-format msgid "Scanning included file: %s" msgstr "Comhad ceanntáisc á scanadh: %s" -#: ../search.c:4216 #, c-format msgid "Searching included file %s" msgstr "Comhad ceanntáisc %s á chuardach" -#: ../search.c:4405 msgid "E387: Match is on current line" msgstr "E387: Tá an teaghrán comhoiriúnaithe ar an líne reatha" -#: ../search.c:4517 msgid "All included files were found" msgstr "Aimsíodh gach comhad ceanntáisc" -#: ../search.c:4519 msgid "No included files" msgstr "Gan comhaid cheanntáisc" -#: ../search.c:4527 msgid "E388: Couldn't find definition" msgstr "E388: Sainmhíniú gan aimsiú" -#: ../search.c:4529 msgid "E389: Couldn't find pattern" msgstr "E389: Patrún gan aimsiú" -#: ../search.c:4668 msgid "Substitute " msgstr "Ionadú " # in .viminfo -#: ../search.c:4681 #, c-format msgid "" "\n" @@ -5260,98 +5047,130 @@ msgstr "" "# %sPatrún Cuardaigh Is Déanaí:\n" "~" -#: ../spell.c:951 -msgid "E759: Format error in spell file" -msgstr "E759: Earráid fhormáide i gcomhad litrithe" +msgid "E756: Spell checking is not enabled" +msgstr "E756: Níl seiceáil litrithe cumasaithe" + +#, c-format +msgid "Warning: Cannot find word list \"%s_%s.spl\" or \"%s_ascii.spl\"" +msgstr "" +"Rabhadh: Ní féidir liosta focal \"%s_%s.spl\" nó \"%s_ascii.spl\" a aimsiú" + +#, c-format +msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\"" +msgstr "" +"Rabhadh: Ní féidir liosta focal \"%s.%s.spl\" nó \"%s.ascii.spl\" a aimsiú" + +msgid "E797: SpellFileMissing autocommand deleted buffer" +msgstr "E797: Scrios uathordú SpellFileMissing an maolán" + +#, c-format +msgid "Warning: region %s not supported" +msgstr "Rabhadh: réigiún %s gan tacaíocht" + +msgid "Sorry, no suggestions" +msgstr "Tá brón orm, níl aon mholadh ann" + +#, c-format +msgid "Sorry, only %ld suggestions" +msgstr "Tá brón orm, níl ach %ld moladh ann" + +#. for when 'cmdheight' > 1 +#. avoid more prompt +#, c-format +msgid "Change \"%.*s\" to:" +msgstr "Athraigh \"%.*s\" go:" + +#, c-format +msgid " < \"%.*s\"" +msgstr " < \"%.*s\"" + +msgid "E752: No previous spell replacement" +msgstr "E752: Níl aon ionadaí litrithe roimhe seo" + +#, c-format +msgid "E753: Not found: %s" +msgstr "E753: Gan aimsiú: %s" -#: ../spell.c:952 msgid "E758: Truncated spell file" msgstr "E758: Comhad teasctha litrithe" -#: ../spell.c:953 #, c-format msgid "Trailing text in %s line %d: %s" msgstr "Téacs chun deiridh i %s líne %d: %s" -#: ../spell.c:954 #, c-format msgid "Affix name too long in %s line %d: %s" msgstr "Ainm foircinn rófhada i %s líne %d: %s" -#: ../spell.c:955 msgid "E761: Format error in affix file FOL, LOW or UPP" msgstr "E761: Earráid fhormáide i gcomhad foircinn FOL, LOW, nó UPP" -#: ../spell.c:957 msgid "E762: Character in FOL, LOW or UPP is out of range" msgstr "E762: Carachtar i FOL, LOW nó UPP as raon" -#: ../spell.c:958 msgid "Compressing word tree..." msgstr "Crann focal á chomhbhrú..." -#: ../spell.c:1951 -msgid "E756: Spell checking is not enabled" -msgstr "E756: Níl seiceáil litrithe cumasaithe" - -#: ../spell.c:2249 -#, c-format -msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\"" -msgstr "" -"Rabhadh: Ní féidir liosta focal \"%s.%s.spl\" nó \"%s.ascii.spl\" a aimsiú" - -#: ../spell.c:2473 #, c-format msgid "Reading spell file \"%s\"" msgstr "Comhad litrithe \"%s\" á léamh" -#: ../spell.c:2496 msgid "E757: This does not look like a spell file" msgstr "E757: Níl sé cosúil le comhad litrithe" -#: ../spell.c:2501 msgid "E771: Old spell file, needs to be updated" msgstr "E771: Seanchomhad litrithe, tá gá lena nuashonrú" -#: ../spell.c:2504 msgid "E772: Spell file is for newer version of Vim" msgstr "E772: Oibríonn an comhad litrithe le leagan níos nuaí de Vim" -#: ../spell.c:2602 msgid "E770: Unsupported section in spell file" msgstr "E770: Rannán gan tacaíocht i gcomhad litrithe" -#: ../spell.c:3762 #, c-format -msgid "Warning: region %s not supported" -msgstr "Rabhadh: réigiún %s gan tacaíocht" +msgid "E778: This does not look like a .sug file: %s" +msgstr "E778: Níl sé cosúil le comhad .sug: %s" + +#, c-format +msgid "E779: Old .sug file, needs to be updated: %s" +msgstr "E779: Seanchomhad .sug, tá gá lena nuashonrú: %s" + +#, c-format +msgid "E780: .sug file is for newer version of Vim: %s" +msgstr "E780: Oibríonn an comhad .sug le leagan níos nuaí de Vim: %s" + +#, c-format +msgid "E781: .sug file doesn't match .spl file: %s" +msgstr "E781: Níl an comhad .sug comhoiriúnach leis an gcomhad .spl: %s" + +#, c-format +msgid "E782: error while reading .sug file: %s" +msgstr "E782: earráid agus comhad .sug á léamh: %s" -#: ../spell.c:4550 #, c-format msgid "Reading affix file %s ..." msgstr "Comhad foircinn %s á léamh..." -#: ../spell.c:4589 ../spell.c:5635 ../spell.c:6140 #, c-format msgid "Conversion failure for word in %s line %d: %s" msgstr "Theip ar thiontú focail i %s líne %d: %s" -#: ../spell.c:4630 ../spell.c:6170 #, c-format msgid "Conversion in %s not supported: from %s to %s" msgstr "Tiontú i %s gan tacaíocht: ó %s go %s" -#: ../spell.c:4642 +#, c-format +msgid "Conversion in %s not supported" +msgstr "Tiontú i %s gan tacaíocht" + #, c-format msgid "Invalid value for FLAG in %s line %d: %s" msgstr "Luach neamhbhailí ar FLAG i %s líne %d: %s" -#: ../spell.c:4655 #, c-format msgid "FLAG after using flags in %s line %d: %s" msgstr "FLAG i ndiaidh bratacha in úsáid i %s líne %d: %s" -#: ../spell.c:4723 #, c-format msgid "" "Defining COMPOUNDFORBIDFLAG after PFX item may give wrong results in %s line " @@ -5360,7 +5179,6 @@ msgstr "" "Seans go bhfaighfidh tú torthaí míchearta má chuireann tú COMPOUNDFORBIDFLAG " "tar éis míre PFX i %s líne %d" -#: ../spell.c:4731 #, c-format msgid "" "Defining COMPOUNDPERMITFLAG after PFX item may give wrong results in %s line " @@ -5369,42 +5187,34 @@ msgstr "" "Seans go bhfaighfidh tú torthaí míchearta má chuireann tú COMPOUNDPERMITFLAG " "tar éis míre PFX i %s líne %d" -#: ../spell.c:4747 #, c-format msgid "Wrong COMPOUNDRULES value in %s line %d: %s" msgstr "Luach mícheart ar COMPOUNDRULES i %s líne %d: %s" -#: ../spell.c:4771 #, c-format msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s" msgstr "Luach mícheart ar COMPOUNDWORDMAX i %s líne %d: %s" -#: ../spell.c:4777 #, c-format msgid "Wrong COMPOUNDMIN value in %s line %d: %s" msgstr "Luach mícheart ar COMPOUNDMIN i %s líne %d: %s" -#: ../spell.c:4783 #, c-format msgid "Wrong COMPOUNDSYLMAX value in %s line %d: %s" msgstr "Luach mícheart ar COMPOUNDSYLMAX i %s líne %d: %s" -#: ../spell.c:4795 #, c-format msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s" msgstr "Luach mícheart ar CHECKCOMPOUNDPATTERN i %s líne %d: %s" -#: ../spell.c:4847 #, c-format msgid "Different combining flag in continued affix block in %s line %d: %s" msgstr "Bratach dhifriúil cheangail i mbloc leanta foircinn i %s líne %d: %s" -#: ../spell.c:4850 #, c-format msgid "Duplicate affix in %s line %d: %s" msgstr "Clib dhúblach i %s líne %d: %s" -#: ../spell.c:4871 #, c-format msgid "" "Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST in %s " @@ -5413,335 +5223,230 @@ msgstr "" "Foirceann in úsáid le haghaidh BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/" "NOSUGGEST freisin i %s líne %d: %s" -#: ../spell.c:4893 #, c-format msgid "Expected Y or N in %s line %d: %s" msgstr "Bhíothas ag súil le `Y' nó `N' i %s líne %d: %s" -#: ../spell.c:4968 #, c-format msgid "Broken condition in %s line %d: %s" msgstr "Coinníoll briste i %s líne %d: %s" -#: ../spell.c:5091 #, c-format msgid "Expected REP(SAL) count in %s line %d" msgstr "Bhíothas ag súil le líon na REP(SAL) i %s líne %d" -#: ../spell.c:5120 #, c-format msgid "Expected MAP count in %s line %d" msgstr "Bhíothas ag súil le líon na MAP i %s líne %d" -#: ../spell.c:5132 #, c-format msgid "Duplicate character in MAP in %s line %d" msgstr "Carachtar dúblach i MAP i %s líne %d" -#: ../spell.c:5176 #, c-format msgid "Unrecognized or duplicate item in %s line %d: %s" msgstr "Mír anaithnid nó dhúblach i %s líne %d: %s" -#: ../spell.c:5197 #, c-format msgid "Missing FOL/LOW/UPP line in %s" msgstr "Líne FOL/LOW/UPP ar iarraidh i %s" -#: ../spell.c:5220 msgid "COMPOUNDSYLMAX used without SYLLABLE" msgstr "COMPOUNDSYLMAX in úsáid gan SYLLABLE" -#: ../spell.c:5236 msgid "Too many postponed prefixes" msgstr "An iomarca réimíreanna curtha siar" -#: ../spell.c:5238 msgid "Too many compound flags" msgstr "An iomarca bratach comhfhocail" -#: ../spell.c:5240 msgid "Too many postponed prefixes and/or compound flags" msgstr "An iomarca réimíreanna curtha siar agus/nó bratacha comhfhocal" -#: ../spell.c:5250 #, c-format msgid "Missing SOFO%s line in %s" msgstr "Líne SOFO%s ar iarraidh i %s" -#: ../spell.c:5253 #, c-format msgid "Both SAL and SOFO lines in %s" msgstr "Línte SAL agus SOFO araon i %s" -#: ../spell.c:5331 #, c-format msgid "Flag is not a number in %s line %d: %s" msgstr "Ní uimhir í an bhratach i %s líne %d: %s" -#: ../spell.c:5334 #, c-format msgid "Illegal flag in %s line %d: %s" msgstr "Bratach neamhcheadaithe i %s líne %d: %s" -#: ../spell.c:5493 ../spell.c:5501 #, c-format msgid "%s value differs from what is used in another .aff file" msgstr "Tá difear idir luach %s agus an luach i gcomhad .aff eile" -#: ../spell.c:5602 #, c-format msgid "Reading dictionary file %s ..." msgstr "Foclóir %s á léamh ..." -#: ../spell.c:5611 #, c-format msgid "E760: No word count in %s" msgstr "E760: Líon na bhfocal ar iarraidh i %s" -#: ../spell.c:5669 #, c-format msgid "line %6d, word %6d - %s" msgstr "líne %6d, focal %6d - %s" -#: ../spell.c:5691 #, c-format msgid "Duplicate word in %s line %d: %s" msgstr "Focal dúblach i %s líne %d: %s" -#: ../spell.c:5694 #, c-format msgid "First duplicate word in %s line %d: %s" msgstr "An chéad fhocal dúblach i %s líne %d: %s" -#: ../spell.c:5746 #, c-format msgid "%d duplicate word(s) in %s" msgstr "%d focal dúblach i %s" -#: ../spell.c:5748 #, c-format msgid "Ignored %d word(s) with non-ASCII characters in %s" msgstr "Rinneadh neamhshuim ar %d focal le carachtair neamh-ASCII i %s" -#: ../spell.c:6115 #, c-format msgid "Reading word file %s ..." msgstr "Comhad focail %s á léamh ..." -#: ../spell.c:6155 #, c-format msgid "Duplicate /encoding= line ignored in %s line %d: %s" msgstr "Rinneadh neamhshuim ar líne dhúblach `/encoding=' i %s líne %d: %s" -#: ../spell.c:6159 #, c-format msgid "/encoding= line after word ignored in %s line %d: %s" msgstr "" "Rinneadh neamhshuim ar líne `/encoding=' i ndiaidh focail i %s líne %d: %s" -#: ../spell.c:6180 #, c-format msgid "Duplicate /regions= line ignored in %s line %d: %s" msgstr "Rinneadh neamhshuim ar líne `/regions=' i %s líne %d: %s" -#: ../spell.c:6185 #, c-format msgid "Too many regions in %s line %d: %s" msgstr "An iomarca réigiún i %s líne %d: %s" -#: ../spell.c:6198 #, c-format msgid "/ line ignored in %s line %d: %s" msgstr "Rinneadh neamhshuim ar líne `/' i %s líne %d: %s" -#: ../spell.c:6224 #, c-format msgid "Invalid region nr in %s line %d: %s" msgstr "Uimhir neamhbhailí réigiúin i %s líne %d: %s" -#: ../spell.c:6230 #, c-format msgid "Unrecognized flags in %s line %d: %s" msgstr "Bratacha anaithnide i %s líne %d: %s" -#: ../spell.c:6257 #, c-format msgid "Ignored %d words with non-ASCII characters" msgstr "Rinneadh neamhshuim ar %d focal le carachtair neamh-ASCII" -#: ../spell.c:6656 +msgid "E845: Insufficient memory, word list will be incomplete" +msgstr "E845: Easpa cuimhne, beidh an liosta focal neamhiomlán" + #, c-format msgid "Compressed %d of %d nodes; %d (%d%%) remaining" msgstr "Comhbhrúdh %d as %d nód; %d (%d%%) fágtha" -#: ../spell.c:7340 msgid "Reading back spell file..." msgstr "Comhad litrithe á léamh arís..." -#. Go through the trie of good words, soundfold each word and add it to -#. the soundfold trie. -#: ../spell.c:7357 +#. +#. * Go through the trie of good words, soundfold each word and add it to +#. * the soundfold trie. +#. msgid "Performing soundfolding..." msgstr "Fuaimfhilleadh..." -#: ../spell.c:7368 #, c-format -msgid "Number of words after soundfolding: %<PRId64>" -msgstr "Líon na bhfocal tar éis fuaimfhillte: %<PRId64>" +msgid "Number of words after soundfolding: %ld" +msgstr "Líon na bhfocal tar éis fuaimfhillte: %ld" -#: ../spell.c:7476 #, c-format msgid "Total number of words: %d" msgstr "Líon iomlán na bhfocal: %d" -#: ../spell.c:7655 #, c-format msgid "Writing suggestion file %s ..." msgstr "Comhad moltaí %s á scríobh ..." -#: ../spell.c:7707 ../spell.c:7927 #, c-format msgid "Estimated runtime memory use: %d bytes" msgstr "Cuimhne measta a bheith in úsáid le linn rite: %d beart" -#: ../spell.c:7820 msgid "E751: Output file name must not have region name" msgstr "E751: Ní cheadaítear ainm réigiúin in ainm an aschomhaid" -#: ../spell.c:7822 msgid "E754: Only up to 8 regions supported" msgstr "E754: Ní thacaítear le níos mó ná 8 réigiún" -#: ../spell.c:7846 #, c-format msgid "E755: Invalid region in %s" msgstr "E755: Réigiún neamhbhailí i %s" -#: ../spell.c:7907 msgid "Warning: both compounding and NOBREAK specified" msgstr "Rabhadh: sonraíodh comhfhocail agus NOBREAK araon" -#: ../spell.c:7920 #, c-format msgid "Writing spell file %s ..." msgstr "Comhad litrithe %s á scríobh ..." -#: ../spell.c:7925 msgid "Done!" msgstr "Críochnaithe!" -#: ../spell.c:8034 #, c-format -msgid "E765: 'spellfile' does not have %<PRId64> entries" -msgstr "E765: níl %<PRId64> iontráil i 'spellfile'" +msgid "E765: 'spellfile' does not have %ld entries" +msgstr "E765: níl %ld iontráil i 'spellfile'" -#: ../spell.c:8074 -#, fuzzy, c-format +#, c-format msgid "Word '%.*s' removed from %s" -msgstr "Baineadh focal ó %s" +msgstr "Baineadh focal '%.*s' ó %s" -#: ../spell.c:8117 -#, fuzzy, c-format +#, c-format msgid "Word '%.*s' added to %s" -msgstr "Cuireadh focal le %s" +msgstr "Cuireadh focal '%.*s' le %s" -#: ../spell.c:8381 msgid "E763: Word characters differ between spell files" msgstr "E763: Tá carachtair dhifriúla fhocail sna comhaid litrithe" -#: ../spell.c:8684 -msgid "Sorry, no suggestions" -msgstr "Tá brón orm, níl aon mholadh ann" - -#: ../spell.c:8687 -#, c-format -msgid "Sorry, only %<PRId64> suggestions" -msgstr "Tá brón orm, níl ach %<PRId64> moladh ann" - -#. for when 'cmdheight' > 1 -#. avoid more prompt -#: ../spell.c:8704 -#, c-format -msgid "Change \"%.*s\" to:" -msgstr "Athraigh \"%.*s\" go:" - -#: ../spell.c:8737 -#, c-format -msgid " < \"%.*s\"" -msgstr " < \"%.*s\"" - -#: ../spell.c:8882 -msgid "E752: No previous spell replacement" -msgstr "E752: Níl aon ionadaí litrithe roimhe seo" - -#: ../spell.c:8925 -#, c-format -msgid "E753: Not found: %s" -msgstr "E753: Gan aimsiú: %s" - -#: ../spell.c:9276 -#, c-format -msgid "E778: This does not look like a .sug file: %s" -msgstr "E778: Níl sé cosúil le comhad .sug: %s" - -#: ../spell.c:9282 -#, c-format -msgid "E779: Old .sug file, needs to be updated: %s" -msgstr "E779: Seanchomhad .sug, tá gá lena nuashonrú: %s" - -#: ../spell.c:9286 -#, c-format -msgid "E780: .sug file is for newer version of Vim: %s" -msgstr "E780: Oibríonn an comhad .sug le leagan níos nuaí de Vim: %s" - -#: ../spell.c:9295 -#, c-format -msgid "E781: .sug file doesn't match .spl file: %s" -msgstr "E781: Níl an comhad .sug comhoiriúnach leis an gcomhad .spl: %s" - -#: ../spell.c:9305 -#, c-format -msgid "E782: error while reading .sug file: %s" -msgstr "E782: earráid agus comhad .sug á léamh: %s" - #. This should have been checked when generating the .spl -#. file. -#: ../spell.c:11575 +#. * file. msgid "E783: duplicate char in MAP entry" msgstr "E783: carachtar dúblach in iontráil MAP" -#: ../syntax.c:266 msgid "No Syntax items defined for this buffer" msgstr "Níl aon mhír chomhréire sainmhínithe le haghaidh an mhaoláin seo" -#: ../syntax.c:3083 ../syntax.c:3104 ../syntax.c:3127 #, c-format msgid "E390: Illegal argument: %s" msgstr "E390: Argóint neamhcheadaithe: %s" -#: ../syntax.c:3299 +msgid "syntax iskeyword " +msgstr "comhréir iskeyword " + #, c-format msgid "E391: No such syntax cluster: %s" msgstr "E391: Níl a leithéid de mhogall comhréire: %s" -#: ../syntax.c:3433 msgid "syncing on C-style comments" msgstr "ag sioncrónú ar nóta den nós C" -#: ../syntax.c:3439 msgid "no syncing" msgstr "gan sioncrónú" -#: ../syntax.c:3441 msgid "syncing starts " msgstr "tosaíonn an sioncrónú " -#: ../syntax.c:3443 ../syntax.c:3506 msgid " lines before top line" msgstr " línte roimh an bharr" -#: ../syntax.c:3448 msgid "" "\n" "--- Syntax sync items ---" @@ -5749,7 +5454,6 @@ msgstr "" "\n" "--- Míreanna Comhréire Sionc ---" -#: ../syntax.c:3452 msgid "" "\n" "syncing on items" @@ -5757,7 +5461,6 @@ msgstr "" "\n" "ag sioncrónú ar mhíreanna" -#: ../syntax.c:3457 msgid "" "\n" "--- Syntax items ---" @@ -5765,275 +5468,217 @@ msgstr "" "\n" "--- Míreanna comhréire ---" -#: ../syntax.c:3475 #, c-format msgid "E392: No such syntax cluster: %s" msgstr "E392: Níl a leithéid de mhogall comhréire: %s" -#: ../syntax.c:3497 msgid "minimal " msgstr "íosta " -#: ../syntax.c:3503 msgid "maximal " msgstr "uasta " -#: ../syntax.c:3513 msgid "; match " msgstr "; meaitseáil " -#: ../syntax.c:3515 msgid " line breaks" msgstr " bristeacha líne" -#: ../syntax.c:4076 msgid "E395: contains argument not accepted here" msgstr "E395: tá argóint ann nach nglactar leis anseo" -#: ../syntax.c:4096 -#, fuzzy msgid "E844: invalid cchar value" -msgstr "E474: Argóint neamhbhailí" +msgstr "E844: luach neamhbhailí cchar" -#: ../syntax.c:4107 msgid "E393: group[t]here not accepted here" msgstr "E393: ní ghlactar le group[t]here anseo" -#: ../syntax.c:4126 #, c-format msgid "E394: Didn't find region item for %s" msgstr "E394: Níor aimsíodh mír réigiúin le haghaidh %s" -#: ../syntax.c:4188 msgid "E397: Filename required" msgstr "E397: Tá gá le hainm comhaid" -#: ../syntax.c:4221 -#, fuzzy msgid "E847: Too many syntax includes" -msgstr "E77: An iomarca ainmneacha comhaid" +msgstr "E847: An iomarca comhad comhréire in úsáid" -#: ../syntax.c:4303 #, c-format msgid "E789: Missing ']': %s" msgstr "E789: ']' ar iarraidh: %s" -#: ../syntax.c:4531 +#, c-format +msgid "E890: trailing char after ']': %s]%s" +msgstr "E890: carachtar tar éis ']': %s]%s" + #, c-format msgid "E398: Missing '=': %s" msgstr "E398: '=' ar iarraidh: %s" -#: ../syntax.c:4666 #, c-format msgid "E399: Not enough arguments: syntax region %s" msgstr "E399: Níl go leor argóintí ann: réigiún comhréire %s" -#: ../syntax.c:4870 -#, fuzzy msgid "E848: Too many syntax clusters" -msgstr "E391: Níl a leithéid de mhogall comhréire: %s" +msgstr "E848: An iomarca mogall comhréire" -#: ../syntax.c:4954 msgid "E400: No cluster specified" msgstr "E400: Níor sonraíodh mogall" -#. end delimiter not found -#: ../syntax.c:4986 #, c-format msgid "E401: Pattern delimiter not found: %s" msgstr "E401: Teormharcóir patrúin gan aimsiú: %s" -#: ../syntax.c:5049 #, c-format msgid "E402: Garbage after pattern: %s" msgstr "E402: Dramhaíl i ndiaidh patrúin: %s" -#: ../syntax.c:5120 msgid "E403: syntax sync: line continuations pattern specified twice" msgstr "E403: comhréir sionc: tugadh patrún leanúint líne faoi dhó" -#: ../syntax.c:5169 #, c-format msgid "E404: Illegal arguments: %s" msgstr "E404: Argóintí neamhcheadaithe: %s" -#: ../syntax.c:5217 #, c-format msgid "E405: Missing equal sign: %s" msgstr "E405: Sín chothroime ar iarraidh: %s" -#: ../syntax.c:5222 #, c-format msgid "E406: Empty argument: %s" msgstr "E406: Argóint fholamh: %s" -#: ../syntax.c:5240 #, c-format msgid "E407: %s not allowed here" msgstr "E407: ní cheadaítear %s anseo" -#: ../syntax.c:5246 #, c-format msgid "E408: %s must be first in contains list" msgstr "E408: ní foláir %s a thabhairt ar dtús sa liosta `contains'" -#: ../syntax.c:5304 #, c-format msgid "E409: Unknown group name: %s" msgstr "E409: Ainm anaithnid grúpa: %s" -#: ../syntax.c:5512 #, c-format msgid "E410: Invalid :syntax subcommand: %s" msgstr "E410: Fo-ordú neamhbhailí :syntax: %s" -#: ../syntax.c:5854 msgid "" " TOTAL COUNT MATCH SLOWEST AVERAGE NAME PATTERN" msgstr "" +" IOMLÁN LÍON MEAITS IS MOILLE MEÁN AINM PATRÚN" -#: ../syntax.c:6146 msgid "E679: recursive loop loading syncolor.vim" msgstr "E679: lúb athchúrsach agus syncolor.vim á luchtú" -#: ../syntax.c:6256 #, c-format msgid "E411: highlight group not found: %s" msgstr "E411: Grúpa aibhsithe gan aimsiú: %s" -#: ../syntax.c:6278 #, c-format msgid "E412: Not enough arguments: \":highlight link %s\"" msgstr "E412: Easpa argóintí: \":highlight link %s\"" -#: ../syntax.c:6284 #, c-format msgid "E413: Too many arguments: \":highlight link %s\"" msgstr "E413: An iomarca argóintí: \":highlight link %s\"" -#: ../syntax.c:6302 msgid "E414: group has settings, highlight link ignored" msgstr "" "E414: tá socruithe ag an ghrúpa, ag déanamh neamhshuim ar nasc aibhsithe" -#: ../syntax.c:6367 #, c-format msgid "E415: unexpected equal sign: %s" msgstr "E415: sín chothroime gan choinne: %s" -#: ../syntax.c:6395 #, c-format msgid "E416: missing equal sign: %s" msgstr "E416: sín chothroime ar iarraidh: %s" -#: ../syntax.c:6418 #, c-format msgid "E417: missing argument: %s" msgstr "E417: argóint ar iarraidh: %s" -#: ../syntax.c:6446 #, c-format msgid "E418: Illegal value: %s" msgstr "E418: Luach neamhcheadaithe: %s" -#: ../syntax.c:6496 msgid "E419: FG color unknown" msgstr "E419: Dath anaithnid an chúlra" -#: ../syntax.c:6504 msgid "E420: BG color unknown" msgstr "E420: Dath anaithnid an tulra" -#: ../syntax.c:6564 #, c-format msgid "E421: Color name or number not recognized: %s" msgstr "E421: Níor aithníodh ainm/uimhir an datha: %s" -#: ../syntax.c:6714 #, c-format msgid "E422: terminal code too long: %s" msgstr "E422: cód teirminéil rófhada: %s" -#: ../syntax.c:6753 #, c-format msgid "E423: Illegal argument: %s" msgstr "E423: Argóint neamhcheadaithe: %s" -#: ../syntax.c:6925 msgid "E424: Too many different highlighting attributes in use" msgstr "E424: An iomarca tréithe aibhsithe in úsáid" -#: ../syntax.c:7427 msgid "E669: Unprintable character in group name" msgstr "E669: Carachtar neamhghrafach in ainm grúpa" -#: ../syntax.c:7434 msgid "W18: Invalid character in group name" msgstr "W18: Carachtar neamhbhailí in ainm grúpa" -#: ../syntax.c:7448 msgid "E849: Too many highlight and syntax groups" -msgstr "" +msgstr "E849: An iomarca grúpaí aibhsithe agus comhréire" -#: ../tag.c:104 msgid "E555: at bottom of tag stack" msgstr "E555: in íochtar na cruaiche clibeanna" -#: ../tag.c:105 msgid "E556: at top of tag stack" msgstr "E556: in uachtar na cruaiche clibeanna" -#: ../tag.c:380 msgid "E425: Cannot go before first matching tag" msgstr "E425: Ní féidir a dhul roimh an chéad chlib chomhoiriúnach" -#: ../tag.c:504 #, c-format msgid "E426: tag not found: %s" msgstr "E426: clib gan aimsiú: %s" -#: ../tag.c:528 msgid " # pri kind tag" msgstr " # tos cin clib" -#: ../tag.c:531 msgid "file\n" msgstr "comhad\n" -#: ../tag.c:829 msgid "E427: There is only one matching tag" msgstr "E427: Tá aon chlib chomhoiriúnach amháin" -#: ../tag.c:831 msgid "E428: Cannot go beyond last matching tag" msgstr "E428: Ní féidir a dhul thar an chlib chomhoiriúnach deireanach" -#: ../tag.c:850 #, c-format msgid "File \"%s\" does not exist" msgstr "Níl a leithéid de chomhad \"%s\" ann" #. Give an indication of the number of matching tags -#: ../tag.c:859 #, c-format msgid "tag %d of %d%s" msgstr "clib %d as %d%s" -#: ../tag.c:862 msgid " or more" msgstr " nó os a chionn" -#: ../tag.c:864 msgid " Using tag with different case!" msgstr " Ag úsáid clib le cás eile!" -#: ../tag.c:909 #, c-format msgid "E429: File \"%s\" does not exist" msgstr "E429: Níl a leithéid de chomhad \"%s\"" #. Highlight title -#: ../tag.c:960 msgid "" "\n" " # TO tag FROM line in file/text" @@ -6041,79 +5686,66 @@ msgstr "" "\n" " # Go clib Ó líne i gcomhad/téacs" -#: ../tag.c:1303 #, c-format msgid "Searching tags file %s" msgstr "Comhad clibeanna %s á chuardach" -#: ../tag.c:1545 +#, c-format +msgid "E430: Tag file path truncated for %s\n" +msgstr "E430: Teascadh conair an chomhaid clibeanna le haghaidh %s\n" + msgid "Ignoring long line in tags file" msgstr "Ag déanamh neamhaird de líne fhada sa chomhad clibeanna" -#: ../tag.c:1915 #, c-format msgid "E431: Format error in tags file \"%s\"" msgstr "E431: Earráid fhormáide i gcomhad clibeanna \"%s\"" -#: ../tag.c:1917 #, c-format -msgid "Before byte %<PRId64>" -msgstr "Roimh bheart %<PRId64>" +msgid "Before byte %ld" +msgstr "Roimh bheart %ld" -#: ../tag.c:1929 #, c-format msgid "E432: Tags file not sorted: %s" msgstr "E432: Comhad clibeanna gan sórtáil: %s" #. never opened any tags file -#: ../tag.c:1960 msgid "E433: No tags file" msgstr "E433: Níl aon chomhad clibeanna" -#: ../tag.c:2536 msgid "E434: Can't find tag pattern" msgstr "E434: Patrún clibe gan aimsiú" -#: ../tag.c:2544 msgid "E435: Couldn't find tag, just guessing!" msgstr "E435: Clib gan aimsiú, ag tabhairt buille faoi thuairim!" -#: ../tag.c:2797 -#, fuzzy, c-format +#, c-format msgid "Duplicate field name: %s" -msgstr "Clib dhúblach i %s líne %d: %s" +msgstr "Ainm réimse dúbailte: %s" -#: ../term.c:1442 msgid "' not known. Available builtin terminals are:" msgstr "' anaithnid. Is iad seo na teirminéil insuite:" -#: ../term.c:1463 msgid "defaulting to '" msgstr "réamhshocrú = '" -#: ../term.c:1731 msgid "E557: Cannot open termcap file" msgstr "E557: Ní féidir an comhad termcap a oscailt" -#: ../term.c:1735 msgid "E558: Terminal entry not found in terminfo" msgstr "E558: Iontráil teirminéil gan aimsiú sa terminfo" -#: ../term.c:1737 msgid "E559: Terminal entry not found in termcap" msgstr "E559: Iontráil teirminéil gan aimsiú sa termcap" -#: ../term.c:1878 #, c-format msgid "E436: No \"%s\" entry in termcap" msgstr "E436: Níl aon iontráil \"%s\" sa termcap" -#: ../term.c:2249 msgid "E437: terminal capability \"cm\" required" msgstr "E437: tá gá leis an chumas teirminéil \"cm\"" #. Highlight title -#: ../term.c:4376 msgid "" "\n" "--- Terminal keys ---" @@ -6121,169 +5753,342 @@ msgstr "" "\n" "--- Eochracha teirminéil ---" -#: ../ui.c:481 +msgid "Cannot open $VIMRUNTIME/rgb.txt" +msgstr "Ní féidir $VIMRUNTIME/rgb.txt a oscailt" + +msgid "new shell started\n" +msgstr "tosaíodh blaosc nua\n" + msgid "Vim: Error reading input, exiting...\n" msgstr "Vim: Earráid agus an t-inchomhad á léamh; ag scor...\n" +msgid "Used CUT_BUFFER0 instead of empty selection" +msgstr "Úsáideadh CUT_BUFFER0 in ionad roghnúcháin folaimh" + #. This happens when the FileChangedRO autocommand changes the #. * file in a way it becomes shorter. -#: ../undo.c:379 -#, fuzzy msgid "E881: Line count changed unexpectedly" -msgstr "E787: Athraíodh an maolán gan choinne" +msgstr "E881: Athraíodh líon na línte gan súil leis" + +#. must display the prompt +msgid "No undo possible; continue anyway" +msgstr "Ní féidir a chealú; lean ar aghaidh mar sin féin" -#: ../undo.c:627 -#, fuzzy, c-format +#, c-format msgid "E828: Cannot open undo file for writing: %s" -msgstr "E212: Ní féidir comhad a oscailt chun scríobh ann" +msgstr "E828: Ní féidir comhad staire a oscailt le scríobh ann: %s" -#: ../undo.c:717 #, c-format msgid "E825: Corrupted undo file (%s): %s" -msgstr "" +msgstr "E825: Comhad staire truaillithe (%s): %s" -#: ../undo.c:1039 msgid "Cannot write undo file in any directory in 'undodir'" -msgstr "" +msgstr "Ní féidir comhad staire a shábháil in aon chomhadlann in 'undodir'" -#: ../undo.c:1074 #, c-format msgid "Will not overwrite with undo file, cannot read: %s" -msgstr "" +msgstr "Ní forscríobhfar le comhad staire, ní féidir é a léamh: %s" -#: ../undo.c:1092 #, c-format msgid "Will not overwrite, this is not an undo file: %s" -msgstr "" +msgstr "Ní forscríobhfar é, ní comhad staire é seo: %s" -#: ../undo.c:1108 msgid "Skipping undo file write, nothing to undo" -msgstr "" +msgstr "Ní scríobhfar an comhad staire, níl aon stair ann" -#: ../undo.c:1121 -#, fuzzy, c-format +#, c-format msgid "Writing undo file: %s" -msgstr "Comhad viminfo \"%s\" á scríobh" +msgstr "Comhad staire á scríobh: %s" -#: ../undo.c:1213 -#, fuzzy, c-format +#, c-format msgid "E829: write error in undo file: %s" -msgstr "E297: Earráid sa scríobh i gcomhad babhtála" +msgstr "E829: earráid le linn scríofa i gcomhad staire: %s" -#: ../undo.c:1280 #, c-format msgid "Not reading undo file, owner differs: %s" -msgstr "" +msgstr "Níor léadh an comhad staire; úinéir difriúil: %s" -#: ../undo.c:1292 -#, fuzzy, c-format +#, c-format msgid "Reading undo file: %s" -msgstr "Comhad focail %s á léamh ..." +msgstr "Comhad staire á léamh: %s" -#: ../undo.c:1299 -#, fuzzy, c-format +#, c-format msgid "E822: Cannot open undo file for reading: %s" -msgstr "E195: Ní féidir an comhad viminfo a oscailt chun léamh" +msgstr "E822: Ní féidir an comhad staire a oscailt lena léamh: %s" -#: ../undo.c:1308 -#, fuzzy, c-format +#, c-format msgid "E823: Not an undo file: %s" -msgstr "E753: Gan aimsiú: %s" +msgstr "E823: Ní comhad staire é: %s" + +#, c-format +msgid "E832: Non-encrypted file has encrypted undo file: %s" +msgstr "E832: Comhad neamhchriptithe le comhad staire criptithe: %s" -#: ../undo.c:1313 -#, fuzzy, c-format +#, c-format +msgid "E826: Undo file decryption failed: %s" +msgstr "E826: Níorbh fhéidir an comhad staire a dhíchriptiú: %s" + +#, c-format +msgid "E827: Undo file is encrypted: %s" +msgstr "E827: Tá an comhad staire criptithe: %s" + +#, c-format msgid "E824: Incompatible undo file: %s" -msgstr "E484: Ní féidir comhad %s a oscailt" +msgstr "E824: Comhad staire neamh-chomhoiriúnach: %s" -#: ../undo.c:1328 msgid "File contents changed, cannot use undo info" -msgstr "" +msgstr "Athraíodh ábhar an chomhaid, ní féidir comhad staire a úsáid" -#: ../undo.c:1497 -#, fuzzy, c-format +#, c-format msgid "Finished reading undo file %s" -msgstr "deireadh ag foinsiú %s" +msgstr "Comhad staire %s léite" -#: ../undo.c:1586 ../undo.c:1812 msgid "Already at oldest change" msgstr "Ag an athrú is sine cheana" -#: ../undo.c:1597 ../undo.c:1814 msgid "Already at newest change" msgstr "Ag an athrú is nuaí cheana" -#: ../undo.c:1806 -#, fuzzy, c-format -msgid "E830: Undo number %<PRId64> not found" -msgstr "Níor aimsíodh cealú uimhir a %<PRId64>" +#, c-format +msgid "E830: Undo number %ld not found" +msgstr "E830: Mír staire %ld gan aimsiú" -#: ../undo.c:1979 msgid "E438: u_undo: line numbers wrong" msgstr "E438: u_undo: líne-uimhreacha míchearta" -#: ../undo.c:2183 msgid "more line" msgstr "líne eile" -#: ../undo.c:2185 msgid "more lines" msgstr "líne eile" -#: ../undo.c:2187 msgid "line less" msgstr "líne níos lú" -#: ../undo.c:2189 msgid "fewer lines" msgstr "líne níos lú" -#: ../undo.c:2193 msgid "change" msgstr "athrú" -#: ../undo.c:2195 msgid "changes" msgstr "athrú" -#: ../undo.c:2225 #, c-format -msgid "%<PRId64> %s; %s #%<PRId64> %s" -msgstr "%<PRId64> %s; %s #%<PRId64> %s" +msgid "%ld %s; %s #%ld %s" +msgstr "%ld %s; %s #%ld %s" -#: ../undo.c:2228 msgid "before" msgstr "roimh" -#: ../undo.c:2228 msgid "after" msgstr "tar éis" -#: ../undo.c:2325 msgid "Nothing to undo" msgstr "Níl faic le cealú" -#: ../undo.c:2330 msgid "number changes when saved" -msgstr "" +msgstr "athraíonn an uimhir ag am sábhála" -#: ../undo.c:2360 #, c-format -msgid "%<PRId64> seconds ago" -msgstr "%<PRId64> soicind ó shin" +msgid "%ld seconds ago" +msgstr "%ld soicind ó shin" -#: ../undo.c:2372 msgid "E790: undojoin is not allowed after undo" msgstr "E790: ní cheadaítear \"undojoin\" tar éis \"undo\"" -#: ../undo.c:2466 msgid "E439: undo list corrupt" msgstr "E439: tá an liosta cealaithe truaillithe" -#: ../undo.c:2495 msgid "E440: undo line missing" msgstr "E440: líne chealaithe ar iarraidh" -#: ../version.c:600 +#, c-format +msgid "E122: Function %s already exists, add ! to replace it" +msgstr "E122: Tá feidhm %s ann cheana, cuir ! leis an ordú chun é a asáitiú" + +msgid "E717: Dictionary entry already exists" +msgstr "E717: Tá an iontráil foclóra seo ann cheana" + +msgid "E718: Funcref required" +msgstr "E718: Tá gá le Funcref" + +#, c-format +msgid "E130: Unknown function: %s" +msgstr "E130: Feidhm anaithnid: %s" + +#, c-format +msgid "E125: Illegal argument: %s" +msgstr "E125: Argóint neamhcheadaithe: %s" + +#, c-format +msgid "E853: Duplicate argument name: %s" +msgstr "E853: Argóint dhúbailte: %s" + +#, c-format +msgid "E740: Too many arguments for function %s" +msgstr "E740: An iomarca argóintí d'fheidhm %s" + +#, c-format +msgid "E116: Invalid arguments for function %s" +msgstr "E116: Argóintí neamhbhailí d'fheidhm %s" + +msgid "E132: Function call depth is higher than 'maxfuncdepth'" +msgstr "E132: Doimhneacht na nglaonna níos mó ná 'maxfuncdepth'" + +#, c-format +msgid "calling %s" +msgstr "%s á glao" + +#, c-format +msgid "%s aborted" +msgstr "%s tobscortha" + +#, c-format +msgid "%s returning #%ld" +msgstr "%s ag aisfhilleadh #%ld" + +#, c-format +msgid "%s returning %s" +msgstr "%s ag aisfhilleadh %s" + +msgid "E699: Too many arguments" +msgstr "E699: An iomarca argóintí" + +#, c-format +msgid "E117: Unknown function: %s" +msgstr "E117: Feidhm anaithnid: %s" + +#, c-format +msgid "E933: Function was deleted: %s" +msgstr "E933: Scriosadh an fheidhm: %s" + +#, c-format +msgid "E119: Not enough arguments for function: %s" +msgstr "E119: Níl go leor feidhmeanna d'fheidhm: %s" + +#, c-format +msgid "E120: Using <SID> not in a script context: %s" +msgstr "E120: <SID> á úsáid ach gan a bheith i gcomhthéacs scripte: %s" + +#, c-format +msgid "E725: Calling dict function without Dictionary: %s" +msgstr "E725: Feidhm 'dict' á ghlao gan Foclóir: %s" + +msgid "E129: Function name required" +msgstr "E129: Tá gá le hainm feidhme" + +#, c-format +msgid "E128: Function name must start with a capital or \"s:\": %s" +msgstr "" +"E128: Caithfidh ceannlitir a bheith ar dtús ainm feidhme, nó \"s:\": %s" + +#, c-format +msgid "E884: Function name cannot contain a colon: %s" +msgstr "E884: Ní cheadaítear idirstad in ainm feidhme: %s" + +#, c-format +msgid "E123: Undefined function: %s" +msgstr "E123: Feidhm gan sainmhíniú: %s" + +#, c-format +msgid "E124: Missing '(': %s" +msgstr "E124: '(' ar iarraidh: %s" + +msgid "E862: Cannot use g: here" +msgstr "E862: Ní féidir g: a úsáid anseo" + +#, c-format +msgid "E932: Closure function should not be at top level: %s" +msgstr "E932: Ní mór don chlabhsúr a bheith ag an mbarrleibhéal: %s" + +msgid "E126: Missing :endfunction" +msgstr "E126: :endfunction ar iarraidh" + +#, c-format +msgid "E707: Function name conflicts with variable: %s" +msgstr "E707: Tagann ainm na feidhme salach ar athróg: %s" + +#, c-format +msgid "E127: Cannot redefine function %s: It is in use" +msgstr "" +"E127: Ní féidir sainmhíniú nua a dhéanamh ar fheidhm %s: In úsáid cheana" + +#, c-format +msgid "E746: Function name does not match script file name: %s" +msgstr "" +"E746: Níl ainm na feidhme comhoiriúnach le hainm comhaid na scripte: %s" + +#, c-format +msgid "E131: Cannot delete function %s: It is in use" +msgstr "E131: Ní féidir feidhm %s a scriosadh: Tá sé in úsáid faoi láthair" + +msgid "E133: :return not inside a function" +msgstr "E133: Caithfidh :return a bheith isteach i bhfeidhm" + +#, c-format +msgid "E107: Missing parentheses: %s" +msgstr "E107: Lúibíní ar iarraidh: %s" + +msgid "" +"\n" +"MS-Windows 64-bit GUI version" +msgstr "" +"\n" +"Leagan GUI 64 giotán MS-Windows" + +msgid "" +"\n" +"MS-Windows 32-bit GUI version" +msgstr "" +"\n" +"Leagan GUI 32 giotán MS-Windows" + +msgid " with OLE support" +msgstr " le tacaíocht OLE" + +msgid "" +"\n" +"MS-Windows 64-bit console version" +msgstr "" +"\n" +"Leagan consóil 64 giotán MS-Windows" + +msgid "" +"\n" +"MS-Windows 32-bit console version" +msgstr "" +"\n" +"Leagan consóil 32 giotán MS-Windows" + +msgid "" +"\n" +"MacOS X (unix) version" +msgstr "" +"\n" +"Leagan MacOS X (unix)" + +msgid "" +"\n" +"MacOS X version" +msgstr "" +"\n" +"Leagan MacOS X" + +msgid "" +"\n" +"MacOS version" +msgstr "" +"\n" +"Leagan MacOS" + +msgid "" +"\n" +"OpenVMS version" +msgstr "" +"\n" +"Leagan OpenVMS" + msgid "" "\n" "Included patches: " @@ -6291,7 +6096,6 @@ msgstr "" "\n" "Paistí san áireamh: " -#: ../version.c:627 msgid "" "\n" "Extra patches: " @@ -6299,11 +6103,9 @@ msgstr "" "\n" "Paistí sa bhreis: " -#: ../version.c:639 ../version.c:864 msgid "Modified by " msgstr "Mionathraithe ag " -#: ../version.c:646 msgid "" "\n" "Compiled " @@ -6312,11 +6114,9 @@ msgstr "" "Tiomsaithe " # with "Tiomsaithe" -#: ../version.c:649 msgid "by " msgstr "ag " -#: ../version.c:660 msgid "" "\n" "Huge version " @@ -6324,656 +6124,952 @@ msgstr "" "\n" "Leagan ollmhór " -#: ../version.c:661 +msgid "" +"\n" +"Big version " +msgstr "" +"\n" +"Leagan mór " + +msgid "" +"\n" +"Normal version " +msgstr "" +"\n" +"Leagan coitianta " + +msgid "" +"\n" +"Small version " +msgstr "" +"\n" +"Leagan beag " + +msgid "" +"\n" +"Tiny version " +msgstr "" +"\n" +"Leagan beag bídeach " + msgid "without GUI." msgstr "gan GUI." -#: ../version.c:662 +msgid "with GTK3 GUI." +msgstr "le GUI GTK3." + +msgid "with GTK2-GNOME GUI." +msgstr "le GUI GTK2-GNOME." + +msgid "with GTK2 GUI." +msgstr "le GUI GTK2." + +msgid "with X11-Motif GUI." +msgstr "le GUI X11-Motif." + +msgid "with X11-neXtaw GUI." +msgstr "le GUI X11-neXtaw." + +msgid "with X11-Athena GUI." +msgstr "le GUI X11-Athena." + +msgid "with Photon GUI." +msgstr "le GUI Photon." + +msgid "with GUI." +msgstr "le GUI." + +msgid "with Carbon GUI." +msgstr "le GUI Carbon." + +msgid "with Cocoa GUI." +msgstr "le GUI Cocoa." + +msgid "with (classic) GUI." +msgstr "le GUI (clasaiceach)." + msgid " Features included (+) or not (-):\n" msgstr " Gnéithe san áireamh (+) nó nach bhfuil (-):\n" -#: ../version.c:667 msgid " system vimrc file: \"" msgstr " comhad vimrc an chórais: \"" -#: ../version.c:672 msgid " user vimrc file: \"" msgstr " comhad vimrc úsáideora: \"" -#: ../version.c:677 msgid " 2nd user vimrc file: \"" msgstr " dara comhad vimrc úsáideora: \"" -#: ../version.c:682 msgid " 3rd user vimrc file: \"" msgstr " tríú comhad vimrc úsáideora: \"" -#: ../version.c:687 msgid " user exrc file: \"" msgstr " comhad exrc úsáideora: \"" -#: ../version.c:692 msgid " 2nd user exrc file: \"" msgstr " dara comhad úsáideora exrc: \"" -#: ../version.c:699 +msgid " system gvimrc file: \"" +msgstr " comhad gvimrc córais: \"" + +msgid " user gvimrc file: \"" +msgstr " comhad gvimrc úsáideora: \"" + +msgid "2nd user gvimrc file: \"" +msgstr "dara comhad gvimrc úsáideora: \"" + +msgid "3rd user gvimrc file: \"" +msgstr "tríú comhad gvimrc úsáideora: \"" + +msgid " defaults file: \"" +msgstr " comhad na réamhshocruithe: \"" + +msgid " system menu file: \"" +msgstr " comhad roghchláir an chórais: \"" + msgid " fall-back for $VIM: \"" msgstr " rogha thánaisteach do $VIM: \"" -#: ../version.c:705 msgid " f-b for $VIMRUNTIME: \"" msgstr " f-b do $VIMRUNTIME: \"" -#: ../version.c:709 msgid "Compilation: " msgstr "Tiomsú: " -#: ../version.c:712 +msgid "Compiler: " +msgstr "Tiomsaitheoir: " + msgid "Linking: " msgstr "Nascáil: " -#: ../version.c:717 msgid " DEBUG BUILD" msgstr " LEAGAN DÍFHABHTAITHE" -#: ../version.c:767 msgid "VIM - Vi IMproved" msgstr "VIM - Vi IMproved" -#: ../version.c:769 msgid "version " msgstr "leagan " -#: ../version.c:770 msgid "by Bram Moolenaar et al." msgstr "le Bram Moolenaar et al." -#: ../version.c:774 msgid "Vim is open source and freely distributable" msgstr "Is saorbhogearra é Vim" -#: ../version.c:776 msgid "Help poor children in Uganda!" msgstr "Tabhair cabhair do pháistí bochta in Uganda!" -#: ../version.c:777 msgid "type :help iccf<Enter> for information " msgstr "clóscríobh :help iccf<Enter> chun eolas a fháil " -#: ../version.c:779 msgid "type :q<Enter> to exit " msgstr "clóscríobh :q<Enter> chun scoir " -#: ../version.c:780 msgid "type :help<Enter> or <F1> for on-line help" msgstr "clóscríobh :help<Enter> nó <F1> le haghaidh cabhrach ar líne" -#: ../version.c:781 -msgid "type :help version7<Enter> for version info" -msgstr "clóscríobh :help version7<Enter> le haghaidh eolais faoin leagan" +msgid "type :help version8<Enter> for version info" +msgstr "clóscríobh :help version8<Enter> le haghaidh eolais faoin leagan" -#: ../version.c:784 msgid "Running in Vi compatible mode" msgstr "Sa mhód comhoiriúnachta Vi" -#: ../version.c:785 msgid "type :set nocp<Enter> for Vim defaults" msgstr "" "clóscríobh :set nocp<Enter> chun na réamhshocruithe Vim a thaispeáint" -#: ../version.c:786 msgid "type :help cp-default<Enter> for info on this" msgstr "" "clóscríobh :help cp-default<Enter> chun níos mó eolas faoi seo a fháil" -#: ../version.c:827 +# don't see where to localize "Help->Orphans"? --kps +msgid "menu Help->Orphans for information " +msgstr "roghchlár Help->Orphans chun eolas a fháil " + +msgid "Running modeless, typed text is inserted" +msgstr "Á rith gan mhóid, ag ionsá an téacs atá iontráilte" + +# same problem --kps +msgid "menu Edit->Global Settings->Toggle Insert Mode " +msgstr "roghchlár Edit->Global Settings->Toggle Insert Mode " + +msgid " for two modes " +msgstr " do dhá mhód " + +# same problem --kps +msgid "menu Edit->Global Settings->Toggle Vi Compatible" +msgstr "roghchlár Edit->Global Settings->Toggle Vi Compatible" + +msgid " for Vim defaults " +msgstr " le haghaidh réamhshocruithe Vim " + msgid "Sponsor Vim development!" msgstr "Bí i d'urraitheoir Vim!" -#: ../version.c:828 msgid "Become a registered Vim user!" msgstr "Bí i d'úsáideoir cláraithe Vim!" -#: ../version.c:831 msgid "type :help sponsor<Enter> for information " msgstr "clóscríobh :help sponsor<Enter> chun eolas a fháil " -#: ../version.c:832 msgid "type :help register<Enter> for information " msgstr "clóscríobh :help register<Enter> chun eolas a fháil " -#: ../version.c:834 msgid "menu Help->Sponsor/Register for information " msgstr "roghchlár Help->Sponsor/Register chun eolas a fháil " -#: ../window.c:119 msgid "Already only one window" msgstr "Níl ach aon fhuinneog amháin ann cheana" -#: ../window.c:224 msgid "E441: There is no preview window" msgstr "E441: Níl aon fhuinneog réamhamhairc ann" -#: ../window.c:559 msgid "E442: Can't split topleft and botright at the same time" msgstr "E442: Ní féidir a scoilteadh topleft agus botright san am céanna" -#: ../window.c:1228 msgid "E443: Cannot rotate when another window is split" msgstr "E443: Ní féidir rothlú nuair atá fuinneog eile scoilte" -#: ../window.c:1803 msgid "E444: Cannot close last window" msgstr "E444: Ní féidir an fhuinneog dheiridh a dhúnadh" -#: ../window.c:1810 msgid "E813: Cannot close autocmd window" msgstr "E813: Ní féidir fuinneog autocmd a dhúnadh" -#: ../window.c:1814 msgid "E814: Cannot close window, only autocmd window would remain" msgstr "" "E814: Ní féidir an fhuinneog a dhúnadh, ní bheadh ach fuinneog autocmd fágtha" -#: ../window.c:2717 msgid "E445: Other window contains changes" msgstr "E445: Tá athruithe ann san fhuinneog eile" -#: ../window.c:4805 msgid "E446: No file name under cursor" msgstr "E446: Níl ainm comhaid faoin chúrsóir" -#~ msgid "Patch file" -#~ msgstr "Comhad paiste" +#, c-format +msgid "E447: Can't find file \"%s\" in path" +msgstr "E447: Níl aon fháil ar chomhad \"%s\" sa chonair" -#~ msgid "" -#~ "&OK\n" -#~ "&Cancel" -#~ msgstr "" -#~ "&OK\n" -#~ "&Cealaigh" +#, c-format +msgid "E799: Invalid ID: %ld (must be greater than or equal to 1)" +msgstr "E799: Aitheantas neamhbhailí: %ld (ní mór dó a bheith >= 1)" -#~ msgid "E240: No connection to Vim server" -#~ msgstr "E240: Níl aon nasc le freastalaí Vim" +#, c-format +msgid "E801: ID already taken: %ld" +msgstr "E801: Aitheantas in úsáid cheana: %ld" -#~ msgid "E241: Unable to send to %s" -#~ msgstr "E241: Ní féidir aon rud a sheoladh chuig %s" +msgid "List or number required" +msgstr "Tá gá le liosta nó uimhir" -#~ msgid "E277: Unable to read a server reply" -#~ msgstr "E277: Ní féidir freagra ón fhreastalaí a léamh" +#, c-format +msgid "E802: Invalid ID: %ld (must be greater than or equal to 1)" +msgstr "E802: Aitheantas neamhbhailí: %ld (ní mór dó a bheith >= 1)" -#~ msgid "E258: Unable to send to client" -#~ msgstr "E258: Ní féidir aon rud a sheoladh chuig an chliant" +#, c-format +msgid "E803: ID not found: %ld" +msgstr "E803: Aitheantas gan aimsiú: %ld" -#~ msgid "Save As" -#~ msgstr "Sábháil Mar" +#, c-format +msgid "E370: Could not load library %s" +msgstr "E370: Níorbh fhéidir an leabharlann %s a oscailt" -#~ msgid "Edit File" -#~ msgstr "Cuir Comhad in Eagar" +msgid "Sorry, this command is disabled: the Perl library could not be loaded." +msgstr "" +"Tá brón orm, níl an t-ordú seo le fáil: níorbh fhéidir an leabharlann Perl a " +"luchtú." -#~ msgid " (NOT FOUND)" -#~ msgstr " (AR IARRAIDH)" +msgid "E299: Perl evaluation forbidden in sandbox without the Safe module" +msgstr "E299: Ní cheadaítear luacháil Perl i mbosca gainimh gan an modúl Safe" -#~ msgid "Source Vim script" -#~ msgstr "Foinsigh script Vim" +msgid "Edit with &multiple Vims" +msgstr "Cuir in eagar le Vimeanna io&madúla" -#~ msgid "Edit File in new window" -#~ msgstr "Cuir comhad in eagar i bhfuinneog nua" +msgid "Edit with single &Vim" +msgstr "Cuir in eagar le &Vim aonair" -#~ msgid "Append File" -#~ msgstr "Cuir Comhad i nDeireadh" +msgid "Diff with Vim" +msgstr "Diff le Vim" -#~ msgid "Window position: X %d, Y %d" -#~ msgstr "Ionad na fuinneoige: X %d, Y %d" +msgid "Edit with &Vim" +msgstr "Cuir in Eagar le &Vim" -#~ msgid "Save Redirection" -#~ msgstr "Sábháil Atreorú" +#. Now concatenate +msgid "Edit with existing Vim - " +msgstr "Cuir in Eagar le Vim beo - " -#~ msgid "Save View" -#~ msgstr "Sábháil an tAmharc" +msgid "Edits the selected file(s) with Vim" +msgstr "Cuir an comhad roghnaithe in eagar le Vim" -#~ msgid "Save Session" -#~ msgstr "Sábháil an Seisiún" +msgid "Error creating process: Check if gvim is in your path!" +msgstr "" +"Earráid agus próiseas á chruthú: Deimhnigh go bhfuil gvim i do chonair!" -#~ msgid "Save Setup" -#~ msgstr "Sábháil an Socrú" +msgid "gvimext.dll error" +msgstr "earráid gvimext.dll" -#~ msgid "E809: #< is not available without the +eval feature" -#~ msgstr "E809: níl #< ar fáil gan ghné +eval" +msgid "Path length too long!" +msgstr "Conair rófhada!" -#~ msgid "E196: No digraphs in this version" -#~ msgstr "E196: Ní cheadaítear déghraif sa leagan seo" +msgid "--No lines in buffer--" +msgstr "--Tá an maolán folamh--" -#~ msgid "is a device (disabled with 'opendevice' option)" -#~ msgstr "is gléas é seo (díchumasaithe le rogha 'opendevice')" +#. +#. * The error messages that can be shared are included here. +#. * Excluded are errors that are only used once and debugging messages. +#. +msgid "E470: Command aborted" +msgstr "E470: Ordú tobscortha" -#~ msgid "Reading from stdin..." -#~ msgstr "Ag léamh ón ionchur caighdeánach..." +msgid "E471: Argument required" +msgstr "E471: Tá gá le hargóint" -#~ msgid "[crypted]" -#~ msgstr "[criptithe]" +msgid "E10: \\ should be followed by /, ? or &" +msgstr "E10: Ba chóir /, ? nó & a chur i ndiaidh \\" -#~ msgid "NetBeans disallows writes of unmodified buffers" -#~ msgstr "Ní cheadaíonn NetBeans maoláin gan athrú a bheith scríofa" +msgid "E11: Invalid in command-line window; <CR> executes, CTRL-C quits" +msgstr "" +"E11: Neamhbhailí i bhfuinneog líne na n-orduithe; <CR>=rith, CTRL-C=scoir" -#~ msgid "Partial writes disallowed for NetBeans buffers" -#~ msgstr "Ní cheadaítear maoláin NetBeans a bheith scríofa go neamhiomlán" +msgid "E12: Command not allowed from exrc/vimrc in current dir or tag search" +msgstr "" +"E12: Ní cheadaítear ordú ó exrc/vimrc sa chomhadlann reatha ná ó chuardach " +"clibe" -#~ msgid "writing to device disabled with 'opendevice' option" -#~ msgstr "díchumasaíodh scríobh chuig gléas le rogha 'opendevice'" +msgid "E171: Missing :endif" +msgstr "E171: :endif ar iarraidh" -#~ msgid "E460: The resource fork would be lost (add ! to override)" -#~ msgstr "E460: Chaillfí an forc acmhainne (cuir ! leis an ordú chun sárú)" +msgid "E600: Missing :endtry" +msgstr "E600: :endtry ar iarraidh" -#~ msgid "E229: Cannot start the GUI" -#~ msgstr "E229: Ní féidir an GUI a chur ag obair" +msgid "E170: Missing :endwhile" +msgstr "E170: :endwhile ar iarraidh" -#~ msgid "E230: Cannot read from \"%s\"" -#~ msgstr "E230: Ní féidir léamh ó \"%s\"" +msgid "E170: Missing :endfor" +msgstr "E170: :endfor ar iarraidh" -#~ msgid "E665: Cannot start GUI, no valid font found" -#~ msgstr "" -#~ "E665: Ní féidir an GUI a chur ag obair, níl aon chlófhoireann bhailí ann" +msgid "E588: :endwhile without :while" +msgstr "E588: :endwhile gan :while" -#~ msgid "E231: 'guifontwide' invalid" -#~ msgstr "E231: 'guifontwide' neamhbhailí" +msgid "E588: :endfor without :for" +msgstr "E588: :endfor gan :for" + +msgid "E13: File exists (add ! to override)" +msgstr "E13: Tá comhad ann cheana (cuir ! leis an ordú chun forscríobh)" + +msgid "E472: Command failed" +msgstr "E472: Theip ar ordú" -#~ msgid "E599: Value of 'imactivatekey' is invalid" -#~ msgstr "E599: Luach neamhbhailí ar 'imactivatekey'" +#, c-format +msgid "E234: Unknown fontset: %s" +msgstr "E234: Tacar cló anaithnid: %s" -#~ msgid "E254: Cannot allocate color %s" -#~ msgstr "E254: Ní féidir dath %s a dháileadh" +#, c-format +msgid "E235: Unknown font: %s" +msgstr "E235: Clófhoireann anaithnid: %s" -#~ msgid "No match at cursor, finding next" -#~ msgstr "Níl a leithéid ag an chúrsóir, ag cuardach ar an chéad cheann eile" +#, c-format +msgid "E236: Font \"%s\" is not fixed-width" +msgstr "E236: Ní cló aonleithid é \"%s\"" -#~ msgid "<cannot open> " -#~ msgstr "<ní féidir a oscailt> " +msgid "E473: Internal error" +msgstr "E473: Earráid inmheánach" -#~ msgid "E616: vim_SelFile: can't get font %s" -#~ msgstr "E616: vim_SelFile: níl aon fháil ar an chlófhoireann %s" +msgid "Interrupted" +msgstr "Idirbhriste" -#~ msgid "E614: vim_SelFile: can't return to current directory" -#~ msgstr "" -#~ "E614: vim_SelFile: ní féidir dul ar ais go dtí an chomhadlann reatha" +msgid "E14: Invalid address" +msgstr "E14: Drochsheoladh" -#~ msgid "Pathname:" -#~ msgstr "Conair:" +msgid "E474: Invalid argument" +msgstr "E474: Argóint neamhbhailí" -#~ msgid "E615: vim_SelFile: can't get current directory" -#~ msgstr "E615: vim_SelFile: níl an chomhadlann reatha ar fáil" +#, c-format +msgid "E475: Invalid argument: %s" +msgstr "E475: Argóint neamhbhailí: %s" -#~ msgid "OK" -#~ msgstr "OK" +#, c-format +msgid "E15: Invalid expression: %s" +msgstr "E15: Slonn neamhbhailí: %s" -#~ msgid "Cancel" -#~ msgstr "Cealaigh" +msgid "E16: Invalid range" +msgstr "E16: Raon neamhbhailí" -#~ msgid "Scrollbar Widget: Could not get geometry of thumb pixmap." -#~ msgstr "" -#~ "Giuirléid Scrollbharra: Ní féidir céimseata an mhapa picteilíní a fháil." +msgid "E476: Invalid command" +msgstr "E476: Ordú neamhbhailí" -#~ msgid "Vim dialog" -#~ msgstr "Dialóg Vim" +#, c-format +msgid "E17: \"%s\" is a directory" +msgstr "E17: is comhadlann \"%s\"" -#~ msgid "E232: Cannot create BalloonEval with both message and callback" -#~ msgstr "" -#~ "E232: Ní féidir BalloonEval a chruthú le teachtaireacht agus aisghlaoch " -#~ "araon" +#, c-format +msgid "E364: Library call failed for \"%s()\"" +msgstr "E364: Theip ar ghlao leabharlainne \"%s()\"" -#~ msgid "Vim dialog..." -#~ msgstr "Dialóg Vim..." +#, c-format +msgid "E448: Could not load library function %s" +msgstr "E448: Ní féidir feidhm %s leabharlainne a luchtú" -#~ msgid "Input _Methods" -#~ msgstr "_Modhanna ionchuir" +msgid "E19: Mark has invalid line number" +msgstr "E19: Tá líne-uimhir neamhbhailí ag an mharc" -# in OLT --KPS -#~ msgid "VIM - Search and Replace..." -#~ msgstr "VIM - Cuardaigh agus Athchuir..." +msgid "E20: Mark not set" +msgstr "E20: Marc gan socrú" -#~ msgid "VIM - Search..." -#~ msgstr "VIM - Cuardaigh..." +msgid "E21: Cannot make changes, 'modifiable' is off" +msgstr "" +"E21: Ní féidir athruithe a chur i bhfeidhm, níl an bhratach 'modifiable' " +"socraithe" -#~ msgid "Find what:" -#~ msgstr "Aimsigh:" +msgid "E22: Scripts nested too deep" +msgstr "E22: scripteanna neadaithe ródhomhain" -#~ msgid "Replace with:" -#~ msgstr "Le cur in ionad:" +msgid "E23: No alternate file" +msgstr "E23: Níl aon chomhad malartach" -#~ msgid "Match whole word only" -#~ msgstr "Focal iomlán amháin" +msgid "E24: No such abbreviation" +msgstr "E24: Níl a leithéid de ghiorrúchán ann" -#~ msgid "Match case" -#~ msgstr "Meaitseáil an cás" +msgid "E477: No ! allowed" +msgstr "E477: Ní cheadaítear !" -#~ msgid "Direction" -#~ msgstr "Treo" +msgid "E25: GUI cannot be used: Not enabled at compile time" +msgstr "E25: Ní féidir an GUI a úsáid: Níor cumasaíodh é ag am tiomsaithe" -#~ msgid "Up" -#~ msgstr "Suas" +msgid "E26: Hebrew cannot be used: Not enabled at compile time\n" +msgstr "" +"E26: Níl tacaíocht Eabhraise ar fáil: Níor cumasaíodh é ag am tiomsaithe\n" -#~ msgid "Down" -#~ msgstr "Síos" +msgid "E27: Farsi cannot be used: Not enabled at compile time\n" +msgstr "" +"E27: Níl tacaíocht Pheirsise ar fáil: Níor cumasaíodh é ag am tiomsaithe\n" -#~ msgid "Find Next" -#~ msgstr "An Chéad Cheann Eile" +msgid "E800: Arabic cannot be used: Not enabled at compile time\n" +msgstr "" +"E800: Níl tacaíocht Araibise ar fáil: Níor cumasaíodh é ag am tiomsaithe\n" -#~ msgid "Replace" -#~ msgstr "Ionadaigh" +#, c-format +msgid "E28: No such highlight group name: %s" +msgstr "E28: Níl a leithéid d'ainm grúpa aibhsithe: %s" -#~ msgid "Replace All" -#~ msgstr "Ionadaigh Uile" +msgid "E29: No inserted text yet" +msgstr "E29: Níl aon téacs ionsáite go dtí seo" -#~ msgid "Vim: Received \"die\" request from session manager\n" -#~ msgstr "Vim: Fuarthas iarratas \"die\" ó bhainisteoir an tseisiúin\n" +msgid "E30: No previous command line" +msgstr "E30: Níl aon líne na n-orduithe roimhe seo" -#~ msgid "Close" -#~ msgstr "Dún" +msgid "E31: No such mapping" +msgstr "E31: Níl a leithéid de mhapáil" -#~ msgid "New tab" -#~ msgstr "Cluaisín nua" +msgid "E479: No match" +msgstr "E479: Níl aon rud comhoiriúnach ann" -#~ msgid "Open Tab..." -#~ msgstr "Oscail Cluaisín..." +#, c-format +msgid "E480: No match: %s" +msgstr "E480: Níl aon rud comhoiriúnach ann: %s" -#~ msgid "Vim: Main window unexpectedly destroyed\n" -#~ msgstr "Vim: Milleadh an príomhfhuinneog gan choinne\n" +msgid "E32: No file name" +msgstr "E32: Níl aon ainm comhaid" -#~ msgid "Font Selection" -#~ msgstr "Roghnú Cló" +msgid "E33: No previous substitute regular expression" +msgstr "E33: Níl aon slonn ionadaíochta roimhe seo" -#~ msgid "&Filter" -#~ msgstr "&Scagaire" +msgid "E34: No previous command" +msgstr "E34: Níl aon ordú roimhe seo" -#~ msgid "&Cancel" -#~ msgstr "&Cealaigh" +msgid "E35: No previous regular expression" +msgstr "E35: Níl aon slonn ionadaíochta roimhe seo" -#~ msgid "Directories" -#~ msgstr "Comhadlanna" +msgid "E481: No range allowed" +msgstr "E481: Ní cheadaítear raon" -#~ msgid "Filter" -#~ msgstr "Scagaire" +msgid "E36: Not enough room" +msgstr "E36: Níl slí a dhóthain ann" -#~ msgid "&Help" -#~ msgstr "&Cabhair" +#, c-format +msgid "E247: no registered server named \"%s\"" +msgstr "E247: níl aon fhreastalaí cláraithe leis an ainm \"%s\"" -#~ msgid "Files" -#~ msgstr "Comhaid" +#, c-format +msgid "E482: Can't create file %s" +msgstr "E482: Ní féidir comhad %s a chruthú" -#~ msgid "&OK" -#~ msgstr "&OK" +msgid "E483: Can't get temp file name" +msgstr "E483: Níl aon fháil ar ainm comhaid sealadach" -#~ msgid "Selection" -#~ msgstr "Roghnú" +#, c-format +msgid "E484: Can't open file %s" +msgstr "E484: Ní féidir comhad %s a oscailt" -#~ msgid "Find &Next" -#~ msgstr "An Chéad Chea&nn Eile" +#, c-format +msgid "E485: Can't read file %s" +msgstr "E485: Ní féidir comhad %s a léamh" -#~ msgid "&Replace" -#~ msgstr "&Ionadaigh" +msgid "E37: No write since last change (add ! to override)" +msgstr "E37: Tá athruithe ann gan sábháil (cuir ! leis an ordú chun sárú)" -#~ msgid "Replace &All" -#~ msgstr "Ionadaigh &Uile" +msgid "E37: No write since last change" +msgstr "E37: Gan scríobh ón athrú is déanaí" -#~ msgid "&Undo" -#~ msgstr "&Cealaigh" +msgid "E38: Null argument" +msgstr "E38: Argóint nialasach" -#~ msgid "E671: Cannot find window title \"%s\"" -#~ msgstr "E671: Ní féidir teideal na fuinneoige \"%s\" a aimsiú" +msgid "E39: Number expected" +msgstr "E39: Ag súil le huimhir" -#~ msgid "E243: Argument not supported: \"-%s\"; Use the OLE version." -#~ msgstr "E243: Argóint gan tacaíocht: \"-%s\"; Bain úsáid as an leagan OLE." +#, c-format +msgid "E40: Can't open errorfile %s" +msgstr "E40: Ní féidir an comhad earráide %s a oscailt" -#~ msgid "E672: Unable to open window inside MDI application" -#~ msgstr "E672: Ní féidir fuinneog a oscailt isteach i bhfeidhmchlár MDI" +msgid "E233: cannot open display" +msgstr "E233: ní féidir an scáileán a oscailt" -#~ msgid "Close tab" -#~ msgstr "Dún cluaisín" +msgid "E41: Out of memory!" +msgstr "E41: Cuimhne ídithe!" -#~ msgid "Open tab..." -#~ msgstr "Oscail cluaisín..." +msgid "Pattern not found" +msgstr "Patrún gan aimsiú" -#~ msgid "Find string (use '\\\\' to find a '\\')" -#~ msgstr "Aimsigh teaghrán (bain úsáid as '\\\\' chun '\\' a aimsiú)" +#, c-format +msgid "E486: Pattern not found: %s" +msgstr "E486: Patrún gan aimsiú: %s" -#~ msgid "Find & Replace (use '\\\\' to find a '\\')" -#~ msgstr "Aimsigh & Athchuir (úsáid '\\\\' chun '\\' a aimsiú)" +msgid "E487: Argument must be positive" +msgstr "E487: Ní foláir argóint dheimhneach" -#~ msgid "Not Used" -#~ msgstr "Gan Úsáid" +msgid "E459: Cannot go back to previous directory" +msgstr "E459: Ní féidir a fhilleadh ar an chomhadlann roimhe seo" -#~ msgid "Directory\t*.nothing\n" -#~ msgstr "Comhadlann\t*.neamhní\n" +msgid "E42: No Errors" +msgstr "E42: Níl Aon Earráid Ann" -#~ msgid "" -#~ "Vim E458: Cannot allocate colormap entry, some colors may be incorrect" -#~ msgstr "" -#~ "Vim E458: Ní féidir iontráil dathmhapála a dháileadh, is féidir go mbeidh " -#~ "dathanna míchearta ann" +msgid "E776: No location list" +msgstr "E776: Gan liosta suíomh" -#~ msgid "E250: Fonts for the following charsets are missing in fontset %s:" -#~ msgstr "" -#~ "E250: Clónna ar iarraidh le haghaidh na dtacar carachtar i dtacar cló %s:" +msgid "E43: Damaged match string" +msgstr "E43: Teaghrán cuardaigh loite" + +msgid "E44: Corrupted regexp program" +msgstr "E44: Clár na sloinn ionadaíochta truaillithe" + +msgid "E45: 'readonly' option is set (add ! to override)" +msgstr "E45: tá an rogha 'readonly' socraithe (cuir ! leis an ordú chun sárú)" -#~ msgid "E252: Fontset name: %s" -#~ msgstr "E252: Ainm an tacar cló: %s" +#, c-format +msgid "E46: Cannot change read-only variable \"%s\"" +msgstr "E46: Ní féidir athróg inléite amháin \"%s\" a athrú" -#~ msgid "Font '%s' is not fixed-width" -#~ msgstr "Ní cló aonleithid é '%s'" +#, c-format +msgid "E794: Cannot set variable in the sandbox: \"%s\"" +msgstr "E794: Ní féidir athróg a shocrú sa bhosca gainimh: \"%s\"" + +msgid "E713: Cannot use empty key for Dictionary" +msgstr "E713: Ní féidir eochair fholamh a úsáid le Foclóir" -#~ msgid "E253: Fontset name: %s\n" -#~ msgstr "E253: Ainm an tacar cló: %s\n" +msgid "E715: Dictionary required" +msgstr "E715: Tá gá le foclóir" -#~ msgid "Font0: %s\n" -#~ msgstr "Cló0: %s\n" +#, c-format +msgid "E684: list index out of range: %ld" +msgstr "E684: innéacs liosta as raon: %ld" -#~ msgid "Font1: %s\n" -#~ msgstr "Cló1: %s\n" +#, c-format +msgid "E118: Too many arguments for function: %s" +msgstr "E118: An iomarca argóintí d'fheidhm: %s" -#~ msgid "Font%<PRId64> width is not twice that of font0\n" -#~ msgstr "Níl Cló%<PRId64> níos leithne faoi dhó ná cló0\n" +#, c-format +msgid "E716: Key not present in Dictionary: %s" +msgstr "E716: Níl an eochair seo san Fhoclóir: %s" -#~ msgid "Font0 width: %<PRId64>\n" -#~ msgstr "Leithead Cló0: %<PRId64>\n" +msgid "E714: List required" +msgstr "E714: Tá gá le liosta" -#~ msgid "" -#~ "Font1 width: %<PRId64>\n" -#~ "\n" -#~ msgstr "" -#~ "Leithead Cló1: %<PRId64>\n" -#~ "\n" +#, c-format +msgid "E712: Argument of %s must be a List or Dictionary" +msgstr "E712: Caithfidh argóint de %s a bheith ina Liosta nó Foclóir" -#~ msgid "Invalid font specification" -#~ msgstr "Sonrú neamhbhailí cló" +msgid "E47: Error while reading errorfile" +msgstr "E47: Earráid agus comhad earráide á léamh" -#~ msgid "&Dismiss" -#~ msgstr "&Ruaig" +msgid "E48: Not allowed in sandbox" +msgstr "E48: Ní cheadaítear é seo i mbosca gainimh" -#~ msgid "no specific match" -#~ msgstr "níl a leithéid ann" +msgid "E523: Not allowed here" +msgstr "E523: Ní cheadaítear é anseo" -#~ msgid "Vim - Font Selector" -#~ msgstr "Vim - Roghnú Cló" +msgid "E359: Screen mode setting not supported" +msgstr "E359: Ní féidir an mód scáileáin a shocrú" -#~ msgid "Name:" -#~ msgstr "Ainm:" +msgid "E49: Invalid scroll size" +msgstr "E49: Méid neamhbhailí scrollaithe" -#~ msgid "Show size in Points" -#~ msgstr "Taispeáin méid (Pointí)" +msgid "E91: 'shell' option is empty" +msgstr "E91: rogha 'shell' folamh" -#~ msgid "Encoding:" -#~ msgstr "Ionchódú:" +msgid "E255: Couldn't read in sign data!" +msgstr "E255: Níorbh fhéidir na sonraí comhartha a léamh!" -#~ msgid "Font:" -#~ msgstr "Cló:" +msgid "E72: Close error on swap file" +msgstr "E72: Earráid agus comhad babhtála á dhúnadh" -#~ msgid "Style:" -#~ msgstr "Stíl:" +msgid "E73: tag stack empty" +msgstr "E73: tá cruach na gclibeanna folamh" -#~ msgid "Size:" -#~ msgstr "Méid:" +msgid "E74: Command too complex" +msgstr "E74: Ordú róchasta" -#~ msgid "E256: Hangul automata ERROR" -#~ msgstr "E256: EARRÁID leis na huathoibreáin Hangul" +msgid "E75: Name too long" +msgstr "E75: Ainm rófhada" -#~ msgid "E563: stat error" -#~ msgstr "E563: earráid stat" +msgid "E76: Too many [" +msgstr "E76: an iomarca [" + +msgid "E77: Too many file names" +msgstr "E77: An iomarca ainmneacha comhaid" -#~ msgid "E625: cannot open cscope database: %s" -#~ msgstr "E625: ní féidir bunachar sonraí cscope a oscailt: %s" +msgid "E488: Trailing characters" +msgstr "E488: Carachtair chun deiridh" -#~ msgid "E626: cannot get cscope database information" -#~ msgstr "E626: ní féidir eolas a fháil faoin bhunachar sonraí cscope" +msgid "E78: Unknown mark" +msgstr "E78: Marc anaithnid" -#~ msgid "" -#~ "E815: Sorry, this command is disabled, the MzScheme libraries could not " -#~ "be loaded." -#~ msgstr "" -#~ "E815: Tá brón orm, bhí an t-ordú seo díchumasaithe, níorbh fhéidir " -#~ "leabharlanna MzScheme a luchtú." +msgid "E79: Cannot expand wildcards" +msgstr "E79: Ní féidir saoróga a leathnú" -#~ msgid "invalid expression" -#~ msgstr "slonn neamhbhailí" +msgid "E591: 'winheight' cannot be smaller than 'winminheight'" +msgstr "E591: ní cheadaítear 'winheight' a bheith níos lú ná 'winminheight'" -#~ msgid "expressions disabled at compile time" -#~ msgstr "díchumasaíodh sloinn ag am an tiomsaithe" +msgid "E592: 'winwidth' cannot be smaller than 'winminwidth'" +msgstr "E592: ní cheadaítear 'winwidth' a bheith níos lú ná 'winminwidth'" -#~ msgid "hidden option" -#~ msgstr "rogha fholaithe" +msgid "E80: Error while writing" +msgstr "E80: Earráid agus á scríobh" -#~ msgid "unknown option" -#~ msgstr "rogha anaithnid" +msgid "Zero count" +msgstr "Nialas" -#~ msgid "window index is out of range" -#~ msgstr "innéacs fuinneoige as raon" +msgid "E81: Using <SID> not in a script context" +msgstr "E81: <SID> á úsáid nach i gcomhthéacs scripte" -#~ msgid "couldn't open buffer" -#~ msgstr "ní féidir maolán a oscailt" +msgid "E449: Invalid expression received" +msgstr "E449: Fuarthas slonn neamhbhailí" -#~ msgid "cannot save undo information" -#~ msgstr "ní féidir eolas cealaithe a shábháil" +msgid "E463: Region is guarded, cannot modify" +msgstr "E463: Réigiún cosanta, ní féidir é a athrú" -#~ msgid "cannot delete line" -#~ msgstr "ní féidir an líne a scriosadh" +msgid "E744: NetBeans does not allow changes in read-only files" +msgstr "E744: Ní cheadaíonn NetBeans aon athrú i gcomhaid inléite amháin" -#~ msgid "cannot replace line" -#~ msgstr "ní féidir an líne a athchur" +#, c-format +msgid "E685: Internal error: %s" +msgstr "E685: Earráid inmheánach: %s" -#~ msgid "cannot insert line" -#~ msgstr "ní féidir líne a ionsá" +msgid "E363: pattern uses more memory than 'maxmempattern'" +msgstr "E363: úsáideann an patrún níos mó cuimhne ná 'maxmempattern'" -#~ msgid "string cannot contain newlines" -#~ msgstr "ní cheadaítear carachtair líne nua sa teaghrán" +msgid "E749: empty buffer" +msgstr "E749: maolán folamh" -#~ msgid "Vim error: ~a" -#~ msgstr "earráid Vim: ~a" +#, c-format +msgid "E86: Buffer %ld does not exist" +msgstr "E86: Níl a leithéid de mhaolán %ld" -#~ msgid "Vim error" -#~ msgstr "earráid Vim" +msgid "E682: Invalid search pattern or delimiter" +msgstr "E682: Patrún nó teormharcóir neamhbhailí cuardaigh" -#~ msgid "buffer is invalid" -#~ msgstr "maolán neamhbhailí" +msgid "E139: File is loaded in another buffer" +msgstr "E139: Tá an comhad luchtaithe i maolán eile" -#~ msgid "window is invalid" -#~ msgstr "fuinneog neamhbhailí" +#, c-format +msgid "E764: Option '%s' is not set" +msgstr "E764: Rogha '%s' gan socrú" -#~ msgid "linenr out of range" -#~ msgstr "líne-uimhir as raon" +msgid "E850: Invalid register name" +msgstr "E850: Ainm neamhbhailí tabhaill" -#~ msgid "not allowed in the Vim sandbox" -#~ msgstr "ní cheadaítear é seo i mbosca gainimh Vim" +#, c-format +msgid "E919: Directory not found in '%s': \"%s\"" +msgstr "E919: Comhadlann gan aimsiú in '%s': \"%s\"" -#~ msgid "" -#~ "E263: Sorry, this command is disabled, the Python library could not be " -#~ "loaded." -#~ msgstr "" -#~ "E263: Tá brón orm, níl an t-ordú seo le fáil, níorbh fhéidir an " -#~ "leabharlann Python a luchtú." +msgid "search hit TOP, continuing at BOTTOM" +msgstr "Buaileadh an BARR le linn an chuardaigh, ag leanúint ag an CHRÍOCH" -#~ msgid "E659: Cannot invoke Python recursively" -#~ msgstr "E659: Ní féidir Python a rith go hathchúrsach" +msgid "search hit BOTTOM, continuing at TOP" +msgstr "Buaileadh an BUN le linn an chuardaigh, ag leanúint ag an BHARR" -#~ msgid "can't delete OutputObject attributes" -#~ msgstr "ní féidir tréithe OutputObject a scriosadh" +#, c-format +msgid "Need encryption key for \"%s\"" +msgstr "Eochair chriptiúcháin le haghaidh \"%s\" de dhíth" -#~ msgid "softspace must be an integer" -#~ msgstr "caithfidh softspace a bheith ina shlánuimhir" +msgid "empty keys are not allowed" +msgstr "ní cheadaítear eochracha folmha" -#~ msgid "invalid attribute" -#~ msgstr "aitreabúid neamhbhailí" +msgid "dictionary is locked" +msgstr "tá an foclóir faoi ghlas" -#~ msgid "writelines() requires list of strings" -#~ msgstr "liosta teaghrán ag teastáil ó writelines()" +msgid "list is locked" +msgstr "tá an liosta faoi ghlas" -#~ msgid "E264: Python: Error initialising I/O objects" -#~ msgstr "E264: Python: Earráid agus réada I/A á dtúsú" +#, c-format +msgid "failed to add key '%s' to dictionary" +msgstr "níorbh fhéidir eochair '%s' a chur leis an bhfoclóir" -#~ msgid "attempt to refer to deleted buffer" -#~ msgstr "rinneadh iarracht ar mhaolán scriosta a rochtain" +#, c-format +msgid "index must be int or slice, not %s" +msgstr "ní mór don innéacs a bheith ina shlánuimhir nó ina shlisne, seachas %s" -#~ msgid "line number out of range" -#~ msgstr "líne-uimhir as raon" +#, c-format +msgid "expected str() or unicode() instance, but got %s" +msgstr "bhíothas ag súil le str() nó unicode(), ach fuarthas %s" -#~ msgid "<buffer object (deleted) at %p>" -#~ msgstr "<réad maoláin (scriosta) ag %p>" +#, c-format +msgid "expected bytes() or str() instance, but got %s" +msgstr "bhíothas ag súil le bytes() nó str(), ach fuarthas %s" -#~ msgid "invalid mark name" -#~ msgstr "ainm neamhbhailí mairc" +#, c-format +msgid "" +"expected int(), long() or something supporting coercing to long(), but got %s" +msgstr "" +"bhíothas ag súil le int(), long(), nó rud éigin inathraithe ina long(), ach " +"fuarthas %s" -#~ msgid "no such buffer" -#~ msgstr "níl a leithéid de mhaolán ann" +#, c-format +msgid "expected int() or something supporting coercing to int(), but got %s" +msgstr "" +"bhíothas ag súil le int() nó rud éigin inathraithe ina int(), ach fuarthas %s" -#~ msgid "attempt to refer to deleted window" -#~ msgstr "rinneadh iarracht ar fhuinneog scriosta a rochtain" +msgid "value is too large to fit into C int type" +msgstr "tá an luach níos mó ná athróg int sa teanga C" -#~ msgid "readonly attribute" -#~ msgstr "tréith inléite amháin" +msgid "value is too small to fit into C int type" +msgstr "tá an luach níos lú ná athróg int sa teanga C" -#~ msgid "cursor position outside buffer" -#~ msgstr "cúrsóir taobh amuigh den mhaolán" +msgid "number must be greater than zero" +msgstr "ní mór don uimhir a bheith deimhneach" -#~ msgid "<window object (deleted) at %p>" -#~ msgstr "<réad fuinneoige (scriosta) ag %p>" +msgid "number must be greater or equal to zero" +msgstr "ní mór don uimhir a bheith >= 0" -#~ msgid "<window object (unknown) at %p>" -#~ msgstr "<réad fuinneoige (anaithnid) ag %p>" +msgid "can't delete OutputObject attributes" +msgstr "ní féidir tréithe OutputObject a scriosadh" -#~ msgid "<window %d>" -#~ msgstr "<fuinneog %d>" +#, c-format +msgid "invalid attribute: %s" +msgstr "aitreabúid neamhbhailí: %s" -#~ msgid "no such window" -#~ msgstr "níl a leithéid d'fhuinneog ann" +msgid "E264: Python: Error initialising I/O objects" +msgstr "E264: Python: Earráid agus réada I/A á dtúsú" -#~ msgid "E265: $_ must be an instance of String" -#~ msgstr "E265: caithfidh $_ a bheith cineál Teaghráin" +msgid "failed to change directory" +msgstr "níorbh fhéidir an chomhadlann a athrú" -#~ msgid "" -#~ "E266: Sorry, this command is disabled, the Ruby library could not be " -#~ "loaded." -#~ msgstr "" -#~ "E266: Tá brón orm, níl an t-ordú seo le fáil, níorbh fhéidir an " -#~ "leabharlann Ruby a luchtú." +#, c-format +msgid "expected 3-tuple as imp.find_module() result, but got %s" +msgstr "" +"bhíothas ag súil le 3-chodach mar thoradh ar imp.find_module(), ach fuarthas " +"%s" + +#, c-format +msgid "expected 3-tuple as imp.find_module() result, but got tuple of size %d" +msgstr "" +"bhíothas ag súil le 3-chodach mar thoradh ar imp.find_module(), ach fuarthas " +"%d-chodach" + +msgid "internal error: imp.find_module returned tuple with NULL" +msgstr "earráid inmheánach: fuarthas codach NULL ar ais ó imp.find_module" + +msgid "cannot delete vim.Dictionary attributes" +msgstr "ní féidir tréithe vim.Dictionary a scriosadh" + +msgid "cannot modify fixed dictionary" +msgstr "ní féidir foclóir socraithe a athrú" + +#, c-format +msgid "cannot set attribute %s" +msgstr "ní féidir tréith %s a shocrú" + +msgid "hashtab changed during iteration" +msgstr "athraíodh an haistáb le linn atriallta" + +#, c-format +msgid "expected sequence element of size 2, but got sequence of size %d" +msgstr "bhíothas ag súil le heilimint de mhéid 2, ach fuarthas méid %d" + +msgid "list constructor does not accept keyword arguments" +msgstr "ní ghlacann cruthaitheoir an liosta le hargóintí eochairfhocail" + +msgid "list index out of range" +msgstr "innéacs liosta as raon" + +#. No more suitable format specifications in python-2.3 +#, c-format +msgid "internal error: failed to get vim list item %d" +msgstr "earráid inmheánach: níl aon fháil ar mhír %d sa liosta vim" -#~ msgid "E267: unexpected return" -#~ msgstr "E267: \"return\" gan choinne" +msgid "slice step cannot be zero" +msgstr "ní cheadaítear slisne le céim 0" -#~ msgid "E268: unexpected next" -#~ msgstr "E268: \"next\" gan choinne" +#, c-format +msgid "attempt to assign sequence of size greater than %d to extended slice" +msgstr "iarracht ar sheicheamh níos mó ná %d a shannadh do shlisne fadaithe" + +#, c-format +msgid "internal error: no vim list item %d" +msgstr "earráid inmheánach: níl aon mhír %d sa liosta vim" + +msgid "internal error: not enough list items" +msgstr "earráid inmheánach: níl go leor míreanna liosta ann" + +msgid "internal error: failed to add item to list" +msgstr "earráid inmheánach: níorbh fhéidir mír a chur leis an liosta" -#~ msgid "E269: unexpected break" -#~ msgstr "E269: \"break\" gan choinne" +#, c-format +msgid "attempt to assign sequence of size %d to extended slice of size %d" +msgstr "iarracht ar sheicheamh de mhéid %d a shannadh do shlisne de mhéid %d" + +msgid "failed to add item to list" +msgstr "níorbh fhéidir mír a chur leis an liosta" -#~ msgid "E270: unexpected redo" -#~ msgstr "E270: \"redo\" gan choinne" +msgid "cannot delete vim.List attributes" +msgstr "ní féidir tréithe vim.List a scriosadh" -#~ msgid "E271: retry outside of rescue clause" -#~ msgstr "E271: \"retry\" taobh amuigh de chlásal tarrthála" +msgid "cannot modify fixed list" +msgstr "ní féidir liosta socraithe a athrú" -#~ msgid "E272: unhandled exception" -#~ msgstr "E272: eisceacht gan láimhseáil" +#, c-format +msgid "unnamed function %s does not exist" +msgstr "níl feidhm %s gan ainm ann" + +#, c-format +msgid "function %s does not exist" +msgstr "níl feidhm %s ann" -#~ msgid "E273: unknown longjmp status %d" -#~ msgstr "E273: stádas anaithnid longjmp %d" +#, c-format +msgid "failed to run function %s" +msgstr "níorbh fhéidir feidhm %s a rith" + +msgid "unable to get option value" +msgstr "ní féidir luach na rogha a fháil" + +msgid "internal error: unknown option type" +msgstr "earráid inmheánach: cineál rogha anaithnid" + +msgid "problem while switching windows" +msgstr "tharla earráid agus an fhuinneog á hathrú" + +#, c-format +msgid "unable to unset global option %s" +msgstr "ní féidir rogha chomhchoiteann %s a dhíshocrú" + +#, c-format +msgid "unable to unset option %s which does not have global value" +msgstr "ní féidir rogha %s gan luach comhchoiteann a dhíshocrú" + +msgid "attempt to refer to deleted tab page" +msgstr "tagairt déanta do leathanach cluaisíní scriosta" + +msgid "no such tab page" +msgstr "níl a leithéid de leathanach cluaisíní ann" + +msgid "attempt to refer to deleted window" +msgstr "rinneadh iarracht ar fhuinneog scriosta a rochtain" + +msgid "readonly attribute: buffer" +msgstr "tréith inléite amháin: maolán" + +msgid "cursor position outside buffer" +msgstr "cúrsóir taobh amuigh den mhaolán" + +msgid "no such window" +msgstr "níl a leithéid d'fhuinneog ann" + +msgid "attempt to refer to deleted buffer" +msgstr "rinneadh iarracht ar mhaolán scriosta a rochtain" + +msgid "failed to rename buffer" +msgstr "níorbh fhéidir ainm nua a chur ar an maolán" + +msgid "mark name must be a single character" +msgstr "ní cheadaítear ach carachtar amháin in ainm an mhairc" + +#, c-format +msgid "expected vim.Buffer object, but got %s" +msgstr "bhíothas ag súil le réad vim.Buffer, ach fuarthas %s" + +#, c-format +msgid "failed to switch to buffer %d" +msgstr "níorbh fhéidir athrú go dtí maolán a %d" + +#, c-format +msgid "expected vim.Window object, but got %s" +msgstr "bhíothas ag súil le réad vim.Window, ach fuarthas %s" + +msgid "failed to find window in the current tab page" +msgstr "níor aimsíodh fuinneog sa leathanach cluaisíní reatha" + +msgid "did not switch to the specified window" +msgstr "níor athraíodh go dtí an fhuinneog roghnaithe" + +#, c-format +msgid "expected vim.TabPage object, but got %s" +msgstr "bhíothas ag súil le réad vim.TabPage, ach fuarthas %s" + +msgid "did not switch to the specified tab page" +msgstr "níor athraíodh go dtí an leathanach cluaisíní roghnaithe" + +msgid "failed to run the code" +msgstr "níorbh fhéidir an cód a chur ar siúl" + +msgid "E858: Eval did not return a valid python object" +msgstr "E858: Ní bhfuarthas réad bailí python ar ais ó Eval" + +msgid "E859: Failed to convert returned python object to vim value" +msgstr "E859: Níorbh fhéidir luach vim a dhéanamh as an réad python" + +#, c-format +msgid "unable to convert %s to vim dictionary" +msgstr "ní féidir foclóir vim a dhéanamh as %s" + +#, c-format +msgid "unable to convert %s to vim list" +msgstr "ní féidir liosta vim a dhéanamh as %s" + +#, c-format +msgid "unable to convert %s to vim structure" +msgstr "ní féidir struchtúr vim a dhéanamh as %s" + +msgid "internal error: NULL reference passed" +msgstr "earráid inmheánach: tagairt NULL seolta" + +msgid "internal error: invalid value type" +msgstr "earráid inmheánach: cineál neamhbhailí" + +msgid "" +"Failed to set path hook: sys.path_hooks is not a list\n" +"You should now do the following:\n" +"- append vim.path_hook to sys.path_hooks\n" +"- append vim.VIM_SPECIAL_PATH to sys.path\n" +msgstr "" +"Níorbh fhéidir path_hook a shocrú: ní liosta é sys.path_hooks\n" +"Ba chóir duit na rudaí seo a leanas a dhéanamh:\n" +"- cuir vim.path_hook le deireadh sys.path_hooks\n" +"- cuir vim.VIM_SPECIAL_PATH le deireadh sys.path\n" + +msgid "" +"Failed to set path: sys.path is not a list\n" +"You should now append vim.VIM_SPECIAL_PATH to sys.path" +msgstr "" +"Níorbh fhéidir an chonair a shocrú: ní liosta é sys.path\n" +"Ba chóir duit vim.VIM_SPECIAL_PATH a cheangal le deireadh sys.path" + +#~ msgid "E693: Can only compare Funcref with Funcref" +#~ msgstr "E693: Is féidir Funcref a chur i gcomparáid le Funcref eile amháin" + +#~ msgid "E706: Variable type mismatch for: %s" +#~ msgstr "E706: Mímheaitseáil idir cineálacha athróige: %s" + +#~ msgid "%ld characters" +#~ msgstr "%ld carachtar" #~ msgid "Toggle implementation/definition" #~ msgstr "Scoránaigh feidhmiú/sainmhíniú" @@ -7063,255 +7159,112 @@ msgstr "E446: Níl ainm comhaid faoin chúrsóir" #~ msgid "Sniff: Error during write. Disconnected" #~ msgstr "Sniff: Earráid sa scríobh. Dínasctha" -#~ msgid "invalid buffer number" -#~ msgstr "uimhir neamhbhailí mhaoláin" - -#~ msgid "not implemented yet" -#~ msgstr "níl ar fáil" - -#~ msgid "cannot set line(s)" -#~ msgstr "ní féidir lín(t)e a shocrú" - -#~ msgid "mark not set" -#~ msgstr "marc gan socrú" - -#~ msgid "row %d column %d" -#~ msgstr "líne %d colún %d" - -#~ msgid "cannot insert/append line" -#~ msgstr "ní féidir líne a ionsá/iarcheangal" - -#~ msgid "unknown flag: " -#~ msgstr "bratach anaithnid: " - -#~ msgid "unknown vimOption" -#~ msgstr "vimOption anaithnid" - -#~ msgid "keyboard interrupt" -#~ msgstr "idirbhriseadh méarchláir" - -#~ msgid "vim error" -#~ msgstr "earráid vim" - -#~ msgid "cannot create buffer/window command: object is being deleted" -#~ msgstr "ní féidir ordú maoláin/fuinneoige a chruthú: réad á scriosadh" - -#~ msgid "" -#~ "cannot register callback command: buffer/window is already being deleted" -#~ msgstr "" -#~ "ní féidir ordú aisghlaoch a chlárú: maolán/fuinneog á scriosadh cheana" - -#~ msgid "" -#~ "E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-" -#~ "dev@vim.org" -#~ msgstr "" -#~ "E280: EARRÁID MHARFACH TCL: liosta truaillithe tagartha!? Seol tuairisc " -#~ "fhabht chuig <vim-dev@vim.org> le do thoil" - -#~ msgid "cannot register callback command: buffer/window reference not found" -#~ msgstr "" -#~ "ní féidir ordú aisghlaoch a chlárú: tagairt mhaolán/fhuinneoige gan aimsiú" - -#~ msgid "" -#~ "E571: Sorry, this command is disabled: the Tcl library could not be " -#~ "loaded." -#~ msgstr "" -#~ "E571: Tá brón orm, níl an t-ordú seo le fáil: níorbh fhéidir an " -#~ "leabharlann Tcl a luchtú." +#~ msgid " Quit, or continue with caution.\n" +#~ msgstr " Scoir, nó lean ar aghaidh go hairdeallach.\n" -#~ msgid "" -#~ "E281: TCL ERROR: exit code is not int!? Please report this to vim-dev@vim." -#~ "org" -#~ msgstr "" -#~ "E281: EARRÁID TCL: níl an cód scortha ina shlánuimhir!? Seol tuairisc " -#~ "fhabht chuig <vim-dev@vim.org> le do thoil" - -#~ msgid "E572: exit code %d" -#~ msgstr "E572: cód scortha %d" +#~ msgid "Cannot connect to Netbeans #2" +#~ msgstr "Ní féidir nascadh le Netbeans #2" -#~ msgid "cannot get line" -#~ msgstr "ní féidir an líne a fháil" +#~ msgid "read from Netbeans socket" +#~ msgstr "léadh ó shoicéad Netbeans" -#~ msgid "Unable to register a command server name" -#~ msgstr "Ní féidir ainm fhreastalaí ordaithe a chlárú" +#~ msgid "'columns' is not 80, cannot execute external commands" +#~ msgstr "ní 80 é 'columns', ní féidir orduithe seachtracha a rith" -#~ msgid "E248: Failed to send command to the destination program" -#~ msgstr "E248: Theip ar sheoladh ordú chuig an sprioc-chlár" +#~ msgid "Could not set security context " +#~ msgstr "Níorbh fhéidir comhthéacs slándála a shocrú " -#~ msgid "E573: Invalid server id used: %s" -#~ msgstr "E573: Aitheantas neamhbhailí freastalaí in úsáid: %s" +#~ msgid " for " +#~ msgstr " le haghaidh " -#~ msgid "E251: VIM instance registry property is badly formed. Deleted!" -#~ msgstr "E251: Airí míchumtha sa chlárlann áisc VIM. Scriosta!" +#~ msgid "Could not get security context " +#~ msgstr "Níorbh fhéidir comhthéacs slándála a fháil " -#~ msgid "This Vim was not compiled with the diff feature." -#~ msgstr "Níor tiomsaíodh an leagan Vim seo le `diff' ar fáil." +#~ msgid ". Removing it!\n" +#~ msgstr ". Á scriosadh!\n" -#~ msgid "'-nb' cannot be used: not enabled at compile time\n" -#~ msgstr "Ní féidir '-nb' a úsáid: níor cumasaíodh é ag am tiomsaithe\n" +#~ msgid " (lang)" +#~ msgstr " (teanga)" -#~ msgid "Vim: Error: Failure to start gvim from NetBeans\n" -#~ msgstr "Vim: Earráid: Theip ar thosú gvim ó NetBeans\n" +#~ msgid "E759: Format error in spell file" +#~ msgstr "E759: Earráid fhormáide i gcomhad litrithe" #~ msgid "" #~ "\n" -#~ "Where case is ignored prepend / to make flag upper case" +#~ "MS-Windows 16/32-bit GUI version" #~ msgstr "" #~ "\n" -#~ "Nuair nach cásíogair é, cuir '/' ag tosach na brataí chun í a chur sa " -#~ "chás uachtair" - -#~ msgid "-register\t\tRegister this gvim for OLE" -#~ msgstr "-register\t\tCláraigh an gvim seo le haghaidh OLE" - -#~ msgid "-unregister\t\tUnregister gvim for OLE" -#~ msgstr "-unregister\t\tDíchláraigh an gvim seo le haghaidh OLE" - -#~ msgid "-g\t\t\tRun using GUI (like \"gvim\")" -#~ msgstr "-g\t\t\tRith agus úsáid an GUI (mar \"gvim\")" - -#~ msgid "-f or --nofork\tForeground: Don't fork when starting GUI" -#~ msgstr "-f nó --nofork\tTulra: Ná déan forc agus an GUI á thosú" - -#~ msgid "-f\t\t\tDon't use newcli to open window" -#~ msgstr "-f\t\t\tNá húsáid newcli chun fuinneog a oscailt" - -#~ msgid "-dev <device>\t\tUse <device> for I/O" -#~ msgstr "-dev <gléas>\t\tBain úsáid as <gléas> do I/A" - -#~ msgid "-U <gvimrc>\t\tUse <gvimrc> instead of any .gvimrc" -#~ msgstr "-U <gvimrc>\t\tBain úsáid as <gvimrc> in ionad aon .gvimrc" - -#~ msgid "-x\t\t\tEdit encrypted files" -#~ msgstr "-x\t\t\tCuir comhaid chriptithe in eagar" - -#~ msgid "-display <display>\tConnect vim to this particular X-server" -#~ msgstr "-display <freastalaí>\tNasc vim leis an bhfreastalaí-X seo" - -#~ msgid "-X\t\t\tDo not connect to X server" -#~ msgstr "-X\t\t\tNá naisc leis an bhfreastalaí X" - -#~ msgid "--remote <files>\tEdit <files> in a Vim server if possible" -#~ msgstr "" -#~ "--remote <comhaid>\tCuir <comhaid> in eagar le freastalaí Vim más féidir" - -#~ msgid "--remote-silent <files> Same, don't complain if there is no server" -#~ msgstr "" -#~ "--remote-silent <comhaid> Mar an gcéanna, ná déan gearán mura bhfuil " -#~ "freastalaí ann" - -#~ msgid "" -#~ "--remote-wait <files> As --remote but wait for files to have been edited" -#~ msgstr "" -#~ "--remote-wait <comhaid> Mar --remote ach fan leis na comhaid a bheith " -#~ "curtha in eagar" - -#~ msgid "" -#~ "--remote-wait-silent <files> Same, don't complain if there is no server" -#~ msgstr "" -#~ "--remote-wait-silent <comhaid> Mar an gcéanna, ná déan gearán mura " -#~ "bhfuil freastalaí ann" - -#~ msgid "" -#~ "--remote-tab[-wait][-silent] <files> As --remote but use tab page per " -#~ "file" -#~ msgstr "" -#~ "--remote-tab[-wait][-silent] <comhaid> Cosúil le --remote ach oscail " -#~ "cluaisín do gach comhad" - -#~ msgid "--remote-send <keys>\tSend <keys> to a Vim server and exit" -#~ msgstr "" -#~ "--remote-send <eochracha>\tSeol <eochracha> chuig freastalaí Vim agus " -#~ "scoir" - -#~ msgid "" -#~ "--remote-expr <expr>\tEvaluate <expr> in a Vim server and print result" -#~ msgstr "" -#~ "--remote-expr <slonn>\tLuacháil <slonn> le freastalaí Vim agus taispeáin " -#~ "an toradh" - -#~ msgid "--serverlist\t\tList available Vim server names and exit" -#~ msgstr "--serverlist\t\tTaispeáin freastalaithe Vim atá ar fáil agus scoir" +#~ "Leagan GUI 16/32 giotán MS-Windows" -#~ msgid "--servername <name>\tSend to/become the Vim server <name>" -#~ msgstr "--servername <ainm>\tSeol chuig/Téigh i do fhreastalaí Vim <ainm>" +#~ msgid " in Win32s mode" +#~ msgstr " i mód Win32s" #~ msgid "" #~ "\n" -#~ "Arguments recognised by gvim (Motif version):\n" +#~ "MS-Windows 16-bit version" #~ msgstr "" #~ "\n" -#~ "Argóintí ar eolas do gvim (leagan Motif):\n" +#~ "Leagan 16 giotán MS-Windows" #~ msgid "" #~ "\n" -#~ "Arguments recognised by gvim (neXtaw version):\n" +#~ "32-bit MS-DOS version" #~ msgstr "" #~ "\n" -#~ "Argóintí ar eolas do gvim (leagan neXtaw):\n" +#~ "Leagan 32 giotán MS-DOS" #~ msgid "" #~ "\n" -#~ "Arguments recognised by gvim (Athena version):\n" +#~ "16-bit MS-DOS version" #~ msgstr "" #~ "\n" -#~ "Argóintí ar eolas do gvim (leagan Athena):\n" +#~ "Leagan 16 giotán MS-DOS" -#~ msgid "-display <display>\tRun vim on <display>" -#~ msgstr "-display <scáileán>\tRith vim ar <scáileán>" +#~ msgid "WARNING: Windows 95/98/ME detected" +#~ msgstr "RABHADH: Braitheadh Windows 95/98/ME" -#~ msgid "-iconic\t\tStart vim iconified" -#~ msgstr "-iconic\t\tTosaigh vim sa mhód íoslaghdaithe" +#~ msgid "type :help windows95<Enter> for info on this" +#~ msgstr "clóscríobh :help windows95<Enter> chun eolas a fháil " -#~ msgid "-name <name>\t\tUse resource as if vim was <name>" -#~ msgstr "-name <ainm>\t\tÚsáid acmhainn mar a bheadh vim <ainm>" +#~ msgid "function constructor does not accept keyword arguments" +#~ msgstr "ní ghlacann cruthaitheoir na feidhme le hargóintí eochairfhocail" -#~ msgid "\t\t\t (Unimplemented)\n" -#~ msgstr "\t\t\t (Níl ar fáil)\n" +#~ msgid "Vim dialog..." +#~ msgstr "Dialóg Vim..." -#~ msgid "-background <color>\tUse <color> for the background (also: -bg)" -#~ msgstr "-background <dath>\tBain úsáid as <dath> don chúlra (-bg fosta)" +#~ msgid "Font Selection" +#~ msgstr "Roghnú Cló" -#~ msgid "-foreground <color>\tUse <color> for normal text (also: -fg)" -#~ msgstr "" -#~ "-foreground <dath>\tÚsáid <dath> le haghaidh gnáth-théacs (fosta: -fg)" +#~ msgid "softspace must be an integer" +#~ msgstr "caithfidh softspace a bheith ina shlánuimhir" -#~ msgid "-font <font>\t\tUse <font> for normal text (also: -fn)" -#~ msgstr "-font <cló>\t\tÚsáid <cló> le haghaidh gnáth-théacs (fosta: -fn)" +#~ msgid "writelines() requires list of strings" +#~ msgstr "liosta teaghrán ag teastáil ó writelines()" -#~ msgid "-boldfont <font>\tUse <font> for bold text" -#~ msgstr "-boldfont <cló>\tBain úsáid as <cló> do chló trom" +#~ msgid "<buffer object (deleted) at %p>" +#~ msgstr "<réad maoláin (scriosta) ag %p>" -#~ msgid "-italicfont <font>\tUse <font> for italic text" -#~ msgstr "-italicfont <cló>\tÚsáid <cló> le haghaidh téacs iodálach" +#~ msgid "<window object (deleted) at %p>" +#~ msgstr "<réad fuinneoige (scriosta) ag %p>" -#~ msgid "-geometry <geom>\tUse <geom> for initial geometry (also: -geom)" -#~ msgstr "" -#~ "-geometry <geoim>\tÚsáid <geoim> le haghaidh na céimseatan tosaigh " -#~ "(fosta: -geom)" +#~ msgid "<window object (unknown) at %p>" +#~ msgstr "<réad fuinneoige (anaithnid) ag %p>" -#~ msgid "-borderwidth <width>\tUse a border width of <width> (also: -bw)" -#~ msgstr "-borderwidth <leithead>\tSocraigh <leithead> na himlíne (-bw fosta)" +#~ msgid "<window %d>" +#~ msgstr "<fuinneog %d>" #~ msgid "" -#~ "-scrollbarwidth <width> Use a scrollbar width of <width> (also: -sw)" -#~ msgstr "" -#~ "-scrollbarwidth <leithead> Socraigh leithead na scrollbharraí a bheith " -#~ "<leithead> (fosta: -sw)" - -#~ msgid "-menuheight <height>\tUse a menu bar height of <height> (also: -mh)" +#~ "E281: TCL ERROR: exit code is not int!? Please report this to vim-dev@vim." +#~ "org" #~ msgstr "" -#~ "-menuheight <airde>\tSocraigh airde an bharra roghchláir a bheith <airde> " -#~ "(fosta: -mh)" - -#~ msgid "-reverse\t\tUse reverse video (also: -rv)" -#~ msgstr "-reverse\t\tÚsáid fís aisiompaithe (fosta: -rv)" +#~ "E281: EARRÁID TCL: níl an cód scortha ina shlánuimhir!? Seol tuairisc " +#~ "fhabht chuig <vim-dev@vim.org> le do thoil" -#~ msgid "+reverse\t\tDon't use reverse video (also: +rv)" -#~ msgstr "+reverse\t\tNá húsáid fís aisiompaithe (fosta: +rv)" +#~ msgid "-name <name>\t\tUse resource as if vim was <name>" +#~ msgstr "-name <ainm>\t\tÚsáid acmhainn mar a bheadh vim <ainm>" -#~ msgid "-xrm <resource>\tSet the specified resource" -#~ msgstr "-xrm <acmhainn>\tSocraigh an acmhainn sainithe" +#~ msgid "\t\t\t (Unimplemented)\n" +#~ msgstr "\t\t\t (Níl ar fáil)\n" #~ msgid "" #~ "\n" @@ -7326,66 +7279,6 @@ msgstr "E446: Níl ainm comhaid faoin chúrsóir" #~ msgid "--rows <number>\tInitial height of window in rows" #~ msgstr "--rows <uimhir>\tAirde fhuinneoige i dtosach (rónna)" -#~ msgid "" -#~ "\n" -#~ "Arguments recognised by gvim (GTK+ version):\n" -#~ msgstr "" -#~ "\n" -#~ "Argóintí ar eolas do gvim (leagan GTK+):\n" - -#~ msgid "-display <display>\tRun vim on <display> (also: --display)" -#~ msgstr "-display <scáileán>\tRith vim ar <scáileán> (fosta: --display)" - -#~ msgid "--role <role>\tSet a unique role to identify the main window" -#~ msgstr "" -#~ "--role <ról>\tSocraigh ról sainiúil chun an phríomhfhuinneog a aithint" - -#~ msgid "--socketid <xid>\tOpen Vim inside another GTK widget" -#~ msgstr "--socketid <xid>\tOscail Vim isteach i ngiuirléid GTK eile" - -#~ msgid "-P <parent title>\tOpen Vim inside parent application" -#~ msgstr "-P <máthairchlár>\tOscail Vim isteach sa mháthairchlár" - -#~ msgid "--windowid <HWND>\tOpen Vim inside another win32 widget" -#~ msgstr "--windowid <HWND>\tOscail Vim isteach i ngiuirléid win32 eile" - -#~ msgid "No display" -#~ msgstr "Gan taispeáint" - -#~ msgid ": Send failed.\n" -#~ msgstr ": Theip ar seoladh.\n" - -#~ msgid ": Send failed. Trying to execute locally\n" -#~ msgstr ": Theip ar seoladh. Ag baint triail as go logánta\n" - -#~ msgid "%d of %d edited" -#~ msgstr "%d as %d déanta" - -#~ msgid "No display: Send expression failed.\n" -#~ msgstr "Gan taispeáint: Theip ar sheoladh sloinn.\n" - -#~ msgid ": Send expression failed.\n" -#~ msgstr ": Theip ar sheoladh sloinn.\n" - -#~ msgid "E543: Not a valid codepage" -#~ msgstr "E543: Ní códleathanach bailí é" - -#~ msgid "E285: Failed to create input context" -#~ msgstr "E285: Theip ar chruthú comhthéacs ionchuir" - -#~ msgid "E286: Failed to open input method" -#~ msgstr "E286: Theip ar oscailt mhodh ionchuir" - -#~ msgid "E287: Warning: Could not set destroy callback to IM" -#~ msgstr "" -#~ "E287: Rabhadh: Níorbh fhéidir aisghlaoch léirscriosta a shocrú le IM" - -#~ msgid "E288: input method doesn't support any style" -#~ msgstr "E288: Ní thacaíonn an modh ionchuir aon stíl" - -#~ msgid "E289: input method doesn't support my preedit type" -#~ msgstr "E289: ní thacaíonn an modh ionchuir mo chineál réamheagair" - #~ msgid "E290: over-the-spot style requires fontset" #~ msgstr "E290: tacar cló ag teastáil ó stíl thar-an-spota" @@ -7397,197 +7290,15 @@ msgstr "E446: Níl ainm comhaid faoin chúrsóir" #~ msgid "E292: Input Method Server is not running" #~ msgstr "E292: Níl an Freastalaí Mhodh Ionchuir ag rith" -#~ msgid "" -#~ "\n" -#~ " [not usable with this version of Vim]" -#~ msgstr "" -#~ "\n" -#~ " [ní inúsáidte leis an leagan seo Vim]" - -#~ msgid "Tear off this menu" -#~ msgstr "Bain an roghchlár seo" - -#~ msgid "Select Directory dialog" -#~ msgstr "Dialóg `Roghnaigh Comhadlann'" - -#~ msgid "Save File dialog" -#~ msgstr "Dialóg `Sábháil Comhad'" - -#~ msgid "Open File dialog" -#~ msgstr "Dialóg `Oscail Comhad'" - -#~ msgid "E338: Sorry, no file browser in console mode" -#~ msgstr "E338: Níl brabhsálaí comhaid ar fáil sa mhód consóil" - #~ msgid "Vim: preserving files...\n" #~ msgstr "Vim: comhaid á gcaomhnú...\n" #~ msgid "Vim: Finished.\n" #~ msgstr "Vim: Críochnaithe.\n" -#~ msgid "ERROR: " -#~ msgstr "EARRÁID: " - -#~ msgid "" -#~ "\n" -#~ "[bytes] total alloc-freed %<PRIu64>-%<PRIu64>, in use %<PRIu64>, peak use " -#~ "%<PRIu64>\n" -#~ msgstr "" -#~ "\n" -#~ "[beart] iomlán dáilte-saor %<PRIu64>-%<PRIu64>, in úsáid %<PRIu64>, buaic " -#~ "%<PRIu64>\n" - -#~ msgid "" -#~ "[calls] total re/malloc()'s %<PRIu64>, total free()'s %<PRIu64>\n" -#~ "\n" -#~ msgstr "" -#~ "[glaonna] re/malloc(): %<PRIu64>, free(): %<PRIu64>\n" -#~ "\n" - -#~ msgid "E340: Line is becoming too long" -#~ msgstr "E340: Tá an líne ag éirí rófhada" - -#~ msgid "E341: Internal error: lalloc(%<PRId64>, )" -#~ msgstr "E341: Earráid inmheánach: lalloc(%<PRId64>, )" - -#~ msgid "E547: Illegal mouseshape" -#~ msgstr "E547: Cruth neamhcheadaithe luiche" - -#~ msgid "Enter encryption key: " -#~ msgstr "Iontráil eochair chriptiúcháin: " - -#~ msgid "Enter same key again: " -#~ msgstr "Iontráil an eochair arís: " - -#~ msgid "Keys don't match!" -#~ msgstr "Níl na heochracha comhoiriúnach le chéile!" - -#~ msgid "Cannot connect to Netbeans #2" -#~ msgstr "Ní féidir nascadh le Netbeans #2" - -#~ msgid "Cannot connect to Netbeans" -#~ msgstr "Ní féidir nascadh le Netbeans" - -#~ msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\"" -#~ msgstr "" -#~ "E668: Mód mícheart rochtana ar an chomhad eolas naisc NetBeans: \"%s\"" - -#~ msgid "read from Netbeans socket" -#~ msgstr "léadh ó shoicéad Netbeans" - -#~ msgid "E658: NetBeans connection lost for buffer %<PRId64>" -#~ msgstr "E658: Cailleadh nasc NetBeans le haghaidh maoláin %<PRId64>" - #~ msgid "E505: " #~ msgstr "E505: " -#~ msgid "E775: Eval feature not available" -#~ msgstr "E775: Níl an ghné Eval le fáil" - -#~ msgid "freeing %<PRId64> lines" -#~ msgstr "%<PRId64> líne á saoradh" - -#~ msgid "E530: Cannot change term in GUI" -#~ msgstr "E530: Ní féidir 'term' a athrú sa GUI" - -#~ msgid "E531: Use \":gui\" to start the GUI" -#~ msgstr "E531: Úsáid \":gui\" chun an GUI a chur ag obair" - -#~ msgid "E617: Cannot be changed in the GTK+ 2 GUI" -#~ msgstr "E617: Ní féidir é a athrú sa GUI GTK+ 2" - -#~ msgid "E596: Invalid font(s)" -#~ msgstr "E596: Cló(nna) neamhbhailí" - -#~ msgid "E597: can't select fontset" -#~ msgstr "E597: ní féidir tacar cló a roghnú" - -#~ msgid "E598: Invalid fontset" -#~ msgstr "E598: Tacar cló neamhbhailí" - -#~ msgid "E533: can't select wide font" -#~ msgstr "E533: ní féidir cló leathan a roghnú" - -#~ msgid "E534: Invalid wide font" -#~ msgstr "E534: Cló leathan neamhbhailí" - -#~ msgid "E538: No mouse support" -#~ msgstr "E538: Gan tacaíocht luiche" - -#~ msgid "cannot open " -#~ msgstr "ní féidir a oscailt: " - -#~ msgid "VIM: Can't open window!\n" -#~ msgstr "VIM: Ní féidir fuinneog a oscailt!\n" - -#~ msgid "Need Amigados version 2.04 or later\n" -#~ msgstr "Tá gá le Amigados leagan 2.04 nó níos déanaí\n" - -#~ msgid "Need %s version %<PRId64>\n" -#~ msgstr "Tá gá le %s, leagan %<PRId64>\n" - -#~ msgid "Cannot open NIL:\n" -#~ msgstr "Ní féidir NIL a oscailt:\n" - -#~ msgid "Cannot create " -#~ msgstr "Ní féidir a chruthú: " - -#~ msgid "Vim exiting with %d\n" -#~ msgstr "Vim á scor le stádas %d\n" - -#~ msgid "cannot change console mode ?!\n" -#~ msgstr "ní féidir mód consóil a athrú ?!\n" - -#~ msgid "mch_get_shellsize: not a console??\n" -#~ msgstr "mch_get_shellsize: ní consól é seo??\n" - -#~ msgid "E360: Cannot execute shell with -f option" -#~ msgstr "E360: Ní féidir blaosc a rith le rogha -f" - -#~ msgid "Cannot execute " -#~ msgstr "Ní féidir blaosc a rith: " - -#~ msgid "shell " -#~ msgstr "blaosc " - -#~ msgid " returned\n" -#~ msgstr " aisfhilleadh\n" - -#~ msgid "ANCHOR_BUF_SIZE too small." -#~ msgstr "ANCHOR_BUF_SIZE róbheag." - -#~ msgid "I/O ERROR" -#~ msgstr "EARRÁID I/A" - -#~ msgid "Message" -#~ msgstr "Teachtaireacht" - -#~ msgid "'columns' is not 80, cannot execute external commands" -#~ msgstr "ní 80 é 'columns', ní féidir orduithe seachtracha a rith" - -#~ msgid "E237: Printer selection failed" -#~ msgstr "E237: Theip ar roghnú printéara" - -#~ msgid "to %s on %s" -#~ msgstr "go %s ar %s" - -#~ msgid "E613: Unknown printer font: %s" -#~ msgstr "E613: Clófhoireann anaithnid printéara: %s" - -#~ msgid "E238: Print error: %s" -#~ msgstr "E238: Earráid phriontála: %s" - -#~ msgid "Printing '%s'" -#~ msgstr "'%s' á phriontáil" - -#~ msgid "E244: Illegal charset name \"%s\" in font name \"%s\"" -#~ msgstr "" -#~ "E244: Ainm neamhcheadaithe ar thacar carachtar \"%s\" mar pháirt d'ainm " -#~ "cló \"%s\"" - -#~ msgid "E245: Illegal char '%c' in font name \"%s\"" -#~ msgstr "E245: Carachtar neamhcheadaithe '%c' mar pháirt d'ainm cló \"%s\"" - #~ msgid "Vim: Double signal, exiting\n" #~ msgstr "Vim: Comhartha dúbailte, ag scor\n" @@ -7597,419 +7308,23 @@ msgstr "E446: Níl ainm comhaid faoin chúrsóir" #~ msgid "Vim: Caught deadly signal\n" #~ msgstr "Vim: Fuarthas comhartha marfach\n" -#~ msgid "Opening the X display took %<PRId64> msec" -#~ msgstr "Thóg %<PRId64> ms chun an scáileán X a oscailt" - -#~ msgid "" -#~ "\n" -#~ "Vim: Got X error\n" -#~ msgstr "" -#~ "\n" -#~ "Vim: Fuarthas earráid ó X\n" - -#~ msgid "Testing the X display failed" -#~ msgstr "Theip ar thástáil an scáileáin X" - -#~ msgid "Opening the X display timed out" -#~ msgstr "Oscailt an scáileáin X thar am" - -#~ msgid "" -#~ "\n" -#~ "Cannot execute shell sh\n" -#~ msgstr "" -#~ "\n" -#~ "Ní féidir an bhlaosc sh a rith\n" - -#~ msgid "" -#~ "\n" -#~ "Cannot create pipes\n" -#~ msgstr "" -#~ "\n" -#~ "Ní féidir píopaí a chruthú\n" - -# "fork" not in standard refs/corpus. Maybe want a "gabhl*" word instead? -KPS -#~ msgid "" -#~ "\n" -#~ "Cannot fork\n" -#~ msgstr "" -#~ "\n" -#~ "Ní féidir forc a dhéanamh\n" - -#~ msgid "" -#~ "\n" -#~ "Command terminated\n" -#~ msgstr "" -#~ "\n" -#~ "Ordú críochnaithe\n" - -#~ msgid "XSMP lost ICE connection" -#~ msgstr "Chaill XSMP an nasc ICE" - -#~ msgid "Opening the X display failed" -#~ msgstr "Theip ar oscailt an scáileáin X" - -#~ msgid "XSMP handling save-yourself request" -#~ msgstr "Iarratas sábháil-do-féin á láimhseáil ag XSMP" - -#~ msgid "XSMP opening connection" -#~ msgstr "Nasc á oscailt ag XSMP" - -#~ msgid "XSMP ICE connection watch failed" -#~ msgstr "Theip ar fhaire nasc ICE XSMP" - -#~ msgid "XSMP SmcOpenConnection failed: %s" -#~ msgstr "Theip ar XSMP SmcOpenConnection: %s" - -#~ msgid "At line" -#~ msgstr "Ag líne" - -#~ msgid "Could not load vim32.dll!" -#~ msgstr "Níorbh fhéidir vim32.dll a luchtú!" - -#~ msgid "VIM Error" -#~ msgstr "Earráid VIM" - -#~ msgid "Could not fix up function pointers to the DLL!" -#~ msgstr "Níorbh fhéidir pointeoirí feidhme a chóiriú i gcomhair an DLL!" - -#~ msgid "shell returned %d" -#~ msgstr "d'aisfhill an bhlaosc %d" - -#~ msgid "Vim: Caught %s event\n" -#~ msgstr "Vim: Fuarthas teagmhas %s\n" - -#~ msgid "close" -#~ msgstr "dún" - -#~ msgid "logoff" -#~ msgstr "logáil amach" - -#~ msgid "shutdown" -#~ msgstr "múchadh" - -#~ msgid "E371: Command not found" -#~ msgstr "E371: Ní bhfuarthas an t-ordú" - -#~ msgid "" -#~ "VIMRUN.EXE not found in your $PATH.\n" -#~ "External commands will not pause after completion.\n" -#~ "See :help win32-vimrun for more information." -#~ msgstr "" -#~ "Níor aimsíodh VIMRUN.EXE i do $PATH.\n" -#~ "Ní mhoilleoidh orduithe seachtracha agus iad curtha i gcrích.\n" -#~ "Féach ar :help win32-vimrun chun níos mó eolas a fháil." - -#~ msgid "Vim Warning" -#~ msgstr "Rabhadh Vim" - -#~ msgid "Conversion in %s not supported" -#~ msgstr "Tiontú i %s gan tacaíocht" - #~ msgid "E396: containedin argument not accepted here" #~ msgstr "E396: ní ghlactar leis an argóint containedin anseo" -#~ msgid "E430: Tag file path truncated for %s\n" -#~ msgstr "E430: Teascadh conair an chomhaid clibeanna le haghaidh %s\n" - -#~ msgid "new shell started\n" -#~ msgstr "tosaíodh blaosc nua\n" - -#~ msgid "Used CUT_BUFFER0 instead of empty selection" -#~ msgstr "Úsáideadh CUT_BUFFER0 in ionad roghnúcháin folaimh" - -#~ msgid "No undo possible; continue anyway" -#~ msgstr "Ní féidir a chealú; lean ar aghaidh mar sin féin" - # columns? #~ msgid "number changes time" #~ msgstr "uimhir athruithe am" #~ msgid "" #~ "\n" -#~ "MS-Windows 16/32-bit GUI version" -#~ msgstr "" -#~ "\n" -#~ "Leagan GUI 16/32 giotán MS-Windows" - -#~ msgid "" -#~ "\n" -#~ "MS-Windows 64-bit GUI version" -#~ msgstr "" -#~ "\n" -#~ "Leagan GUI 64 giotán MS-Windows" - -#~ msgid "" -#~ "\n" -#~ "MS-Windows 32-bit GUI version" -#~ msgstr "" -#~ "\n" -#~ "Leagan GUI 32 giotán MS-Windows" - -#~ msgid " in Win32s mode" -#~ msgstr " i mód Win32s" - -#~ msgid " with OLE support" -#~ msgstr " le tacaíocht OLE" - -#~ msgid "" -#~ "\n" -#~ "MS-Windows 64-bit console version" -#~ msgstr "" -#~ "\n" -#~ "Leagan consóil 64 giotán MS-Windows" - -#~ msgid "" -#~ "\n" -#~ "MS-Windows 32-bit console version" -#~ msgstr "" -#~ "\n" -#~ "Leagan consóil 32 giotán MS-Windows" - -#~ msgid "" -#~ "\n" -#~ "MS-Windows 16-bit version" -#~ msgstr "" -#~ "\n" -#~ "Leagan 16 giotán MS-Windows" - -#~ msgid "" -#~ "\n" -#~ "32-bit MS-DOS version" -#~ msgstr "" -#~ "\n" -#~ "Leagan 32 giotán MS-DOS" - -#~ msgid "" -#~ "\n" -#~ "16-bit MS-DOS version" -#~ msgstr "" -#~ "\n" -#~ "Leagan 16 giotán MS-DOS" - -#~ msgid "" -#~ "\n" -#~ "MacOS X (unix) version" -#~ msgstr "" -#~ "\n" -#~ "Leagan MacOS X (unix)" - -#~ msgid "" -#~ "\n" -#~ "MacOS X version" -#~ msgstr "" -#~ "\n" -#~ "Leagan MacOS X" - -#~ msgid "" -#~ "\n" -#~ "MacOS version" -#~ msgstr "" -#~ "\n" -#~ "Leagan MacOS" - -#~ msgid "" -#~ "\n" #~ "RISC OS version" #~ msgstr "" #~ "\n" #~ "Leagan RISC OS" -#~ msgid "" -#~ "\n" -#~ "OpenVMS version" -#~ msgstr "" -#~ "\n" -#~ "Leagan OpenVMS" - -#~ msgid "" -#~ "\n" -#~ "Big version " -#~ msgstr "" -#~ "\n" -#~ "Leagan mór " - -#~ msgid "" -#~ "\n" -#~ "Normal version " -#~ msgstr "" -#~ "\n" -#~ "Leagan coitianta " - -#~ msgid "" -#~ "\n" -#~ "Small version " -#~ msgstr "" -#~ "\n" -#~ "Leagan beag " - -#~ msgid "" -#~ "\n" -#~ "Tiny version " -#~ msgstr "" -#~ "\n" -#~ "Leagan beag bídeach " - -#~ msgid "with GTK2-GNOME GUI." -#~ msgstr "le GUI GTK2-GNOME." - #~ msgid "with GTK-GNOME GUI." #~ msgstr "le GUI GTK-GNOME." -#~ msgid "with GTK2 GUI." -#~ msgstr "le GUI GTK2." - -#~ msgid "with GTK GUI." -#~ msgstr "le GUI GTK." - -#~ msgid "with X11-Motif GUI." -#~ msgstr "le GUI X11-Motif." - -#~ msgid "with X11-neXtaw GUI." -#~ msgstr "le GUI X11-neXtaw." - -#~ msgid "with X11-Athena GUI." -#~ msgstr "le GUI X11-Athena." - -#~ msgid "with Photon GUI." -#~ msgstr "le GUI Photon." - -#~ msgid "with GUI." -#~ msgstr "le GUI." - -#~ msgid "with Carbon GUI." -#~ msgstr "le GUI Carbon." - -#~ msgid "with Cocoa GUI." -#~ msgstr "le GUI Cocoa." - -#~ msgid "with (classic) GUI." -#~ msgstr "le GUI (clasaiceach)." - -#~ msgid " system gvimrc file: \"" -#~ msgstr " comhad gvimrc córais: \"" - -#~ msgid " user gvimrc file: \"" -#~ msgstr " comhad gvimrc úsáideora: \"" - -#~ msgid "2nd user gvimrc file: \"" -#~ msgstr "dara comhad gvimrc úsáideora: \"" - -#~ msgid "3rd user gvimrc file: \"" -#~ msgstr "tríú comhad gvimrc úsáideora: \"" - -#~ msgid " system menu file: \"" -#~ msgstr " comhad roghchláir an chórais: \"" - -#~ msgid "Compiler: " -#~ msgstr "Tiomsaitheoir: " - -# don't see where to localize "Help->Orphans"? --kps -#~ msgid "menu Help->Orphans for information " -#~ msgstr "roghchlár Help->Orphans chun eolas a fháil " - -#~ msgid "Running modeless, typed text is inserted" -#~ msgstr "Á rith gan mhóid, ag ionsá an téacs atá iontráilte" - -# same problem --kps -#~ msgid "menu Edit->Global Settings->Toggle Insert Mode " -#~ msgstr "roghchlár Edit->Global Settings->Toggle Insert Mode " - -#~ msgid " for two modes " -#~ msgstr " do dhá mhód " - -# same problem --kps -#~ msgid "menu Edit->Global Settings->Toggle Vi Compatible" -#~ msgstr "roghchlár Edit->Global Settings->Toggle Vi Compatible" - -#~ msgid " for Vim defaults " -#~ msgstr " le haghaidh réamhshocruithe Vim " - -#~ msgid "WARNING: Windows 95/98/ME detected" -#~ msgstr "RABHADH: Braitheadh Windows 95/98/ME" - -#~ msgid "type :help windows95<Enter> for info on this" -#~ msgstr "clóscríobh :help windows95<Enter> chun eolas a fháil " - -#~ msgid "E370: Could not load library %s" -#~ msgstr "E370: Níorbh fhéidir an leabharlann %s a oscailt" - -#~ msgid "" -#~ "Sorry, this command is disabled: the Perl library could not be loaded." -#~ msgstr "" -#~ "Tá brón orm, níl an t-ordú seo le fáil: níorbh fhéidir an leabharlann " -#~ "Perl a luchtú." - -#~ msgid "E299: Perl evaluation forbidden in sandbox without the Safe module" -#~ msgstr "" -#~ "E299: Ní cheadaítear luacháil Perl i mbosca gainimh gan an modúl Safe" - -#~ msgid "Edit with &multiple Vims" -#~ msgstr "Cuir in eagar le Vimeanna io&madúla" - -#~ msgid "Edit with single &Vim" -#~ msgstr "Cuir in eagar le &Vim aonair" - -#~ msgid "Diff with Vim" -#~ msgstr "Diff le Vim" - -#~ msgid "Edit with &Vim" -#~ msgstr "Cuir in Eagar le &Vim" - -#~ msgid "Edit with existing Vim - " -#~ msgstr "Cuir in Eagar le Vim beo - " - -#~ msgid "Edits the selected file(s) with Vim" -#~ msgstr "Cuir an comhad roghnaithe in eagar le Vim" - -#~ msgid "Error creating process: Check if gvim is in your path!" -#~ msgstr "" -#~ "Earráid agus próiseas á chruthú: Deimhnigh go bhfuil gvim i do chonair!" - -#~ msgid "gvimext.dll error" -#~ msgstr "earráid gvimext.dll" - -#~ msgid "Path length too long!" -#~ msgstr "Conair rófhada!" - -#~ msgid "E234: Unknown fontset: %s" -#~ msgstr "E234: Tacar cló anaithnid: %s" - -#~ msgid "E235: Unknown font: %s" -#~ msgstr "E235: Clófhoireann anaithnid: %s" - -#~ msgid "E236: Font \"%s\" is not fixed-width" -#~ msgstr "E236: Ní cló aonleithid é \"%s\"" - -#~ msgid "E448: Could not load library function %s" -#~ msgstr "E448: Ní féidir feidhm %s leabharlainne a luchtú" - -#~ msgid "E26: Hebrew cannot be used: Not enabled at compile time\n" -#~ msgstr "" -#~ "E26: Níl tacaíocht Eabhraise ar fáil: Níor cumasaíodh é ag am tiomsaithe\n" - -#~ msgid "E27: Farsi cannot be used: Not enabled at compile time\n" -#~ msgstr "" -#~ "E27: Níl tacaíocht Pheirsise ar fáil: Níor cumasaíodh é ag am tiomsaithe\n" - -#~ msgid "E800: Arabic cannot be used: Not enabled at compile time\n" -#~ msgstr "" -#~ "E800: Níl tacaíocht Araibise ar fáil: Níor cumasaíodh é ag am tiomsaithe\n" - -#~ msgid "E247: no registered server named \"%s\"" -#~ msgstr "E247: níl aon fhreastalaí cláraithe leis an ainm \"%s\"" - -#~ msgid "E233: cannot open display" -#~ msgstr "E233: ní féidir an scáileán a oscailt" - -#~ msgid "E449: Invalid expression received" -#~ msgstr "E449: Fuarthas slonn neamhbhailí" - -#~ msgid "E463: Region is guarded, cannot modify" -#~ msgstr "E463: Réigiún cosanta, ní féidir é a athrú" - -#~ msgid "E744: NetBeans does not allow changes in read-only files" -#~ msgstr "E744: Ní cheadaíonn NetBeans aon athrú i gcomhaid inléite amháin" - #~ msgid "E569: maximum number of cscope connections reached" #~ msgstr "E569: ní cheadaítear níos mó ná an líon uasta nasc cscope" @@ -8070,8 +7385,8 @@ msgstr "E446: Níl ainm comhaid faoin chúrsóir" #~ msgstr "" #~ "Ní mór do charachtar a úsáidtear ar SLASH a bheith ASCII; i %s líne %d: %s" -#~ msgid "%<PRId64> changes" -#~ msgstr "%<PRId64> athrú" +#~ msgid "%ld changes" +#~ msgstr "%ld athrú" #~ msgid "with KDE GUI." #~ msgstr "le GUI KDE." diff --git a/src/nvim/po/ja.euc-jp.po b/src/nvim/po/ja.euc-jp.po index c6425324b1..4b32096f1a 100644 --- a/src/nvim/po/ja.euc-jp.po +++ b/src/nvim/po/ja.euc-jp.po @@ -1,3 +1,4 @@ + # Japanese translation for Vim # # Do ":help uganda" in Vim to read copying and usage conditions. @@ -14,213 +15,176 @@ msgid "" msgstr "" "Project-Id-Version: Vim 7.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-02-01 09:02+0900\n" -"PO-Revision-Date: 2016-02-01 09:08+0900\n" +"POT-Creation-Date: 2016-09-10 21:10+0900\n" +"PO-Revision-Date: 2016-09-10 21:20+0900\n" "Last-Translator: MURAOKA Taro <koron.kaoriya@gmail.com>\n" "Language-Team: vim-jp (https://github.com/vim-jp/lang-ja)\n" "Language: Japanese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=euc-jp\n" "Content-Transfer-Encoding: 8-bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" -#: ../api/private/helpers.c:201 -#, fuzzy -msgid "Unable to get option value" -msgstr "¥ª¥×¥·¥ç¥ó¤ÎÃͤϼèÆÀ¤Ç¤¤Þ¤»¤ó" +msgid "E831: bf_key_init() called with empty password" +msgstr "E831: bf_key_init() ¤¬¶õ¥Ñ¥¹¥ï¡¼¥É¤Ç¸Æ¤Ó½Ð¤µ¤ì¤Þ¤·¤¿" -#: ../api/private/helpers.c:204 -msgid "internal error: unknown option type" -msgstr "ÆâÉô¥¨¥é¡¼: ̤ÃΤΥª¥×¥·¥ç¥ó·¿¤Ç¤¹" +msgid "E820: sizeof(uint32_t) != 4" +msgstr "E820: sizeof(uint32_t) != 4" + +msgid "E817: Blowfish big/little endian use wrong" +msgstr "E817: Blowfish°Å¹æ¤Î¥Ó¥Ã¥°/¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹" + +msgid "E818: sha256 test failed" +msgstr "E818: sha256¤Î¥Æ¥¹¥È¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" + +msgid "E819: Blowfish test failed" +msgstr "E819: Blowfish°Å¹æ¤Î¥Æ¥¹¥È¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" -#: ../buffer.c:92 msgid "[Location List]" msgstr "[¥í¥±¡¼¥·¥ç¥ó¥ê¥¹¥È]" -#: ../buffer.c:93 msgid "[Quickfix List]" msgstr "[Quickfix¥ê¥¹¥È]" -#: ../buffer.c:94 msgid "E855: Autocommands caused command to abort" msgstr "E855: autocommand¤¬¥³¥Þ¥ó¥É¤ÎÄä»ß¤ò°ú¤µ¯¤³¤·¤Þ¤·¤¿" -#: ../buffer.c:135 msgid "E82: Cannot allocate any buffer, exiting..." msgstr "E82: ¥Ð¥Ã¥Õ¥¡¤ò1¤Ä¤âºîÀ®¤Ç¤¤Ê¤¤¤Î¤Ç, ½ªÎ»¤·¤Þ¤¹..." -#: ../buffer.c:138 msgid "E83: Cannot allocate buffer, using other one..." msgstr "E83: ¥Ð¥Ã¥Õ¥¡¤òºîÀ®¤Ç¤¤Ê¤¤¤Î¤Ç, ¾¤Î¤ò»ÈÍѤ·¤Þ¤¹..." -#: ../buffer.c:763 +msgid "E931: Buffer cannot be registered" +msgstr "E931: ¥Ð¥Ã¥Õ¥¡¤òÅÐÏ¿¤Ç¤¤Þ¤»¤ó" + +msgid "E937: Attempt to delete a buffer that is in use" +msgstr "E937: »ÈÍÑÃæ¤Î¥Ð¥Ã¥Õ¥¡¤òºï½ü¤·¤è¤¦¤È»î¤ß¤Þ¤·¤¿" + msgid "E515: No buffers were unloaded" msgstr "E515: ²òÊü¤µ¤ì¤¿¥Ð¥Ã¥Õ¥¡¤Ï¤¢¤ê¤Þ¤»¤ó" -#: ../buffer.c:765 msgid "E516: No buffers were deleted" msgstr "E516: ºï½ü¤µ¤ì¤¿¥Ð¥Ã¥Õ¥¡¤Ï¤¢¤ê¤Þ¤»¤ó" -#: ../buffer.c:767 msgid "E517: No buffers were wiped out" msgstr "E517: ÇË´þ¤µ¤ì¤¿¥Ð¥Ã¥Õ¥¡¤Ï¤¢¤ê¤Þ¤»¤ó" -#: ../buffer.c:772 msgid "1 buffer unloaded" msgstr "1 ¸Ä¤Î¥Ð¥Ã¥Õ¥¡¤¬²òÊü¤µ¤ì¤Þ¤·¤¿" -#: ../buffer.c:774 #, c-format msgid "%d buffers unloaded" msgstr "%d ¸Ä¤Î¥Ð¥Ã¥Õ¥¡¤¬²òÊü¤µ¤ì¤Þ¤·¤¿" -#: ../buffer.c:777 msgid "1 buffer deleted" msgstr "1 ¸Ä¤Î¥Ð¥Ã¥Õ¥¡¤¬ºï½ü¤µ¤ì¤Þ¤·¤¿" -#: ../buffer.c:779 #, c-format msgid "%d buffers deleted" msgstr "%d ¸Ä¤Î¥Ð¥Ã¥Õ¥¡¤¬ºï½ü¤µ¤ì¤Þ¤·¤¿" -#: ../buffer.c:782 msgid "1 buffer wiped out" msgstr "1 ¸Ä¤Î¥Ð¥Ã¥Õ¥¡¤¬ÇË´þ¤µ¤ì¤Þ¤·¤¿" -#: ../buffer.c:784 #, c-format msgid "%d buffers wiped out" msgstr "%d ¸Ä¤Î¥Ð¥Ã¥Õ¥¡¤¬ÇË´þ¤µ¤ì¤Þ¤·¤¿" -#: ../buffer.c:806 msgid "E90: Cannot unload last buffer" msgstr "E90: ºÇ¸å¤Î¥Ð¥Ã¥Õ¥¡¤Ï²òÊü¤Ç¤¤Þ¤»¤ó" -#: ../buffer.c:874 msgid "E84: No modified buffer found" msgstr "E84: Êѹ¹¤µ¤ì¤¿¥Ð¥Ã¥Õ¥¡¤Ï¤¢¤ê¤Þ¤»¤ó" #. back where we started, didn't find anything. -#: ../buffer.c:903 msgid "E85: There is no listed buffer" msgstr "E85: ¥ê¥¹¥Èɽ¼¨¤µ¤ì¤ë¥Ð¥Ã¥Õ¥¡¤Ï¤¢¤ê¤Þ¤»¤ó" -#: ../buffer.c:913 -#, c-format -msgid "E86: Buffer %<PRId64> does not exist" -msgstr "E86: ¥Ð¥Ã¥Õ¥¡ %<PRId64> ¤Ï¤¢¤ê¤Þ¤»¤ó" - -#: ../buffer.c:915 msgid "E87: Cannot go beyond last buffer" msgstr "E87: ºÇ¸å¤Î¥Ð¥Ã¥Õ¥¡¤ò±Û¤¨¤Æ°Üư¤Ï¤Ç¤¤Þ¤»¤ó" -#: ../buffer.c:917 msgid "E88: Cannot go before first buffer" msgstr "E88: ºÇ½é¤Î¥Ð¥Ã¥Õ¥¡¤è¤êÁ°¤Ø¤Ï°Üư¤Ç¤¤Þ¤»¤ó" -#: ../buffer.c:945 #, c-format -msgid "" -"E89: No write since last change for buffer %<PRId64> (add ! to override)" -msgstr "E89: ¥Ð¥Ã¥Õ¥¡ %<PRId64> ¤ÎÊѹ¹¤ÏÊݸ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó (! ¤ÇÊѹ¹¤òÇË´þ)" +msgid "E89: No write since last change for buffer %ld (add ! to override)" +msgstr "E89: ¥Ð¥Ã¥Õ¥¡ %ld ¤ÎÊѹ¹¤ÏÊݸ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó (! ¤ÇÊѹ¹¤òÇË´þ)" -#. wrap around (may cause duplicates) -#: ../buffer.c:1423 msgid "W14: Warning: List of file names overflow" msgstr "W14: ·Ù¹ð: ¥Õ¥¡¥¤¥ë̾¤Î¥ê¥¹¥È¤¬Ä¹²á¤®¤Þ¤¹" -#: ../buffer.c:1555 ../quickfix.c:3361 #, c-format -msgid "E92: Buffer %<PRId64> not found" -msgstr "E92: ¥Ð¥Ã¥Õ¥¡ %<PRId64> ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó" +msgid "E92: Buffer %ld not found" +msgstr "E92: ¥Ð¥Ã¥Õ¥¡ %ld ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó" -#: ../buffer.c:1798 #, c-format msgid "E93: More than one match for %s" msgstr "E93: %s ¤ËÊ£¿ô¤Î³ºÅö¤¬¤¢¤ê¤Þ¤·¤¿" -#: ../buffer.c:1800 #, c-format msgid "E94: No matching buffer for %s" msgstr "E94: %s ¤Ë³ºÅö¤¹¤ë¥Ð¥Ã¥Õ¥¡¤Ï¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿" -#: ../buffer.c:2161 #, c-format -msgid "line %<PRId64>" -msgstr "¹Ô %<PRId64>" +msgid "line %ld" +msgstr "¹Ô %ld" -#: ../buffer.c:2233 msgid "E95: Buffer with this name already exists" msgstr "E95: ¤³¤Î̾Á°¤Î¥Ð¥Ã¥Õ¥¡¤Ï´û¤Ë¤¢¤ê¤Þ¤¹" -#: ../buffer.c:2498 msgid " [Modified]" msgstr " [Êѹ¹¤¢¤ê]" -#: ../buffer.c:2501 msgid "[Not edited]" msgstr "[̤ÊÔ½¸]" -#: ../buffer.c:2504 msgid "[New file]" msgstr "[¿·¥Õ¥¡¥¤¥ë]" -#: ../buffer.c:2505 msgid "[Read errors]" msgstr "[ÆÉ¹þ¥¨¥é¡¼]" -#: ../buffer.c:2506 ../buffer.c:3217 ../fileio.c:1807 ../screen.c:4895 msgid "[RO]" msgstr "[ÆÉÀì]" -#: ../buffer.c:2507 ../fileio.c:1807 msgid "[readonly]" msgstr "[ÆÉ¹þÀìÍÑ]" -#: ../buffer.c:2524 #, c-format msgid "1 line --%d%%--" msgstr "1 ¹Ô --%d%%--" -#: ../buffer.c:2526 #, c-format -msgid "%<PRId64> lines --%d%%--" -msgstr "%<PRId64> ¹Ô --%d%%--" +msgid "%ld lines --%d%%--" +msgstr "%ld ¹Ô --%d%%--" -#: ../buffer.c:2530 #, c-format -msgid "line %<PRId64> of %<PRId64> --%d%%-- col " -msgstr "¹Ô %<PRId64> (Á´ÂÎ %<PRId64>) --%d%%-- col " +msgid "line %ld of %ld --%d%%-- col " +msgstr "¹Ô %ld (Á´ÂÎ %ld) --%d%%-- col " -#: ../buffer.c:2632 ../buffer.c:4292 ../memline.c:1554 msgid "[No Name]" msgstr "[̵̾]" #. must be a help buffer -#: ../buffer.c:2667 msgid "help" msgstr "¥Ø¥ë¥×" -#: ../buffer.c:3225 ../screen.c:4883 msgid "[Help]" msgstr "[¥Ø¥ë¥×]" -#: ../buffer.c:3254 ../screen.c:4887 msgid "[Preview]" msgstr "[¥×¥ì¥Ó¥å¡¼]" -#: ../buffer.c:3528 msgid "All" msgstr "Á´¤Æ" -#: ../buffer.c:3528 msgid "Bot" msgstr "ËöÈø" -#: ../buffer.c:3531 msgid "Top" msgstr "ÀèÆ¬" -#: ../buffer.c:4244 msgid "" "\n" "# Buffer list:\n" @@ -228,11 +192,9 @@ msgstr "" "\n" "# ¥Ð¥Ã¥Õ¥¡¥ê¥¹¥È:\n" -#: ../buffer.c:4289 msgid "[Scratch]" msgstr "[²¼½ñ¤]" -#: ../buffer.c:4529 msgid "" "\n" "--- Signs ---" @@ -240,200 +202,235 @@ msgstr "" "\n" "--- ¥µ¥¤¥ó ---" -#: ../buffer.c:4538 #, c-format msgid "Signs for %s:" msgstr "%s ¤Î¥µ¥¤¥ó:" -#: ../buffer.c:4543 #, c-format -msgid " line=%<PRId64> id=%d name=%s" -msgstr " ¹Ô=%<PRId64> ¼±ÊÌ»Ò=%d ̾Á°=%s" +msgid " line=%ld id=%d name=%s" +msgstr " ¹Ô=%ld ¼±ÊÌ»Ò=%d ̾Á°=%s" -#: ../cursor_shape.c:68 -msgid "E545: Missing colon" -msgstr "E545: ¥³¥í¥ó¤¬¤¢¤ê¤Þ¤»¤ó" +msgid "E902: Cannot connect to port" +msgstr "E902: ¥Ý¡¼¥È¤ËÀܳ¤Ç¤¤Þ¤»¤ó" -#: ../cursor_shape.c:70 ../cursor_shape.c:94 -msgid "E546: Illegal mode" -msgstr "E546: ÉÔÀµ¤Ê¥â¡¼¥É¤Ç¤¹" +msgid "E901: gethostbyname() in channel_open()" +msgstr "E901: channel_open() Æâ¤Î gethostbyname() ¤¬¼ºÇÔ¤·¤Þ¤·¤¿" -#: ../cursor_shape.c:134 -msgid "E548: digit expected" -msgstr "E548: ¿ôÃͤ¬É¬ÍפǤ¹" +msgid "E898: socket() in channel_open()" +msgstr "E898: channel_open() Æâ¤Î socket() ¤¬¼ºÇÔ¤·¤Þ¤·¤¿" -#: ../cursor_shape.c:138 -msgid "E549: Illegal percentage" -msgstr "E549: ÉÔÀµ¤Ê¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸¤Ç¤¹" +msgid "E903: received command with non-string argument" +msgstr "E903: Èóʸ»úÎó¤Î°ú¿ô¤Î¥³¥Þ¥ó¥É¤ò¼õ¿®¤·¤Þ¤·¤¿" + +msgid "E904: last argument for expr/call must be a number" +msgstr "E904: expr/call ¤ÎºÇ¸å¤Î°ú¿ô¤Ï¿ô»ú¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó" + +msgid "E904: third argument for call must be a list" +msgstr "E904: call ¤Î3ÈÖÌܤΰú¿ô¤Ï¥ê¥¹¥È·¿¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó" + +#, c-format +msgid "E905: received unknown command: %s" +msgstr "E905: ̤ÃΤΥ³¥Þ¥ó¥É¤ò¼õ¿®¤·¤Þ¤·¤¿: %s" + +#, c-format +msgid "E630: %s(): write while not connected" +msgstr "E630: %s(): ÈóÀܳ¾õÂ֤ǽñ¤¹þ¤ß¤Þ¤·¤¿" + +#, c-format +msgid "E631: %s(): write failed" +msgstr "E631: %s(): ½ñ¤¹þ¤ß¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" + +#, c-format +msgid "E917: Cannot use a callback with %s()" +msgstr "E917: %s() ¤Ë¥³¡¼¥ë¥Ð¥Ã¥¯¤Ï»È¤¨¤Þ¤»¤ó" + +msgid "E912: cannot use ch_evalexpr()/ch_sendexpr() with a raw or nl channel" +msgstr "E912: À¸¤ä nl ¥Á¥ã¥ó¥Í¥ë¤Ë ch_evalexpr()/ch_sendexpr ¤Ï»È¤¨¤Þ¤»¤ó" + +msgid "E906: not an open channel" +msgstr "E906: ³«¤¤¤Æ¤¤¤Ê¤¤¥Á¥ã¥ó¥Í¥ë¤Ç¤¹" + +msgid "E920: _io file requires _name to be set" +msgstr "E920: _io ¥Õ¥¡¥¤¥ë¤Ï _name ¤ÎÀßÄ꤬ɬÍפǤ¹" + +msgid "E915: in_io buffer requires in_buf or in_name to be set" +msgstr "E915: in_io ¥Ð¥Ã¥Õ¥¡¤Ï in_buf ¤« in_name ¤ÎÀßÄ꤬ɬÍפǤ¹" + +#, c-format +msgid "E918: buffer must be loaded: %s" +msgstr "E918: ¥Ð¥Ã¥Õ¥¡¤¬¥í¡¼¥É¤µ¤ì¤Æ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó: %s" + +msgid "E821: File is encrypted with unknown method" +msgstr "E821: ¥Õ¥¡¥¤¥ë¤¬Ì¤ÃΤÎÊýË¡¤Ç°Å¹æ²½¤µ¤ì¤Æ¤¤¤Þ¤¹" + +msgid "Warning: Using a weak encryption method; see :help 'cm'" +msgstr "·Ù¹ð: ¼å¤¤°Å¹æÊýË¡¤ò»È¤Ã¤Æ¤¤¤Þ¤¹; :help 'cm' ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤" + +msgid "Enter encryption key: " +msgstr "°Å¹æ²½ÍѤΥ¡¼¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤: " + +msgid "Enter same key again: " +msgstr "¤â¤¦°ìÅÙÆ±¤¸¥¡¼¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤: " + +msgid "Keys don't match!" +msgstr "¥¡¼¤¬°ìÃפ·¤Þ¤»¤ó" + +msgid "[crypted]" +msgstr "[°Å¹æ²½]" + +#, c-format +msgid "E720: Missing colon in Dictionary: %s" +msgstr "E720: ¼½ñ·¿¤Ë¥³¥í¥ó¤¬¤¢¤ê¤Þ¤»¤ó: %s" + +#, c-format +msgid "E721: Duplicate key in Dictionary: \"%s\"" +msgstr "E721: ¼½ñ·¿¤Ë½ÅÊ£¥¡¼¤¬¤¢¤ê¤Þ¤¹: \"%s\"" + +#, c-format +msgid "E722: Missing comma in Dictionary: %s" +msgstr "E722: ¼½ñ·¿¤Ë¥«¥ó¥Þ¤¬¤¢¤ê¤Þ¤»¤ó: %s" + +#, c-format +msgid "E723: Missing end of Dictionary '}': %s" +msgstr "E723: ¼½ñ·¿¤ÎºÇ¸å¤Ë '}' ¤¬¤¢¤ê¤Þ¤»¤ó: %s" + +msgid "extend() argument" +msgstr "extend() ¤Î°ú¿ô" -#: ../diff.c:146 #, c-format -msgid "E96: Can not diff more than %<PRId64> buffers" -msgstr "E96: %<PRId64> °Ê¾å¤Î¥Ð¥Ã¥Õ¥¡¤Ïdiff¤Ç¤¤Þ¤»¤ó" +msgid "E737: Key already exists: %s" +msgstr "E737: ¥¡¼¤Ï´û¤Ë¸ºß¤·¤Þ¤¹: %s" + +#, c-format +msgid "E96: Cannot diff more than %ld buffers" +msgstr "E96: %ld °Ê¾å¤Î¥Ð¥Ã¥Õ¥¡¤Ïdiff¤Ç¤¤Þ¤»¤ó" -#: ../diff.c:753 msgid "E810: Cannot read or write temp files" msgstr "E810: °ì»þ¥Õ¥¡¥¤¥ë¤ÎÆÉ¹þ¤â¤·¤¯¤Ï½ñ¹þ¤¬¤Ç¤¤Þ¤»¤ó" -#: ../diff.c:755 msgid "E97: Cannot create diffs" msgstr "E97: º¹Ê¬¤òºîÀ®¤Ç¤¤Þ¤»¤ó" -#: ../diff.c:966 +msgid "Patch file" +msgstr "¥Ñ¥Ã¥Á¥Õ¥¡¥¤¥ë" + msgid "E816: Cannot read patch output" msgstr "E816: patch¤Î½ÐÎϤòÆÉ¹þ¤á¤Þ¤»¤ó" -#: ../diff.c:1220 msgid "E98: Cannot read diff output" msgstr "E98: diff¤Î½ÐÎϤòÆÉ¹þ¤á¤Þ¤»¤ó" -#: ../diff.c:2081 msgid "E99: Current buffer is not in diff mode" msgstr "E99: ¸½ºß¤Î¥Ð¥Ã¥Õ¥¡¤Ïº¹Ê¬¥â¡¼¥É¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó" -#: ../diff.c:2100 msgid "E793: No other buffer in diff mode is modifiable" msgstr "E793: º¹Ê¬¥â¡¼¥É¤Ç¤¢¤ë¾¤Î¥Ð¥Ã¥Õ¥¡¤ÏÊѹ¹¤Ç¤¤Þ¤»¤ó" -#: ../diff.c:2102 msgid "E100: No other buffer in diff mode" msgstr "E100: º¹Ê¬¥â¡¼¥É¤Ç¤¢¤ë¾¤Î¥Ð¥Ã¥Õ¥¡¤Ï¤¢¤ê¤Þ¤»¤ó" -#: ../diff.c:2112 msgid "E101: More than two buffers in diff mode, don't know which one to use" msgstr "" "E101: º¹Ê¬¥â¡¼¥É¤Î¥Ð¥Ã¥Õ¥¡¤¬2¸Ä°Ê¾å¤¢¤ë¤Î¤Ç¡¢¤É¤ì¤ò»È¤¦¤«ÆÃÄê¤Ç¤¤Þ¤»¤ó" -#: ../diff.c:2141 #, c-format msgid "E102: Can't find buffer \"%s\"" msgstr "E102: ¥Ð¥Ã¥Õ¥¡ \"%s\" ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó" -#: ../diff.c:2152 #, c-format msgid "E103: Buffer \"%s\" is not in diff mode" msgstr "E103: ¥Ð¥Ã¥Õ¥¡ \"%s\" ¤Ïº¹Ê¬¥â¡¼¥É¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó" -#: ../diff.c:2193 msgid "E787: Buffer changed unexpectedly" msgstr "E787: ͽ´ü¤»¤º¥Ð¥Ã¥Õ¥¡¤¬Êѹ¹Êѹ¹¤µ¤ì¤Þ¤·¤¿" -#: ../digraph.c:1598 msgid "E104: Escape not allowed in digraph" msgstr "E104: ¹ç»ú¤ËEscape¤Ï»ÈÍѤǤ¤Þ¤»¤ó" -#: ../digraph.c:1760 msgid "E544: Keymap file not found" msgstr "E544: ¥¡¼¥Þ¥Ã¥×¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó" -#: ../digraph.c:1785 msgid "E105: Using :loadkeymap not in a sourced file" msgstr "E105: :source ¤Ç¼è¹þ¤à¥Õ¥¡¥¤¥ë°Ê³°¤Ç¤Ï :loadkeymap ¤ò»È¤¨¤Þ¤»¤ó" -#: ../digraph.c:1821 msgid "E791: Empty keymap entry" msgstr "E791: ¶õ¤Î¥¡¼¥Þ¥Ã¥×¥¨¥ó¥È¥ê" -#: ../edit.c:82 msgid " Keyword completion (^N^P)" msgstr " ¥¡¼¥ï¡¼¥ÉÊä´° (^N^P)" #. ctrl_x_mode == 0, ^P/^N compl. -#: ../edit.c:83 msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)" msgstr " ^X ¥â¡¼¥É (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)" -#: ../edit.c:85 msgid " Whole line completion (^L^N^P)" msgstr " ¹Ô(Á´ÂÎ)Êä´° (^L^N^P)" -#: ../edit.c:86 msgid " File name completion (^F^N^P)" msgstr " ¥Õ¥¡¥¤¥ë̾Êä´° (^F^N^P)" -#: ../edit.c:87 msgid " Tag completion (^]^N^P)" msgstr " ¥¿¥°Êä´° (^]^N^P)" -#: ../edit.c:88 msgid " Path pattern completion (^N^P)" msgstr " ¥Ñ¥¹¥Ñ¥¿¡¼¥óÊä´° (^N^P)" -#: ../edit.c:89 msgid " Definition completion (^D^N^P)" msgstr " ÄêµÁÊä´° (^D^N^P)" -#: ../edit.c:91 msgid " Dictionary completion (^K^N^P)" msgstr " ¼½ñÊä´° (^K^N^P)" -#: ../edit.c:92 msgid " Thesaurus completion (^T^N^P)" msgstr " ¥·¥½¡¼¥é¥¹Êä´° (^T^N^P)" -#: ../edit.c:93 msgid " Command-line completion (^V^N^P)" msgstr " ¥³¥Þ¥ó¥É¥é¥¤¥óÊä´° (^V^N^P)" -#: ../edit.c:94 msgid " User defined completion (^U^N^P)" msgstr " ¥æ¡¼¥¶¡¼ÄêµÁÊä´° (^U^N^P)" -#: ../edit.c:95 msgid " Omni completion (^O^N^P)" msgstr " ¥ª¥à¥ËÊä´° (^O^N^P)" -#: ../edit.c:96 msgid " Spelling suggestion (s^N^P)" msgstr " Ä֤꽤Àµ¸õÊä (s^N^P)" -#: ../edit.c:97 msgid " Keyword Local completion (^N^P)" msgstr " ¶É½ê¥¡¼¥ï¡¼¥ÉÊä´° (^N^P)" -#: ../edit.c:100 msgid "Hit end of paragraph" msgstr "ÃÊÍî¤ÎºÇ¸å¤Ë¥Ò¥Ã¥È" -#: ../edit.c:101 msgid "E839: Completion function changed window" msgstr "E839: Êä´Ö´Ø¿ô¤¬¥¦¥£¥ó¥É¥¦¤òÊѹ¹¤·¤Þ¤·¤¿" -#: ../edit.c:102 msgid "E840: Completion function deleted text" msgstr "E840: Êä´°´Ø¿ô¤¬¥Æ¥¥¹¥È¤òºï½ü¤·¤Þ¤·¤¿" -#: ../edit.c:1847 msgid "'dictionary' option is empty" msgstr "'dictionary' ¥ª¥×¥·¥ç¥ó¤¬¶õ¤Ç¤¹" -#: ../edit.c:1848 msgid "'thesaurus' option is empty" msgstr "'thesaurus' ¥ª¥×¥·¥ç¥ó¤¬¶õ¤Ç¤¹" -#: ../edit.c:2655 #, c-format msgid "Scanning dictionary: %s" msgstr "¼½ñ¤ò¥¹¥¥ã¥óÃæ: %s" -#: ../edit.c:3079 msgid " (insert) Scroll (^E/^Y)" msgstr " (ÁÞÆþ) ¥¹¥¯¥í¡¼¥ë(^E/^Y)" -#: ../edit.c:3081 msgid " (replace) Scroll (^E/^Y)" msgstr " (ÃÖ´¹) ¥¹¥¯¥í¡¼¥ë (^E/^Y)" -#: ../edit.c:3587 #, c-format msgid "Scanning: %s" msgstr "¥¹¥¥ã¥óÃæ: %s" -#: ../edit.c:3614 msgid "Scanning tags." msgstr "¥¿¥°¤ò¥¹¥¥ã¥óÃæ." -#: ../edit.c:4519 msgid " Adding" msgstr " ÄɲÃÃæ" @@ -441,431 +438,161 @@ msgstr " ÄɲÃÃæ" #. * be called before line = ml_get(), or when this address is no #. * longer needed. -- Acevedo. #. -#: ../edit.c:4562 msgid "-- Searching..." msgstr "-- ¸¡º÷Ãæ..." -#: ../edit.c:4618 msgid "Back at original" msgstr "»Ï¤á¤ËÌá¤ë" -#: ../edit.c:4621 msgid "Word from other line" msgstr "¾¤Î¹Ô¤Îñ¸ì" -#: ../edit.c:4624 msgid "The only match" msgstr "Í£°ì¤Î³ºÅö" -#: ../edit.c:4680 #, c-format msgid "match %d of %d" msgstr "%d ÈÖÌܤγºÅö (Á´³ºÅö %d ¸ÄÃæ)" -#: ../edit.c:4684 #, c-format msgid "match %d" msgstr "%d ÈÖÌܤγºÅö" -#: ../eval.c:137 +#. maximum nesting of lists and dicts msgid "E18: Unexpected characters in :let" msgstr "E18: ͽ´ü¤»¤Ìʸ»ú¤¬ :let ¤Ë¤¢¤ê¤Þ¤·¤¿" -#: ../eval.c:138 -#, c-format -msgid "E684: list index out of range: %<PRId64>" -msgstr "E684: ¥ê¥¹¥È¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬Èϰϳ°¤Ç¤¹: %<PRId64>" - -#: ../eval.c:139 #, c-format msgid "E121: Undefined variable: %s" msgstr "E121: ̤ÄêµÁ¤ÎÊÑ¿ô¤Ç¤¹: %s" -#: ../eval.c:140 msgid "E111: Missing ']'" msgstr "E111: ']' ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó" -#: ../eval.c:141 -#, c-format -msgid "E686: Argument of %s must be a List" -msgstr "E686: %s ¤Î°ú¿ô¤Ï¥ê¥¹¥È·¿¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó" - -#: ../eval.c:143 -#, c-format -msgid "E712: Argument of %s must be a List or Dictionary" -msgstr "E712: %s ¤Î°ú¿ô¤Ï¥ê¥¹¥È·¿¤Þ¤¿¤Ï¼½ñ·¿¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó" - -#: ../eval.c:144 -msgid "E713: Cannot use empty key for Dictionary" -msgstr "E713: ¼½ñ·¿¤Ë¶õ¤Î¥¡¼¤ò»È¤¦¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó" - -#: ../eval.c:145 -msgid "E714: List required" -msgstr "E714: ¥ê¥¹¥È·¿¤¬É¬ÍפǤ¹" - -#: ../eval.c:146 -msgid "E715: Dictionary required" -msgstr "E715: ¼½ñ·¿¤¬É¬ÍפǤ¹" - -#: ../eval.c:147 -#, c-format -msgid "E118: Too many arguments for function: %s" -msgstr "E118: ´Ø¿ô¤Î°ú¿ô¤¬Â¿²á¤®¤Þ¤¹: %s" - -#: ../eval.c:148 -#, c-format -msgid "E716: Key not present in Dictionary: %s" -msgstr "E716: ¼½ñ·¿¤Ë¥¡¼¤¬Â¸ºß¤·¤Þ¤»¤ó: %s" - -#: ../eval.c:150 -#, c-format -msgid "E122: Function %s already exists, add ! to replace it" -msgstr "E122: ´Ø¿ô %s ¤ÏÄêµÁºÑ¤Ç¤¹, ºÆÄêµÁ¤¹¤ë¤Ë¤Ï ! ¤òÄɲ䷤Ƥ¯¤À¤µ¤¤" - -#: ../eval.c:151 -msgid "E717: Dictionary entry already exists" -msgstr "E717: ¼½ñ·¿Æâ¤Ë¥¨¥ó¥È¥ê¤¬´û¤Ë¸ºß¤·¤Þ¤¹" - -#: ../eval.c:152 -msgid "E718: Funcref required" -msgstr "E718: ´Ø¿ô»²¾È·¿¤¬Í׵ᤵ¤ì¤Þ¤¹" - -#: ../eval.c:153 msgid "E719: Cannot use [:] with a Dictionary" msgstr "E719: [:] ¤ò¼½ñ·¿¤ÈÁȤ߹ç¤ï¤»¤Æ¤Ï»È¤¨¤Þ¤»¤ó" -#: ../eval.c:154 #, c-format msgid "E734: Wrong variable type for %s=" msgstr "E734: °Û¤Ê¤Ã¤¿·¿¤ÎÊÑ¿ô¤Ç¤¹ %s=" -#: ../eval.c:155 -#, c-format -msgid "E130: Unknown function: %s" -msgstr "E130: ̤ÃΤδؿô¤Ç¤¹: %s" - -#: ../eval.c:156 #, c-format msgid "E461: Illegal variable name: %s" msgstr "E461: ÉÔÀµ¤ÊÊÑ¿ô̾¤Ç¤¹: %s" -#: ../eval.c:157 msgid "E806: using Float as a String" msgstr "E806: ÉâÆ°¾®¿ôÅÀ¿ô¤òʸ»úÎó¤È¤·¤Æ°·¤Ã¤Æ¤¤¤Þ¤¹" -#: ../eval.c:1830 msgid "E687: Less targets than List items" msgstr "E687: ¥¿¡¼¥²¥Ã¥È¤¬¥ê¥¹¥È·¿Æâ¤ÎÍ×ÁǤè¤ê¤â¾¯¤Ê¤¤¤Ç¤¹" -#: ../eval.c:1834 msgid "E688: More targets than List items" msgstr "E688: ¥¿¡¼¥²¥Ã¥È¤¬¥ê¥¹¥È·¿Æâ¤ÎÍ×ÁǤè¤ê¤â¿¤¤¤Ç¤¹" -#: ../eval.c:1906 msgid "Double ; in list of variables" msgstr "¥ê¥¹¥È·¿¤ÎÃͤË2¤Ä°Ê¾å¤Î ; ¤¬¸¡½Ð¤µ¤ì¤Þ¤·¤¿" -#: ../eval.c:2078 #, c-format msgid "E738: Can't list variables for %s" msgstr "E738: %s ¤ÎÃͤò°ìÍ÷ɽ¼¨¤Ç¤¤Þ¤»¤ó" -#: ../eval.c:2391 msgid "E689: Can only index a List or Dictionary" msgstr "E689: ¥ê¥¹¥È·¿¤È¼½ñ·¿°Ê³°¤Ï¥¤¥ó¥Ç¥Ã¥¯¥¹»ØÄê¤Ç¤¤Þ¤»¤ó" -#: ../eval.c:2396 msgid "E708: [:] must come last" msgstr "E708: [:] ¤ÏºÇ¸å¤Ç¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó" -#: ../eval.c:2439 msgid "E709: [:] requires a List value" msgstr "E709: [:] ¤Ë¤Ï¥ê¥¹¥È·¿¤ÎÃͤ¬É¬ÍפǤ¹" -#: ../eval.c:2674 msgid "E710: List value has more items than target" msgstr "E710: ¥ê¥¹¥È·¿ÊÑ¿ô¤Ë¥¿¡¼¥²¥Ã¥È¤è¤ê¤â¿¤¤Í×ÁǤ¬¤¢¤ê¤Þ¤¹" -#: ../eval.c:2678 msgid "E711: List value has not enough items" msgstr "E711: ¥ê¥¹¥È·¿ÊÑ¿ô¤Ë½½Ê¬¤Ê¿ô¤ÎÍ×ÁǤ¬¤¢¤ê¤Þ¤»¤ó" # -#: ../eval.c:2867 msgid "E690: Missing \"in\" after :for" msgstr "E690: :for ¤Î¸å¤Ë \"in\" ¤¬¤¢¤ê¤Þ¤»¤ó" -#: ../eval.c:3063 -#, c-format -msgid "E107: Missing parentheses: %s" -msgstr "E107: ¥«¥Ã¥³ '(' ¤¬¤¢¤ê¤Þ¤»¤ó: %s" - -#: ../eval.c:3263 #, c-format msgid "E108: No such variable: \"%s\"" msgstr "E108: ¤½¤ÎÊÑ¿ô¤Ï¤¢¤ê¤Þ¤»¤ó: \"%s\"" -#: ../eval.c:3333 msgid "E743: variable nested too deep for (un)lock" msgstr "E743: (¥¢¥ó)¥í¥Ã¥¯¤¹¤ë¤Ë¤ÏÊÑ¿ô¤ÎÆþ¤ì»Ò¤¬¿¼²á¤®¤Þ¤¹" -#: ../eval.c:3630 msgid "E109: Missing ':' after '?'" msgstr "E109: '?' ¤Î¸å¤Ë ':' ¤¬¤¢¤ê¤Þ¤»¤ó" -#: ../eval.c:3893 msgid "E691: Can only compare List with List" msgstr "E691: ¥ê¥¹¥È·¿¤Ï¥ê¥¹¥È·¿¤È¤·¤«Èæ³Ó¤Ç¤¤Þ¤»¤ó" -#: ../eval.c:3895 -msgid "E692: Invalid operation for Lists" +msgid "E692: Invalid operation for List" msgstr "E692: ¥ê¥¹¥È·¿¤Ë¤Ï̵¸ú¤ÊÁàºî¤Ç¤¹" -#: ../eval.c:3915 msgid "E735: Can only compare Dictionary with Dictionary" msgstr "E735: ¼½ñ·¿¤Ï¼½ñ·¿¤È¤·¤«Èæ³Ó¤Ç¤¤Þ¤»¤ó" -#: ../eval.c:3917 msgid "E736: Invalid operation for Dictionary" msgstr "E736: ¼½ñ·¿¤Ë¤Ï̵¸ú¤ÊÁàºî¤Ç¤¹" -#: ../eval.c:3932 -msgid "E693: Can only compare Funcref with Funcref" -msgstr "E693: ´Ø¿ô»²¾È·¿¤Ï´Ø¿ô»²¾È·¿¤È¤·¤«Èæ³Ó¤Ç¤¤Þ¤»¤ó" - -#: ../eval.c:3934 msgid "E694: Invalid operation for Funcrefs" msgstr "E694: ´Ø¿ô»²¾È·¿¤Ë¤Ï̵¸ú¤ÊÁàºî¤Ç¤¹" -#: ../eval.c:4277 msgid "E804: Cannot use '%' with Float" msgstr "E804: '%' ¤òÉâÆ°¾®¿ôÅÀ¿ô¤ÈÁȤ߹ç¤ï¤»¤Æ¤Ï»È¤¨¤Þ¤»¤ó" -#: ../eval.c:4478 msgid "E110: Missing ')'" msgstr "E110: ')' ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó" -#: ../eval.c:4609 msgid "E695: Cannot index a Funcref" msgstr "E695: ´Ø¿ô»²¾È·¿¤Ï¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ç¤¤Þ¤»¤ó" -#: ../eval.c:4839 +msgid "E909: Cannot index a special variable" +msgstr "E909: ÆÃ¼ìÊÑ¿ô¤Ï¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ç¤¤Þ¤»¤ó" + #, c-format msgid "E112: Option name missing: %s" msgstr "E112: ¥ª¥×¥·¥ç¥ó̾¤¬¤¢¤ê¤Þ¤»¤ó: %s" -#: ../eval.c:4855 #, c-format msgid "E113: Unknown option: %s" msgstr "E113: ̤ÃΤΥª¥×¥·¥ç¥ó¤Ç¤¹: %s" -#: ../eval.c:4904 #, c-format msgid "E114: Missing quote: %s" msgstr "E114: °úÍÑÉä (\") ¤¬¤¢¤ê¤Þ¤»¤ó: %s" -#: ../eval.c:5020 #, c-format msgid "E115: Missing quote: %s" msgstr "E115: °úÍÑÉä (') ¤¬¤¢¤ê¤Þ¤»¤ó: %s" -#: ../eval.c:5084 -#, c-format -msgid "E696: Missing comma in List: %s" -msgstr "E696: ¥ê¥¹¥È·¿¤Ë¥«¥ó¥Þ¤¬¤¢¤ê¤Þ¤»¤ó: %s" - -#: ../eval.c:5091 -#, c-format -msgid "E697: Missing end of List ']': %s" -msgstr "E697: ¥ê¥¹¥È·¿¤ÎºÇ¸å¤Ë ']' ¤¬¤¢¤ê¤Þ¤»¤ó: %s" - -#: ../eval.c:5807 msgid "Not enough memory to set references, garbage collection aborted!" msgstr "" "¥¬¡¼¥Ù¥Ã¥¸¥³¥ì¥¯¥·¥ç¥ó¤òÃæ»ß¤·¤Þ¤·¤¿! »²¾È¤òºîÀ®¤¹¤ë¤Î¤Ë¥á¥â¥ê¤¬ÉÔ¤·¤Þ¤·¤¿" -#: ../eval.c:6475 -#, c-format -msgid "E720: Missing colon in Dictionary: %s" -msgstr "E720: ¼½ñ·¿¤Ë¥³¥í¥ó¤¬¤¢¤ê¤Þ¤»¤ó: %s" - -#: ../eval.c:6499 -#, c-format -msgid "E721: Duplicate key in Dictionary: \"%s\"" -msgstr "E721: ¼½ñ·¿¤Ë½ÅÊ£¥¡¼¤¬¤¢¤ê¤Þ¤¹: \"%s\"" - -#: ../eval.c:6517 -#, c-format -msgid "E722: Missing comma in Dictionary: %s" -msgstr "E722: ¼½ñ·¿¤Ë¥«¥ó¥Þ¤¬¤¢¤ê¤Þ¤»¤ó: %s" - -#: ../eval.c:6524 -#, c-format -msgid "E723: Missing end of Dictionary '}': %s" -msgstr "E723: ¼½ñ·¿¤ÎºÇ¸å¤Ë '}' ¤¬¤¢¤ê¤Þ¤»¤ó: %s" - -#: ../eval.c:6555 msgid "E724: variable nested too deep for displaying" msgstr "E724: ɽ¼¨¤¹¤ë¤Ë¤ÏÊÑ¿ô¤ÎÆþ¤ì»Ò¤¬¿¼²á¤®¤Þ¤¹" -#: ../eval.c:7188 -#, c-format -msgid "E740: Too many arguments for function %s" -msgstr "E740: ´Ø¿ô¤Î°ú¿ô¤¬Â¿²á¤®¤Þ¤¹: %s" - -#: ../eval.c:7190 -#, c-format -msgid "E116: Invalid arguments for function %s" -msgstr "E116: ´Ø¿ô¤Î̵¸ú¤Ê°ú¿ô¤Ç¤¹: %s" - -#: ../eval.c:7377 -#, c-format -msgid "E117: Unknown function: %s" -msgstr "E117: ̤ÃΤδؿô¤Ç¤¹: %s" - -#: ../eval.c:7383 -#, c-format -msgid "E119: Not enough arguments for function: %s" -msgstr "E119: ´Ø¿ô¤Î°ú¿ô¤¬Â¤ê¤Þ¤»¤ó: %s" - -#: ../eval.c:7387 -#, c-format -msgid "E120: Using <SID> not in a script context: %s" -msgstr "E120: ¥¹¥¯¥ê¥×¥È°Ê³°¤Ç<SID>¤¬»È¤ï¤ì¤Þ¤·¤¿: %s" - -#: ../eval.c:7391 -#, c-format -msgid "E725: Calling dict function without Dictionary: %s" -msgstr "E725: ¼½ñÍÑ´Ø¿ô¤¬¸Æ¤Ð¤ì¤Þ¤·¤¿¤¬¼½ñ¤¬¤¢¤ê¤Þ¤»¤ó: %s" - -#: ../eval.c:7453 -msgid "E808: Number or Float required" -msgstr "E808: ¿ôÃͤ«ÉâÆ°¾®¿ôÅÀ¿ô¤¬É¬ÍפǤ¹" - -#: ../eval.c:7503 -msgid "add() argument" -msgstr "add() ¤Î°ú¿ô" - -#: ../eval.c:7907 -msgid "E699: Too many arguments" -msgstr "E699: °ú¿ô¤¬Â¿²á¤®¤Þ¤¹" - -#: ../eval.c:8073 -msgid "E785: complete() can only be used in Insert mode" -msgstr "E785: complete() ¤ÏÁÞÆþ¥â¡¼¥É¤Ç¤·¤«ÍøÍѤǤ¤Þ¤»¤ó" - -#: ../eval.c:8156 -msgid "&Ok" -msgstr "&Ok" - -#: ../eval.c:8676 -#, c-format -msgid "E737: Key already exists: %s" -msgstr "E737: ¥¡¼¤Ï´û¤Ë¸ºß¤·¤Þ¤¹: %s" - -#: ../eval.c:8692 -msgid "extend() argument" -msgstr "extend() ¤Î°ú¿ô" - -#: ../eval.c:8915 -msgid "map() argument" -msgstr "map() ¤Î°ú¿ô" - -#: ../eval.c:8916 -msgid "filter() argument" -msgstr "filter() ¤Î°ú¿ô" - -#: ../eval.c:9229 -#, c-format -msgid "+-%s%3ld lines: " -msgstr "+-%s%3ld ¹Ô: " - -#: ../eval.c:9291 -#, c-format -msgid "E700: Unknown function: %s" -msgstr "E700: ̤ÃΤδؿô¤Ç¤¹: %s" - -#: ../eval.c:10729 -msgid "called inputrestore() more often than inputsave()" -msgstr "inputrestore() ¤¬ inputsave() ¤è¤ê¤â¿¤¯¸Æ¤Ð¤ì¤Þ¤·¤¿" - -#: ../eval.c:10771 -msgid "insert() argument" -msgstr "insert() ¤Î°ú¿ô" - -#: ../eval.c:10841 -msgid "E786: Range not allowed" -msgstr "E786: ÈϰϻØÄê¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" - -#: ../eval.c:11140 -msgid "E701: Invalid type for len()" -msgstr "E701: len() ¤Ë¤Ï̵¸ú¤Ê·¿¤Ç¤¹" - -#: ../eval.c:11980 -msgid "E726: Stride is zero" -msgstr "E726: ¥¹¥È¥é¥¤¥É(Á°¿ÊÎÌ)¤¬ 0 ¤Ç¤¹" - -#: ../eval.c:11982 -msgid "E727: Start past end" -msgstr "E727: ³«»Ï°ÌÃÖ¤¬½ªÎ»°ÌÃÖ¤ò±Û¤¨¤Þ¤·¤¿" - -#: ../eval.c:12024 ../eval.c:15297 -msgid "<empty>" -msgstr "<¶õ>" - -#: ../eval.c:12282 -msgid "remove() argument" -msgstr "remove() ¤Î°ú¿ô" - -# Added at 10-Mar-2004. -#: ../eval.c:12466 -msgid "E655: Too many symbolic links (cycle?)" -msgstr "E655: ¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤¬Â¿²á¤®¤Þ¤¹ (½Û´Ä¤·¤Æ¤¤¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹)" - -#: ../eval.c:12593 -msgid "reverse() argument" -msgstr "reverse() ¤Î°ú¿ô" - -#: ../eval.c:13721 -msgid "sort() argument" -msgstr "sort() ¤Î°ú¿ô" - -#: ../eval.c:13721 -msgid "uniq() argument" -msgstr "uniq() ¤Î°ú¿ô" - -#: ../eval.c:13776 -msgid "E702: Sort compare function failed" -msgstr "E702: ¥½¡¼¥È¤ÎÈæ³Ó´Ø¿ô¤¬¼ºÇÔ¤·¤Þ¤·¤¿" - -#: ../eval.c:13806 -msgid "E882: Uniq compare function failed" -msgstr "E882: Uniq ¤ÎÈæ³Ó´Ø¿ô¤¬¼ºÇÔ¤·¤Þ¤·¤¿" - -#: ../eval.c:14085 -msgid "(Invalid)" -msgstr "(̵¸ú)" - -#: ../eval.c:14590 -msgid "E677: Error writing temp file" -msgstr "E677: °ì»þ¥Õ¥¡¥¤¥ë½ñ¹þÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿" - -#: ../eval.c:16159 msgid "E805: Using a Float as a Number" msgstr "E805: ÉâÆ°¾®¿ôÅÀ¿ô¤ò¿ôÃͤȤ·¤Æ°·¤Ã¤Æ¤¤¤Þ¤¹" -#: ../eval.c:16162 msgid "E703: Using a Funcref as a Number" msgstr "E703: ´Ø¿ô»²¾È·¿¤ò¿ôÃͤȤ·¤Æ°·¤Ã¤Æ¤¤¤Þ¤¹¡£" -#: ../eval.c:16170 msgid "E745: Using a List as a Number" msgstr "E745: ¥ê¥¹¥È·¿¤ò¿ôÃͤȤ·¤Æ°·¤Ã¤Æ¤¤¤Þ¤¹" -#: ../eval.c:16173 msgid "E728: Using a Dictionary as a Number" msgstr "E728: ¼½ñ·¿¤ò¿ôÃͤȤ·¤Æ°·¤Ã¤Æ¤¤¤Þ¤¹" +msgid "E910: Using a Job as a Number" +msgstr "E910: ¥¸¥ç¥Ö¤ò¿ôÃͤȤ·¤Æ°·¤Ã¤Æ¤¤¤Þ¤¹" + +msgid "E913: Using a Channel as a Number" +msgstr "E913: ¥Á¥ã¥ó¥Í¥ë¤ò¿ôÃͤȤ·¤Æ°·¤Ã¤Æ¤¤¤Þ¤¹¡£" + msgid "E891: Using a Funcref as a Float" msgstr "E891: ´Ø¿ô»²¾È·¿¤òÉâÆ°¾®¿ôÅÀ¿ô¤È¤·¤Æ°·¤Ã¤Æ¤¤¤Þ¤¹¡£" @@ -878,265 +605,280 @@ msgstr "E893: ¥ê¥¹¥È·¿¤òÉâÆ°¾®¿ôÅÀ¿ô¤È¤·¤Æ°·¤Ã¤Æ¤¤¤Þ¤¹" msgid "E894: Using a Dictionary as a Float" msgstr "E894: ¼½ñ·¿¤òÉâÆ°¾®¿ôÅÀ¿ô¤È¤·¤Æ°·¤Ã¤Æ¤¤¤Þ¤¹" -#: ../eval.c:16259 +msgid "E907: Using a special value as a Float" +msgstr "E907: ÆÃ¼ìÃͤòÉâÆ°¾®¿ôÅÀ¿ô¤È¤·¤Æ°·¤Ã¤Æ¤¤¤Þ¤¹" + +msgid "E911: Using a Job as a Float" +msgstr "E911: ¥¸¥ç¥Ö¤òÉâÆ°¾®¿ôÅÀ¿ô¤È¤·¤Æ°·¤Ã¤Æ¤¤¤Þ¤¹" + +msgid "E914: Using a Channel as a Float" +msgstr "E914: ¥Á¥ã¥ó¥Í¥ë¤òÉâÆ°¾®¿ôÅÀ¿ô¤È¤·¤Æ°·¤Ã¤Æ¤¤¤Þ¤¹¡£" + msgid "E729: using Funcref as a String" msgstr "E729: ´Ø¿ô»²¾È·¿¤òʸ»úÎó¤È¤·¤Æ°·¤Ã¤Æ¤¤¤Þ¤¹" -#: ../eval.c:16262 msgid "E730: using List as a String" msgstr "E730: ¥ê¥¹¥È·¿¤òʸ»úÎó¤È¤·¤Æ°·¤Ã¤Æ¤¤¤Þ¤¹" -#: ../eval.c:16265 msgid "E731: using Dictionary as a String" msgstr "E731: ¼½ñ·¿¤òʸ»úÎó¤È¤·¤Æ°·¤Ã¤Æ¤¤¤Þ¤¹" -#: ../eval.c:16619 -#, c-format -msgid "E706: Variable type mismatch for: %s" -msgstr "E706: ÊÑ¿ô¤Î·¿¤¬°ìÃפ·¤Þ¤»¤ó: %s" +msgid "E908: using an invalid value as a String" +msgstr "E908: ̵¸ú¤ÊÃͤòʸ»úÎó¤È¤·¤Æ°·¤Ã¤Æ¤¤¤Þ¤¹" -#: ../eval.c:16705 #, c-format msgid "E795: Cannot delete variable %s" msgstr "E795: ÊÑ¿ô %s ¤òºï½ü¤Ç¤¤Þ¤»¤ó" -#: ../eval.c:16724 #, c-format msgid "E704: Funcref variable name must start with a capital: %s" msgstr "E704: ´Ø¿ô»²¾È·¿ÊÑ¿ô̾¤ÏÂçʸ»ú¤Ç»Ï¤Þ¤é¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó: %s" -#: ../eval.c:16732 #, c-format msgid "E705: Variable name conflicts with existing function: %s" msgstr "E705: ÊÑ¿ô̾¤¬´û¸¤Î´Ø¿ô̾¤È¾×ÆÍ¤·¤Þ¤¹: %s" -#: ../eval.c:16763 #, c-format msgid "E741: Value is locked: %s" msgstr "E741: Ãͤ¬¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹: %s" -#: ../eval.c:16764 ../eval.c:16769 ../message.c:1839 msgid "Unknown" msgstr "ÉÔÌÀ" -#: ../eval.c:16768 #, c-format msgid "E742: Cannot change value of %s" msgstr "E742: %s ¤ÎÃͤòÊѹ¹¤Ç¤¤Þ¤»¤ó" -#: ../eval.c:16838 msgid "E698: variable nested too deep for making a copy" msgstr "E698: ¥³¥Ô¡¼¤ò¼è¤ë¤Ë¤ÏÊÑ¿ô¤ÎÆþ¤ì»Ò¤¬¿¼²á¤®¤Þ¤¹" -#: ../eval.c:17249 -#, c-format -msgid "E123: Undefined function: %s" -msgstr "E123: ̤ÄêµÁ¤Î´Ø¿ô¤Ç¤¹: %s" +msgid "" +"\n" +"# global variables:\n" +msgstr "" +"\n" +"# ¥°¥í¡¼¥Ð¥ëÊÑ¿ô:\n" -#: ../eval.c:17260 -#, c-format -msgid "E124: Missing '(': %s" -msgstr "E124: '(' ¤¬¤¢¤ê¤Þ¤»¤ó: %s" +msgid "" +"\n" +"\tLast set from " +msgstr "" +"\n" +"\tºÇ¸å¤Ë¥»¥Ã¥È¤·¤¿¥¹¥¯¥ê¥×¥È: " -#: ../eval.c:17293 -msgid "E862: Cannot use g: here" -msgstr "E862: ¤³¤³¤Ç¤Ï g: ¤Ï»È¤¨¤Þ¤»¤ó" +msgid "map() argument" +msgstr "map() ¤Î°ú¿ô" -#: ../eval.c:17312 -#, c-format -msgid "E125: Illegal argument: %s" -msgstr "E125: ÉÔÀµ¤Ê°ú¿ô¤Ç¤¹: %s" +msgid "filter() argument" +msgstr "filter() ¤Î°ú¿ô" -#: ../eval.c:17323 #, c-format -msgid "E853: Duplicate argument name: %s" -msgstr "E853: °ú¿ô̾¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹: %s" +msgid "E686: Argument of %s must be a List" +msgstr "E686: %s ¤Î°ú¿ô¤Ï¥ê¥¹¥È·¿¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó" -#: ../eval.c:17416 -msgid "E126: Missing :endfunction" -msgstr "E126: :endfunction ¤¬¤¢¤ê¤Þ¤»¤ó" +msgid "E928: String required" +msgstr "E928: ʸ»úÎó¤¬É¬ÍפǤ¹" -#: ../eval.c:17537 -#, c-format -msgid "E707: Function name conflicts with variable: %s" -msgstr "E707: ´Ø¿ô̾¤¬ÊÑ¿ô̾¤È¾×ÆÍ¤·¤Þ¤¹: %s" +msgid "E808: Number or Float required" +msgstr "E808: ¿ôÃͤ«ÉâÆ°¾®¿ôÅÀ¿ô¤¬É¬ÍפǤ¹" -#: ../eval.c:17549 -#, c-format -msgid "E127: Cannot redefine function %s: It is in use" -msgstr "E127: ´Ø¿ô %s ¤òºÆÄêµÁ¤Ç¤¤Þ¤»¤ó: »ÈÍÑÃæ¤Ç¤¹" +msgid "add() argument" +msgstr "add() ¤Î°ú¿ô" -#: ../eval.c:17604 -#, c-format -msgid "E746: Function name does not match script file name: %s" -msgstr "E746: ´Ø¿ô̾¤¬¥¹¥¯¥ê¥×¥È¤Î¥Õ¥¡¥¤¥ë̾¤È°ìÃפ·¤Þ¤»¤ó: %s" +msgid "E785: complete() can only be used in Insert mode" +msgstr "E785: complete() ¤ÏÁÞÆþ¥â¡¼¥É¤Ç¤·¤«ÍøÍѤǤ¤Þ¤»¤ó" -#: ../eval.c:17716 -msgid "E129: Function name required" -msgstr "E129: ´Ø¿ô̾¤¬Í׵ᤵ¤ì¤Þ¤¹" +#. +#. * Yes this is ugly, I don't particularly like it either. But doing it +#. * this way has the compelling advantage that translations need not to +#. * be touched at all. See below what 'ok' and 'ync' are used for. +#. +msgid "&Ok" +msgstr "&Ok" -#: ../eval.c:17824 #, c-format -msgid "E128: Function name must start with a capital or \"s:\": %s" -msgstr "E128: ´Ø¿ô̾¤ÏÂçʸ»ú¤« \"s:\" ¤Ç»Ï¤Þ¤é¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó: %s" +msgid "+-%s%3ld line: " +msgid_plural "+-%s%3ld lines: " +msgstr[0] "+-%s%3ld ¹Ô: " -#: ../eval.c:17833 #, c-format -msgid "E884: Function name cannot contain a colon: %s" -msgstr "E884: ´Ø¿ô̾¤Ë¤Ï¥³¥í¥ó¤Ï´Þ¤á¤é¤ì¤Þ¤»¤ó: %s" +msgid "E700: Unknown function: %s" +msgstr "E700: ̤ÃΤδؿô¤Ç¤¹: %s" -#: ../eval.c:18336 -#, c-format -msgid "E131: Cannot delete function %s: It is in use" -msgstr "E131: ´Ø¿ô %s ¤òºï½ü¤Ç¤¤Þ¤»¤ó: »ÈÍÑÃæ¤Ç¤¹" +msgid "E922: expected a dict" +msgstr "E922: ¼½ñ¤¬´üÂÔ¤µ¤ì¤Æ¤¤¤Þ¤¹" -#: ../eval.c:18441 -msgid "E132: Function call depth is higher than 'maxfuncdepth'" -msgstr "E132: ´Ø¿ô¸Æ½Ð¤ÎÆþ¤ì»Ò¿ô¤¬ 'maxfuncdepth' ¤òͤ¨¤Þ¤·¤¿" +msgid "E923: Second argument of function() must be a list or a dict" +msgstr "E923: function() ¤ÎÂè 2 °ú¿ô¤Ï¥ê¥¹¥È·¿¤Þ¤¿¤Ï¼½ñ·¿¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó" -#: ../eval.c:18568 -#, c-format -msgid "calling %s" -msgstr "%s ¤ò¼Â¹ÔÃæ¤Ç¤¹" +msgid "" +"&OK\n" +"&Cancel" +msgstr "" +"·èÄê(&O)\n" +"¥¥ã¥ó¥»¥ë(&C)" -#: ../eval.c:18651 -#, c-format -msgid "%s aborted" -msgstr "%s ¤¬ÃæÃǤµ¤ì¤Þ¤·¤¿" +msgid "called inputrestore() more often than inputsave()" +msgstr "inputrestore() ¤¬ inputsave() ¤è¤ê¤â¿¤¯¸Æ¤Ð¤ì¤Þ¤·¤¿" + +msgid "insert() argument" +msgstr "insert() ¤Î°ú¿ô" + +msgid "E786: Range not allowed" +msgstr "E786: ÈϰϻØÄê¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" + +msgid "E916: not a valid job" +msgstr "E916: ͸ú¤Ê¥¸¥ç¥Ö¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó" + +msgid "E701: Invalid type for len()" +msgstr "E701: len() ¤Ë¤Ï̵¸ú¤Ê·¿¤Ç¤¹" -#: ../eval.c:18653 #, c-format -msgid "%s returning #%<PRId64>" -msgstr "%s ¤¬ #%<PRId64> ¤òÊÖ¤·¤Þ¤·¤¿" +msgid "E798: ID is reserved for \":match\": %ld" +msgstr "E798: ID ¤Ï \":match\" ¤Î¤¿¤á¤ËͽÌó¤µ¤ì¤Æ¤¤¤Þ¤¹: %ld" + +msgid "E726: Stride is zero" +msgstr "E726: ¥¹¥È¥é¥¤¥É(Á°¿ÊÎÌ)¤¬ 0 ¤Ç¤¹" + +msgid "E727: Start past end" +msgstr "E727: ³«»Ï°ÌÃÖ¤¬½ªÎ»°ÌÃÖ¤ò±Û¤¨¤Þ¤·¤¿" + +msgid "<empty>" +msgstr "<¶õ>" + +msgid "E240: No connection to Vim server" +msgstr "E240: Vim ¥µ¡¼¥Ð¡¼¤Ø¤ÎÀܳ¤¬¤¢¤ê¤Þ¤»¤ó" -#: ../eval.c:18670 #, c-format -msgid "%s returning %s" -msgstr "%s ¤¬ %s ¤òÊÖ¤·¤Þ¤·¤¿" +msgid "E241: Unable to send to %s" +msgstr "E241: %s ¤ØÁ÷¤ë¤³¤È¤¬¤Ç¤¤Þ¤»¤ó" + +msgid "E277: Unable to read a server reply" +msgstr "E277: ¥µ¡¼¥Ð¡¼¤Î±þÅú¤¬¤¢¤ê¤Þ¤»¤ó" + +msgid "remove() argument" +msgstr "remove() ¤Î°ú¿ô" + +# Added at 10-Mar-2004. +msgid "E655: Too many symbolic links (cycle?)" +msgstr "E655: ¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤¬Â¿²á¤®¤Þ¤¹ (½Û´Ä¤·¤Æ¤¤¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹)" + +msgid "reverse() argument" +msgstr "reverse() ¤Î°ú¿ô" + +msgid "E258: Unable to send to client" +msgstr "E258: ¥¯¥é¥¤¥¢¥ó¥È¤ØÁ÷¤ë¤³¤È¤¬¤Ç¤¤Þ¤»¤ó" -#: ../eval.c:18691 ../ex_cmds2.c:2695 #, c-format -msgid "continuing in %s" -msgstr "%s ¤Î¼Â¹Ô¤ò·ÑÂ³Ãæ¤Ç¤¹" +msgid "E927: Invalid action: '%s'" +msgstr "E927: ̵¸ú¤ÊÁàºî¤Ç¤¹: %s" -#: ../eval.c:18795 -msgid "E133: :return not inside a function" -msgstr "E133: ´Ø¿ô³°¤Ë :return ¤¬¤¢¤ê¤Þ¤·¤¿" +msgid "sort() argument" +msgstr "sort() ¤Î°ú¿ô" -#: ../eval.c:19159 -msgid "" -"\n" -"# global variables:\n" -msgstr "" -"\n" -"# ¥°¥í¡¼¥Ð¥ëÊÑ¿ô:\n" +msgid "uniq() argument" +msgstr "uniq() ¤Î°ú¿ô" -#: ../eval.c:19254 -msgid "" -"\n" -"\tLast set from " -msgstr "" -"\n" -"\tLast set from " +msgid "E702: Sort compare function failed" +msgstr "E702: ¥½¡¼¥È¤ÎÈæ³Ó´Ø¿ô¤¬¼ºÇÔ¤·¤Þ¤·¤¿" -#: ../eval.c:19272 -msgid "No old files" -msgstr "¸Å¤¤¥Õ¥¡¥¤¥ë¤Ï¤¢¤ê¤Þ¤»¤ó" +msgid "E882: Uniq compare function failed" +msgstr "E882: Uniq ¤ÎÈæ³Ó´Ø¿ô¤¬¼ºÇÔ¤·¤Þ¤·¤¿" + +msgid "(Invalid)" +msgstr "(̵¸ú)" + +#, c-format +msgid "E935: invalid submatch number: %d" +msgstr "E935: ̵¸ú¤Ê¥µ¥Ö¥Þ¥Ã¥ÁÈÖ¹æ: %d" + +msgid "E677: Error writing temp file" +msgstr "E677: °ì»þ¥Õ¥¡¥¤¥ë½ñ¹þÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿" + +msgid "E921: Invalid callback argument" +msgstr "E921: ̵¸ú¤Ê¥³¡¼¥ë¥Ð¥Ã¥¯°ú¿ô¤Ç¤¹" -#: ../ex_cmds.c:122 #, c-format msgid "<%s>%s%s %d, Hex %02x, Octal %03o" msgstr "<%s>%s%s %d, 16¿Ê¿ô %02x, 8¿Ê¿ô %03o" -#: ../ex_cmds.c:145 #, c-format msgid "> %d, Hex %04x, Octal %o" msgstr "> %d, 16¿Ê¿ô %04x, 8¿Ê¿ô %o" -#: ../ex_cmds.c:146 #, c-format msgid "> %d, Hex %08x, Octal %o" msgstr "> %d, 16¿Ê¿ô %08x, 8¿Ê¿ô %o" -#: ../ex_cmds.c:684 msgid "E134: Move lines into themselves" msgstr "E134: ¹Ô¤ò¤½¤ì¼«¿È¤Ë¤Ï°Üư¤Ç¤¤Þ¤»¤ó" -#: ../ex_cmds.c:747 msgid "1 line moved" msgstr "1 ¹Ô¤¬°Üư¤µ¤ì¤Þ¤·¤¿" -#: ../ex_cmds.c:749 #, c-format -msgid "%<PRId64> lines moved" -msgstr "%<PRId64> ¹Ô¤¬°Üư¤µ¤ì¤Þ¤·¤¿" +msgid "%ld lines moved" +msgstr "%ld ¹Ô¤¬°Üư¤µ¤ì¤Þ¤·¤¿" -#: ../ex_cmds.c:1175 #, c-format -msgid "%<PRId64> lines filtered" -msgstr "%<PRId64> ¹Ô¤¬¥Õ¥£¥ë¥¿½èÍý¤µ¤ì¤Þ¤·¤¿" +msgid "%ld lines filtered" +msgstr "%ld ¹Ô¤¬¥Õ¥£¥ë¥¿½èÍý¤µ¤ì¤Þ¤·¤¿" -#: ../ex_cmds.c:1194 msgid "E135: *Filter* Autocommands must not change current buffer" msgstr "E135: *¥Õ¥£¥ë¥¿* autocommand¤Ï¸½ºß¤Î¥Ð¥Ã¥Õ¥¡¤òÊѹ¹¤·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó" -#: ../ex_cmds.c:1244 msgid "[No write since last change]\n" msgstr "[ºÇ¸å¤ÎÊѹ¹¤¬Êݸ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó]\n" -#: ../ex_cmds.c:1424 #, c-format msgid "%sviminfo: %s in line: " msgstr "%sviminfo: %s ¹ÔÌÜ: " -#: ../ex_cmds.c:1431 msgid "E136: viminfo: Too many errors, skipping rest of file" msgstr "E136: viminfo: ¥¨¥é¡¼¤¬Â¿²á¤®¤ë¤Î¤Ç, °Ê¹ß¤Ï¥¹¥¥Ã¥×¤·¤Þ¤¹" -#: ../ex_cmds.c:1458 #, c-format msgid "Reading viminfo file \"%s\"%s%s%s" msgstr "viminfo¥Õ¥¡¥¤¥ë \"%s\"%s%s%s ¤òÆÉ¹þ¤ßÃæ" -#: ../ex_cmds.c:1460 msgid " info" msgstr " ¾ðÊó" -#: ../ex_cmds.c:1461 msgid " marks" msgstr " ¥Þ¡¼¥¯" -#: ../ex_cmds.c:1462 msgid " oldfiles" msgstr " µì¥Õ¥¡¥¤¥ë·²" -#: ../ex_cmds.c:1463 msgid " FAILED" msgstr " ¼ºÇÔ" #. avoid a wait_return for this message, it's annoying -#: ../ex_cmds.c:1541 #, c-format msgid "E137: Viminfo file is not writable: %s" msgstr "E137: viminfo¥Õ¥¡¥¤¥ë¤¬½ñ¹þ¤ß¤Ç¤¤Þ¤»¤ó: %s" -#: ../ex_cmds.c:1626 +#, c-format +msgid "E929: Too many viminfo temp files, like %s!" +msgstr "E929: °ì»þviminfo¥Õ¥¡¥¤¥ë¤¬Â¿²á¤®¤Þ¤¹! Îã: %s" + #, c-format msgid "E138: Can't write viminfo file %s!" msgstr "E138: viminfo¥Õ¥¡¥¤¥ë %s ¤òÊݸ¤Ç¤¤Þ¤»¤ó!" -#: ../ex_cmds.c:1635 #, c-format msgid "Writing viminfo file \"%s\"" msgstr "viminfo¥Õ¥¡¥¤¥ë \"%s\" ¤ò½ñ¹þ¤ßÃæ" +#, c-format +msgid "E886: Can't rename viminfo file to %s!" +msgstr "E886: viminfo¥Õ¥¡¥¤¥ë¤ò %s ¤ØÌ¾Á°Êѹ¹¤Ç¤¤Þ¤»¤ó!" + #. Write the info: -#: ../ex_cmds.c:1720 #, c-format msgid "# This viminfo file was generated by Vim %s.\n" msgstr "# ¤³¤Î viminfo ¥Õ¥¡¥¤¥ë¤Ï Vim %s ¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤Þ¤·¤¿.\n" -#: ../ex_cmds.c:1722 msgid "" "# You may edit it if you're careful!\n" "\n" @@ -1144,47 +886,47 @@ msgstr "" "# Êѹ¹¤¹¤ëºÝ¤Ë¤Ï½½Ê¬Ãí°Õ¤·¤Æ¤¯¤À¤µ¤¤!\n" "\n" -#: ../ex_cmds.c:1723 msgid "# Value of 'encoding' when this file was written\n" msgstr "# ¤³¤Î¥Õ¥¡¥¤¥ë¤¬½ñ¤«¤ì¤¿»þ¤Î 'encoding' ¤ÎÃÍ\n" -#: ../ex_cmds.c:1800 msgid "Illegal starting char" msgstr "ÉÔÀµ¤ÊÀèÆ¬Ê¸»ú¤Ç¤¹" -#: ../ex_cmds.c:2162 +msgid "" +"\n" +"# Bar lines, copied verbatim:\n" +msgstr "" +"\n" +"# '|' ¤Ç»Ï¤Þ¤ë¹Ô¤Î¡¢Ê¸»úÄ̤ê¤Î¥³¥Ô¡¼:\n" + +msgid "Save As" +msgstr "ÊÌ̾¤ÇÊݸ" + msgid "Write partial file?" msgstr "¥Õ¥¡¥¤¥ë¤òÉôʬŪ¤ËÊݸ¤·¤Þ¤¹¤«?" -#: ../ex_cmds.c:2166 msgid "E140: Use ! to write partial buffer" msgstr "E140: ¥Ð¥Ã¥Õ¥¡¤òÉôʬŪ¤ËÊݸ¤¹¤ë¤Ë¤Ï ! ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤" -#: ../ex_cmds.c:2281 #, c-format msgid "Overwrite existing file \"%s\"?" msgstr "´û¸¤Î¥Õ¥¡¥¤¥ë \"%s\" ¤ò¾å½ñ¤¤·¤Þ¤¹¤«?" -#: ../ex_cmds.c:2317 #, c-format msgid "Swap file \"%s\" exists, overwrite anyway?" msgstr "¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë \"%s\" ¤¬Â¸ºß¤·¤Þ¤¹. ¾å½ñ¤¤ò¶¯À©¤·¤Þ¤¹¤«?" -#: ../ex_cmds.c:2326 #, c-format msgid "E768: Swap file exists: %s (:silent! overrides)" msgstr "E768: ¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Þ¤¹: %s (:silent! ¤òÄɲäǾå½ñ)" -#: ../ex_cmds.c:2381 #, c-format -msgid "E141: No file name for buffer %<PRId64>" -msgstr "E141: ¥Ð¥Ã¥Õ¥¡ %<PRId64> ¤Ë¤Ï̾Á°¤¬¤¢¤ê¤Þ¤»¤ó" +msgid "E141: No file name for buffer %ld" +msgstr "E141: ¥Ð¥Ã¥Õ¥¡ %ld ¤Ë¤Ï̾Á°¤¬¤¢¤ê¤Þ¤»¤ó" -#: ../ex_cmds.c:2412 msgid "E142: File not written: Writing is disabled by 'write' option" msgstr "E142: ¥Õ¥¡¥¤¥ë¤ÏÊݸ¤µ¤ì¤Þ¤»¤ó¤Ç¤·¤¿: 'write' ¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê̵¸ú¤Ç¤¹" -#: ../ex_cmds.c:2434 #, c-format msgid "" "'readonly' option is set for \"%s\".\n" @@ -1193,7 +935,6 @@ msgstr "" "\"%s\" ¤Ë¤Ï 'readonly' ¥ª¥×¥·¥ç¥ó¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹.\n" "¾å½ñ¤¶¯À©¤ò¤·¤Þ¤¹¤«?" -#: ../ex_cmds.c:2439 #, c-format msgid "" "File permissions of \"%s\" are read-only.\n" @@ -1204,83 +945,68 @@ msgstr "" "¤½¤ì¤Ç¤â¶²¤é¤¯½ñ¤¹þ¤à¤³¤È¤Ï²Äǽ¤Ç¤¹.\n" "·Ñ³¤·¤Þ¤¹¤«?" -#: ../ex_cmds.c:2451 #, c-format msgid "E505: \"%s\" is read-only (add ! to override)" msgstr "E505: \"%s\" ¤ÏÆÉ¹þÀìÍѤǤ¹ (¶¯À©½ñ¹þ¤Ë¤Ï ! ¤òÄɲÃ)" -#: ../ex_cmds.c:3120 +msgid "Edit File" +msgstr "¥Õ¥¡¥¤¥ë¤òÊÔ½¸" + #, c-format msgid "E143: Autocommands unexpectedly deleted new buffer %s" msgstr "E143: autocommand¤¬Í½´ü¤»¤º¿·¤·¤¤¥Ð¥Ã¥Õ¥¡ %s ¤òºï½ü¤·¤Þ¤·¤¿" -#: ../ex_cmds.c:3313 msgid "E144: non-numeric argument to :z" msgstr "E144: ¿ô¤Ç¤Ï¤Ê¤¤°ú¿ô¤¬ :z ¤ËÅϤµ¤ì¤Þ¤·¤¿" -#: ../ex_cmds.c:3404 msgid "E145: Shell commands not allowed in rvim" msgstr "E145: rvim¤Ç¤Ï¥·¥§¥ë¥³¥Þ¥ó¥É¤ò»È¤¨¤Þ¤»¤ó" -#: ../ex_cmds.c:3498 msgid "E146: Regular expressions can't be delimited by letters" msgstr "E146: Àµµ¬É½¸½¤Ïʸ»ú¤Ç¶èÀڤ뤳¤È¤¬¤Ç¤¤Þ¤»¤ó" -#: ../ex_cmds.c:3964 #, c-format msgid "replace with %s (y/n/a/q/l/^E/^Y)?" msgstr "%s ¤ËÃÖ´¹¤·¤Þ¤¹¤«? (y/n/a/q/l/^E/^Y)" -#: ../ex_cmds.c:4379 msgid "(Interrupted) " msgstr "(³ä¹þ¤Þ¤ì¤Þ¤·¤¿) " -#: ../ex_cmds.c:4384 msgid "1 match" msgstr "1 ²Õ½ê³ºÅö¤·¤Þ¤·¤¿" -#: ../ex_cmds.c:4384 msgid "1 substitution" msgstr "1 ²Õ½êÃÖ´¹¤·¤Þ¤·¤¿" -#: ../ex_cmds.c:4387 #, c-format -msgid "%<PRId64> matches" -msgstr "%<PRId64> ²Õ½ê³ºÅö¤·¤Þ¤·¤¿" +msgid "%ld matches" +msgstr "%ld ²Õ½ê³ºÅö¤·¤Þ¤·¤¿" -#: ../ex_cmds.c:4388 #, c-format -msgid "%<PRId64> substitutions" -msgstr "%<PRId64> ²Õ½êÃÖ´¹¤·¤Þ¤·¤¿" +msgid "%ld substitutions" +msgstr "%ld ²Õ½êÃÖ´¹¤·¤Þ¤·¤¿" -#: ../ex_cmds.c:4392 msgid " on 1 line" msgstr " (·× 1 ¹ÔÆâ)" -#: ../ex_cmds.c:4395 #, c-format -msgid " on %<PRId64> lines" -msgstr " (·× %<PRId64> ¹ÔÆâ)" +msgid " on %ld lines" +msgstr " (·× %ld ¹ÔÆâ)" -#: ../ex_cmds.c:4438 msgid "E147: Cannot do :global recursive" msgstr "E147: :global ¤òºÆµ¢Åª¤Ë¤Ï»È¤¨¤Þ¤»¤ó" -#: ../ex_cmds.c:4467 msgid "E148: Regular expression missing from global" msgstr "E148: global¥³¥Þ¥ó¥É¤ËÀµµ¬É½¸½¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó" -#: ../ex_cmds.c:4508 #, c-format msgid "Pattern found in every line: %s" msgstr "¥Ñ¥¿¡¼¥ó¤¬Á´¤Æ¤Î¹Ô¤Ç¸«¤Ä¤«¤ê¤Þ¤·¤¿: %s" -#: ../ex_cmds.c:4510 #, c-format msgid "Pattern not found: %s" msgstr "¥Ñ¥¿¡¼¥ó¤Ï¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿: %s" -#: ../ex_cmds.c:4587 msgid "" "\n" "# Last Substitute String:\n" @@ -1290,110 +1016,102 @@ msgstr "" "# ºÇ¸å¤ËÃÖ´¹¤µ¤ì¤¿Ê¸»úÎó:\n" "$" -#: ../ex_cmds.c:4679 msgid "E478: Don't panic!" msgstr "E478: ¹²¤Æ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤" -#: ../ex_cmds.c:4717 #, c-format msgid "E661: Sorry, no '%s' help for %s" msgstr "E661: »Äǰ¤Ç¤¹¤¬ '%s' ¤Î¥Ø¥ë¥×¤¬ %s ¤Ë¤Ï¤¢¤ê¤Þ¤»¤ó" -#: ../ex_cmds.c:4719 #, c-format msgid "E149: Sorry, no help for %s" msgstr "E149: »Äǰ¤Ç¤¹¤¬ %s ¤Ë¤Ï¥Ø¥ë¥×¤¬¤¢¤ê¤Þ¤»¤ó" -#: ../ex_cmds.c:4751 #, c-format msgid "Sorry, help file \"%s\" not found" msgstr "»Äǰ¤Ç¤¹¤¬¥Ø¥ë¥×¥Õ¥¡¥¤¥ë \"%s\" ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó" -#: ../ex_cmds.c:5323 #, c-format -msgid "E150: Not a directory: %s" -msgstr "E150: ¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó: %s" +msgid "E151: No match: %s" +msgstr "E151: ¥Þ¥Ã¥Á¤Ï¤¢¤ê¤Þ¤»¤ó: %s" -#: ../ex_cmds.c:5446 #, c-format msgid "E152: Cannot open %s for writing" msgstr "E152: ½ñ¹þ¤ßÍÑ¤Ë %s ¤ò³«¤±¤Þ¤»¤ó" -#: ../ex_cmds.c:5471 #, c-format msgid "E153: Unable to open %s for reading" msgstr "E153: ÆÉ¹þÍÑ¤Ë %s ¤ò³«¤±¤Þ¤»¤ó" # Added at 29-Apr-2004. -#: ../ex_cmds.c:5500 #, c-format msgid "E670: Mix of help file encodings within a language: %s" msgstr "E670: 1¤Ä¤Î¸À¸ì¤Î¥Ø¥ë¥×¥Õ¥¡¥¤¥ë¤ËÊ£¿ô¤Î¥¨¥ó¥³¡¼¥É¤¬º®ºß¤·¤Æ¤¤¤Þ¤¹: %s" -#: ../ex_cmds.c:5565 #, c-format msgid "E154: Duplicate tag \"%s\" in file %s/%s" msgstr "E154: ¥¿¥° \"%s\" ¤¬¥Õ¥¡¥¤¥ë %s/%s ¤Ë½ÅÊ£¤·¤Æ¤¤¤Þ¤¹" -#: ../ex_cmds.c:5687 +#, c-format +msgid "E150: Not a directory: %s" +msgstr "E150: ¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó: %s" + #, c-format msgid "E160: Unknown sign command: %s" msgstr "E160: ̤ÃΤÎsign¥³¥Þ¥ó¥É¤Ç¤¹: %s" -#: ../ex_cmds.c:5704 msgid "E156: Missing sign name" msgstr "E156: sign̾¤¬¤¢¤ê¤Þ¤»¤ó" -#: ../ex_cmds.c:5746 msgid "E612: Too many signs defined" msgstr "E612: sign¤ÎÄêµÁ¤¬Â¿¿ô¸«¤Ä¤«¤ê¤Þ¤·¤¿" -#: ../ex_cmds.c:5813 #, c-format msgid "E239: Invalid sign text: %s" msgstr "E239: ̵¸ú¤Êsign¤Î¥Æ¥¥¹¥È¤Ç¤¹: %s" -#: ../ex_cmds.c:5844 ../ex_cmds.c:6035 #, c-format msgid "E155: Unknown sign: %s" msgstr "E155: ̤ÃΤÎsign¤Ç¤¹: %s" -#: ../ex_cmds.c:5877 msgid "E159: Missing sign number" msgstr "E159: sign¤ÎÈֹ椬¤¢¤ê¤Þ¤»¤ó" -#: ../ex_cmds.c:5971 #, c-format msgid "E158: Invalid buffer name: %s" msgstr "E158: ̵¸ú¤Ê¥Ð¥Ã¥Õ¥¡Ì¾¤Ç¤¹: %s" -#: ../ex_cmds.c:6008 +msgid "E934: Cannot jump to a buffer that does not have a name" +msgstr "E934: ̾Á°¤Î̵¤¤¥Ð¥Ã¥Õ¥¡¤Ø¤Ï¥¸¥ã¥ó¥×¤Ç¤¤Þ¤»¤ó" + #, c-format -msgid "E157: Invalid sign ID: %<PRId64>" -msgstr "E157: ̵¸ú¤Êsign¼±Ê̻ҤǤ¹: %<PRId64>" +msgid "E157: Invalid sign ID: %ld" +msgstr "E157: ̵¸ú¤Êsign¼±Ê̻ҤǤ¹: %ld" #, c-format msgid "E885: Not possible to change sign %s" msgstr "E885: Êѹ¹¤Ç¤¤Ê¤¤ sign ¤Ç¤¹: %s" -#: ../ex_cmds.c:6066 +# Added at 27-Jan-2004. +msgid " (NOT FOUND)" +msgstr " (¸«¤Ä¤«¤ê¤Þ¤»¤ó)" + msgid " (not supported)" msgstr " (È󥵥ݡ¼¥È)" -#: ../ex_cmds.c:6169 msgid "[Deleted]" msgstr "[ºï½üºÑ]" -#: ../ex_cmds2.c:139 +msgid "No old files" +msgstr "¸Å¤¤¥Õ¥¡¥¤¥ë¤Ï¤¢¤ê¤Þ¤»¤ó" + msgid "Entering Debug mode. Type \"cont\" to continue." msgstr "¥Ç¥Ð¥Ã¥°¥â¡¼¥É¤ËÆþ¤ê¤Þ¤¹. ³¤±¤ë¤Ë¤Ï \"cont\" ¤ÈÆþÎϤ·¤Æ¤¯¤À¤µ¤¤." -#: ../ex_cmds2.c:143 ../ex_docmd.c:759 #, c-format -msgid "line %<PRId64>: %s" -msgstr "¹Ô %<PRId64>: %s" +msgid "line %ld: %s" +msgstr "¹Ô %ld: %s" -#: ../ex_cmds2.c:145 #, c-format msgid "cmd: %s" msgstr "¥³¥Þ¥ó¥É: %s" @@ -1405,232 +1123,184 @@ msgstr "¥Õ¥ì¡¼¥à¤¬ 0 ¤Ç¤¹" msgid "frame at highest level: %d" msgstr "ºÇ¹â¥ì¥Ù¥ë¤Î¥Õ¥ì¡¼¥à: %d" -#: ../ex_cmds2.c:322 #, c-format -msgid "Breakpoint in \"%s%s\" line %<PRId64>" -msgstr "¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È \"%s%s\" ¹Ô %<PRId64>" +msgid "Breakpoint in \"%s%s\" line %ld" +msgstr "¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È \"%s%s\" ¹Ô %ld" -#: ../ex_cmds2.c:581 #, c-format msgid "E161: Breakpoint not found: %s" msgstr "E161: ¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: %s" -#: ../ex_cmds2.c:611 msgid "No breakpoints defined" msgstr "¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" -#: ../ex_cmds2.c:617 #, c-format -msgid "%3d %s %s line %<PRId64>" -msgstr "%3d %s %s ¹Ô %<PRId64>" +msgid "%3d %s %s line %ld" +msgstr "%3d %s %s ¹Ô %ld" -#: ../ex_cmds2.c:942 msgid "E750: First use \":profile start {fname}\"" msgstr "E750: ½é¤á¤Ë \":profile start {fname}\" ¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤" -#: ../ex_cmds2.c:1269 #, c-format msgid "Save changes to \"%s\"?" msgstr "Êѹ¹¤ò \"%s\" ¤ËÊݸ¤·¤Þ¤¹¤«?" -#: ../ex_cmds2.c:1271 ../ex_docmd.c:8851 msgid "Untitled" msgstr "̵Âê" -#: ../ex_cmds2.c:1421 #, c-format msgid "E162: No write since last change for buffer \"%s\"" msgstr "E162: ¥Ð¥Ã¥Õ¥¡ \"%s\" ¤ÎÊѹ¹¤ÏÊݸ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" -#: ../ex_cmds2.c:1480 msgid "Warning: Entered other buffer unexpectedly (check autocommands)" msgstr "·Ù¹ð: ͽ´ü¤»¤ºÂ¾¥Ð¥Ã¥Õ¥¡¤Ø°Üư¤·¤Þ¤·¤¿ (autocommands ¤òÄ´¤Ù¤Æ¤¯¤À¤µ¤¤)" -#: ../ex_cmds2.c:1826 msgid "E163: There is only one file to edit" msgstr "E163: ÊÔ½¸¤¹¤ë¥Õ¥¡¥¤¥ë¤Ï1¤Ä¤·¤«¤¢¤ê¤Þ¤»¤ó" -#: ../ex_cmds2.c:1828 msgid "E164: Cannot go before first file" msgstr "E164: ºÇ½é¤Î¥Õ¥¡¥¤¥ë¤è¤êÁ°¤Ë¤Ï¹Ô¤±¤Þ¤»¤ó" -#: ../ex_cmds2.c:1830 msgid "E165: Cannot go beyond last file" msgstr "E165: ºÇ¸å¤Î¥Õ¥¡¥¤¥ë¤ò±Û¤¨¤Æ¸å¤Ë¤Ï¹Ô¤±¤Þ¤»¤ó" -#: ../ex_cmds2.c:2175 #, c-format msgid "E666: compiler not supported: %s" msgstr "E666: ¤½¤Î¥³¥ó¥Ñ¥¤¥é¤Ë¤ÏÂбþ¤·¤Æ¤¤¤Þ¤»¤ó: %s" -#: ../ex_cmds2.c:2257 #, c-format msgid "Searching for \"%s\" in \"%s\"" msgstr "\"%s\" ¤ò \"%s\" ¤«¤é¸¡º÷Ãæ" -#: ../ex_cmds2.c:2284 #, c-format msgid "Searching for \"%s\"" msgstr "\"%s\" ¤ò¸¡º÷Ãæ" -#: ../ex_cmds2.c:2307 #, c-format -msgid "not found in 'runtimepath': \"%s\"" -msgstr "'runtimepath' ¤ÎÃæ¤Ë¤Ï¸«¤Ä¤«¤ê¤Þ¤»¤ó: \"%s\"" +msgid "not found in '%s': \"%s\"" +msgstr "'%s' ¤ÎÃæ¤Ë¤Ï¤¢¤ê¤Þ¤»¤ó: \"%s\"" + +msgid "Source Vim script" +msgstr "Vim¥¹¥¯¥ê¥×¥È¤Î¼è¹þ¤ß" -#: ../ex_cmds2.c:2472 #, c-format msgid "Cannot source a directory: \"%s\"" msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤Ï¼è¹þ¤á¤Þ¤»¤ó: \"%s\"" -#: ../ex_cmds2.c:2518 #, c-format msgid "could not source \"%s\"" msgstr "\"%s\" ¤ò¼è¹þ¤á¤Þ¤»¤ó" -#: ../ex_cmds2.c:2520 #, c-format -msgid "line %<PRId64>: could not source \"%s\"" -msgstr "¹Ô %<PRId64>: \"%s\" ¤ò¼è¹þ¤á¤Þ¤»¤ó" +msgid "line %ld: could not source \"%s\"" +msgstr "¹Ô %ld: \"%s\" ¤ò¼è¹þ¤á¤Þ¤»¤ó" -#: ../ex_cmds2.c:2535 #, c-format msgid "sourcing \"%s\"" msgstr "\"%s\" ¤ò¼è¹þÃæ" -#: ../ex_cmds2.c:2537 #, c-format -msgid "line %<PRId64>: sourcing \"%s\"" -msgstr "¹Ô %<PRId64>: %s ¤ò¼è¹þÃæ" +msgid "line %ld: sourcing \"%s\"" +msgstr "¹Ô %ld: %s ¤ò¼è¹þÃæ" -#: ../ex_cmds2.c:2693 #, c-format msgid "finished sourcing %s" msgstr "%s ¤Î¼è¹þ¤ò´°Î»" -#: ../ex_cmds2.c:2765 +#, c-format +msgid "continuing in %s" +msgstr "%s ¤Î¼Â¹Ô¤ò·ÑÂ³Ãæ¤Ç¤¹" + msgid "modeline" msgstr "¥â¡¼¥É¹Ô" -#: ../ex_cmds2.c:2767 msgid "--cmd argument" msgstr "--cmd °ú¿ô" -#: ../ex_cmds2.c:2769 msgid "-c argument" msgstr "-c °ú¿ô" -#: ../ex_cmds2.c:2771 msgid "environment variable" msgstr "´Ä¶ÊÑ¿ô" -#: ../ex_cmds2.c:2773 msgid "error handler" msgstr "¥¨¥é¡¼¥Ï¥ó¥É¥é" -#: ../ex_cmds2.c:3020 msgid "W15: Warning: Wrong line separator, ^M may be missing" msgstr "W15: ·Ù¹ð: ¹Ô¶èÀÚ¤¬ÉÔÀµ¤Ç¤¹. ^M ¤¬¤Ê¤¤¤Î¤Ç¤·¤ç¤¦" -#: ../ex_cmds2.c:3139 msgid "E167: :scriptencoding used outside of a sourced file" msgstr "E167: :scriptencoding ¤¬¼è¹þ¥¹¥¯¥ê¥×¥È°Ê³°¤Ç»ÈÍѤµ¤ì¤Þ¤·¤¿" -#: ../ex_cmds2.c:3166 msgid "E168: :finish used outside of a sourced file" msgstr "E168: :finish ¤¬¼è¹þ¥¹¥¯¥ê¥×¥È°Ê³°¤Ç»ÈÍѤµ¤ì¤Þ¤·¤¿" -#: ../ex_cmds2.c:3389 #, c-format msgid "Current %slanguage: \"%s\"" msgstr "¸½ºß¤Î %s¸À¸ì: \"%s\"" -#: ../ex_cmds2.c:3404 #, c-format msgid "E197: Cannot set language to \"%s\"" msgstr "E197: ¸À¸ì¤ò \"%s\" ¤ËÀßÄê¤Ç¤¤Þ¤»¤ó" -#. don't redisplay the window -#. don't wait for return -#: ../ex_docmd.c:387 msgid "Entering Ex mode. Type \"visual\" to go to Normal mode." msgstr "" "Ex¥â¡¼¥É¤ËÆþ¤ê¤Þ¤¹. ¥Î¡¼¥Þ¥ë¥â¡¼¥É¤ËÌá¤ë¤Ë¤Ï\"visual\"¤ÈÆþÎϤ·¤Æ¤¯¤À¤µ¤¤." -#: ../ex_docmd.c:428 msgid "E501: At end-of-file" msgstr "E501: ¥Õ¥¡¥¤¥ë¤Î½ªÎ»°ÌÃÖ" -#: ../ex_docmd.c:513 msgid "E169: Command too recursive" msgstr "E169: ¥³¥Þ¥ó¥É¤¬ºÆµ¢Åª²á¤®¤Þ¤¹" -#: ../ex_docmd.c:1006 #, c-format msgid "E605: Exception not caught: %s" msgstr "E605: Îã³°¤¬Ê᪤µ¤ì¤Þ¤»¤ó¤Ç¤·¤¿: %s" -#: ../ex_docmd.c:1085 msgid "End of sourced file" msgstr "¼è¹þ¥Õ¥¡¥¤¥ë¤ÎºÇ¸å¤Ç¤¹" -#: ../ex_docmd.c:1086 msgid "End of function" msgstr "´Ø¿ô¤ÎºÇ¸å¤Ç¤¹" -#: ../ex_docmd.c:1628 msgid "E464: Ambiguous use of user-defined command" msgstr "E464: ¥æ¡¼¥¶¡¼ÄêµÁ¥³¥Þ¥ó¥É¤Î¤¢¤¤¤Þ¤¤¤Ê»ÈÍѤǤ¹" -#: ../ex_docmd.c:1638 msgid "E492: Not an editor command" msgstr "E492: ¥¨¥Ç¥£¥¿¤Î¥³¥Þ¥ó¥É¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó" -#: ../ex_docmd.c:1729 msgid "E493: Backwards range given" msgstr "E493: µÕ¤µ¤Þ¤ÎÈϰϤ¬»ØÄꤵ¤ì¤Þ¤·¤¿" -#: ../ex_docmd.c:1733 msgid "Backwards range given, OK to swap" msgstr "µÕ¤µ¤Þ¤ÎÈϰϤ¬»ØÄꤵ¤ì¤Þ¤·¤¿, ÆþÂØ¤¨¤Þ¤¹¤«?" -#. append -#. typed wrong -#: ../ex_docmd.c:1787 msgid "E494: Use w or w>>" msgstr "E494: w ¤â¤·¤¯¤Ï w>> ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤" -#: ../ex_docmd.c:3454 -msgid "E319: The command is not available in this version" +msgid "E319: Sorry, the command is not available in this version" msgstr "E319: ¤³¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¤³¤Î¥³¥Þ¥ó¥É¤ÏÍøÍѤǤ¤Þ¤»¤ó, ¤´¤á¤ó¤Ê¤µ¤¤" -#: ../ex_docmd.c:3752 msgid "E172: Only one file name allowed" msgstr "E172: ¥Õ¥¡¥¤¥ë̾¤Ï 1 ¤Ä¤Ë¤·¤Æ¤¯¤À¤µ¤¤" -#: ../ex_docmd.c:4238 msgid "1 more file to edit. Quit anyway?" msgstr "ÊÔ½¸¤¹¤Ù¤¥Õ¥¡¥¤¥ë¤¬ 1 ¸Ä¤¢¤ê¤Þ¤¹¤¬, ½ªÎ»¤·¤Þ¤¹¤«?" -#: ../ex_docmd.c:4242 #, c-format msgid "%d more files to edit. Quit anyway?" msgstr "ÊÔ½¸¤¹¤Ù¤¥Õ¥¡¥¤¥ë¤¬¤¢¤È %d ¸Ä¤¢¤ê¤Þ¤¹¤¬, ½ªÎ»¤·¤Þ¤¹¤«?" -#: ../ex_docmd.c:4248 msgid "E173: 1 more file to edit" msgstr "E173: ÊÔ½¸¤¹¤Ù¤¥Õ¥¡¥¤¥ë¤¬ 1 ¸Ä¤¢¤ê¤Þ¤¹" -#: ../ex_docmd.c:4250 #, c-format -msgid "E173: %<PRId64> more files to edit" -msgstr "E173: ÊÔ½¸¤¹¤Ù¤¥Õ¥¡¥¤¥ë¤¬¤¢¤È %<PRId64> ¸Ä¤¢¤ê¤Þ¤¹" +msgid "E173: %ld more files to edit" +msgstr "E173: ÊÔ½¸¤¹¤Ù¤¥Õ¥¡¥¤¥ë¤¬¤¢¤È %ld ¸Ä¤¢¤ê¤Þ¤¹" -#: ../ex_docmd.c:4320 msgid "E174: Command already exists: add ! to replace it" msgstr "E174: ¥³¥Þ¥ó¥É¤¬´û¤Ë¤¢¤ê¤Þ¤¹: ºÆÄêµÁ¤¹¤ë¤Ë¤Ï ! ¤òÄɲ䷤Ƥ¯¤À¤µ¤¤" -#: ../ex_docmd.c:4432 msgid "" "\n" " Name Args Address Complete Definition" @@ -1638,51 +1308,40 @@ msgstr "" "\n" " ̾Á° °ú¿ô ¥¢¥É¥ì¥¹ Êä´° ÄêµÁ" -#: ../ex_docmd.c:4516 msgid "No user-defined commands found" msgstr "¥æ¡¼¥¶¡¼ÄêµÁ¥³¥Þ¥ó¥É¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿" -#: ../ex_docmd.c:4538 msgid "E175: No attribute specified" msgstr "E175: °À¤ÏÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" -#: ../ex_docmd.c:4583 msgid "E176: Invalid number of arguments" msgstr "E176: °ú¿ô¤Î¿ô¤¬Ìµ¸ú¤Ç¤¹" -#: ../ex_docmd.c:4594 msgid "E177: Count cannot be specified twice" msgstr "E177: ¥«¥¦¥ó¥È¤ò2½Å»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó" -#: ../ex_docmd.c:4603 msgid "E178: Invalid default value for count" msgstr "E178: ¥«¥¦¥ó¥È¤Î¾ÊάÃͤ¬Ìµ¸ú¤Ç¤¹" -#: ../ex_docmd.c:4625 msgid "E179: argument required for -complete" msgstr "E179: -complete ¤Ë¤Ï°ú¿ô¤¬É¬ÍפǤ¹" msgid "E179: argument required for -addr" msgstr "E179: -addr ¤Ë¤Ï°ú¿ô¤¬É¬ÍפǤ¹" -#: ../ex_docmd.c:4635 #, c-format msgid "E181: Invalid attribute: %s" msgstr "E181: ̵¸ú¤Ê°À¤Ç¤¹: %s" -#: ../ex_docmd.c:4678 msgid "E182: Invalid command name" msgstr "E182: ̵¸ú¤Ê¥³¥Þ¥ó¥É̾¤Ç¤¹" -#: ../ex_docmd.c:4691 msgid "E183: User defined commands must start with an uppercase letter" -msgstr "E183: ¥æ¡¼¥¶ÄêµÁ¥³¥Þ¥ó¥É¤Ï±ÑÂçʸ»ú¤Ç»Ï¤Þ¤é¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó" +msgstr "E183: ¥æ¡¼¥¶¡¼ÄêµÁ¥³¥Þ¥ó¥É¤Ï±ÑÂçʸ»ú¤Ç»Ï¤Þ¤é¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó" -#: ../ex_docmd.c:4696 msgid "E841: Reserved name, cannot be used for user defined command" msgstr "E841: ͽÌó̾¤Ê¤Î¤Ç, ¥æ¡¼¥¶¡¼ÄêµÁ¥³¥Þ¥ó¥É¤ËÍøÍѤǤ¤Þ¤»¤ó" -#: ../ex_docmd.c:4751 #, c-format msgid "E184: No such user-defined command: %s" msgstr "E184: ¤½¤Î¥æ¡¼¥¶¡¼ÄêµÁ¥³¥Þ¥ó¥É¤Ï¤¢¤ê¤Þ¤»¤ó: %s" @@ -1691,293 +1350,261 @@ msgstr "E184: ¤½¤Î¥æ¡¼¥¶¡¼ÄêµÁ¥³¥Þ¥ó¥É¤Ï¤¢¤ê¤Þ¤»¤ó: %s" msgid "E180: Invalid address type value: %s" msgstr "E180: ̵¸ú¤Ê¥¢¥É¥ì¥¹¥¿¥¤¥×ÃͤǤ¹: %s" -#: ../ex_docmd.c:5219 #, c-format msgid "E180: Invalid complete value: %s" msgstr "E180: ̵¸ú¤ÊÊä´°»ØÄê¤Ç¤¹: %s" -#: ../ex_docmd.c:5225 msgid "E468: Completion argument only allowed for custom completion" msgstr "E468: Êä´°°ú¿ô¤Ï¥«¥¹¥¿¥àÊä´°¤Ç¤·¤«»ÈÍѤǤ¤Þ¤»¤ó" -#: ../ex_docmd.c:5231 msgid "E467: Custom completion requires a function argument" msgstr "E467: ¥«¥¹¥¿¥àÊä´°¤Ë¤Ï°ú¿ô¤È¤·¤Æ´Ø¿ô¤¬É¬ÍפǤ¹" -#: ../ex_docmd.c:5257 +msgid "unknown" +msgstr "ÉÔÌÀ" + #, c-format msgid "E185: Cannot find color scheme '%s'" msgstr "E185: ¥«¥é¡¼¥¹¥¡¼¥à '%s' ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó" -#: ../ex_docmd.c:5263 msgid "Greetings, Vim user!" msgstr "Vim »È¤¤¤µ¤ó¡¢¤ä¤¢!" -#: ../ex_docmd.c:5431 msgid "E784: Cannot close last tab page" msgstr "E784: ºÇ¸å¤Î¥¿¥Ö¥Ú¡¼¥¸¤òÊĤ¸¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó" -#: ../ex_docmd.c:5462 msgid "Already only one tab page" msgstr "´û¤Ë¥¿¥Ö¥Ú¡¼¥¸¤Ï1¤Ä¤·¤«¤¢¤ê¤Þ¤»¤ó" -#: ../ex_docmd.c:6004 +msgid "Edit File in new window" +msgstr "¿·¤·¤¤¥¦¥£¥ó¥É¥¦¤Ç¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤·¤Þ¤¹" + #, c-format msgid "Tab page %d" msgstr "¥¿¥Ö¥Ú¡¼¥¸ %d" -#: ../ex_docmd.c:6295 msgid "No swap file" msgstr "¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó" -#: ../ex_docmd.c:6478 +msgid "Append File" +msgstr "Äɲåե¡¥¤¥ë" + msgid "E747: Cannot change directory, buffer is modified (add ! to override)" msgstr "" "E747: ¥Ð¥Ã¥Õ¥¡¤¬½¤Àµ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç, ¥Ç¥£¥ì¥¯¥È¥ê¤òÊѹ¹¤Ç¤¤Þ¤»¤ó (! ¤òÄɲäÇ" "¾å½ñ)" -#: ../ex_docmd.c:6485 msgid "E186: No previous directory" msgstr "E186: Á°¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ï¤¢¤ê¤Þ¤»¤ó" -#: ../ex_docmd.c:6530 msgid "E187: Unknown" msgstr "E187: ̤ÃÎ" -#: ../ex_docmd.c:6610 msgid "E465: :winsize requires two number arguments" msgstr "E465: :winsize ¤Ë¤Ï2¤Ä¤Î¿ôÃͤΰú¿ô¤¬É¬ÍפǤ¹" -#: ../ex_docmd.c:6655 +#, c-format +msgid "Window position: X %d, Y %d" +msgstr "¥¦¥£¥ó¥É¥¦°ÌÃÖ: X %d, Y %d" + msgid "E188: Obtaining window position not implemented for this platform" msgstr "" "E188: ¤³¤Î¥×¥é¥Ã¥È¥Û¡¼¥à¤Ë¤Ï¥¦¥£¥ó¥É¥¦°ÌÃ֤μèÆÀµ¡Ç½¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" -#: ../ex_docmd.c:6662 msgid "E466: :winpos requires two number arguments" msgstr "E466: :winpos ¤Ë¤Ï2¤Ä¤Î¿ôÃͤΰú¿ô¤¬É¬ÍפǤ¹" -#: ../ex_docmd.c:7241 +msgid "E930: Cannot use :redir inside execute()" +msgstr "E930: execute() ¤ÎÃæ¤Ç¤Ï :redir ¤Ï»È¤¨¤Þ¤»¤ó" + +msgid "Save Redirection" +msgstr "¥ê¥À¥¤¥ì¥¯¥È¤òÊݸ¤·¤Þ¤¹" + +msgid "Save View" +msgstr "¥Ó¥å¡¼¤òÊݸ¤·¤Þ¤¹" + +msgid "Save Session" +msgstr "¥»¥Ã¥·¥ç¥ó¾ðÊó¤òÊݸ¤·¤Þ¤¹" + +msgid "Save Setup" +msgstr "ÀßÄê¤òÊݸ¤·¤Þ¤¹" + #, c-format msgid "E739: Cannot create directory: %s" msgstr "E739: ¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤Ç¤¤Þ¤»¤ó: %s" -#: ../ex_docmd.c:7268 #, c-format msgid "E189: \"%s\" exists (add ! to override)" msgstr "E189: \"%s\" ¤¬Â¸ºß¤·¤Þ¤¹ (¾å½ñ¤¹¤ë¤Ë¤Ï ! ¤òÄɲ䷤Ƥ¯¤À¤µ¤¤)" -#: ../ex_docmd.c:7273 #, c-format msgid "E190: Cannot open \"%s\" for writing" msgstr "E190: \"%s\" ¤ò½ñ¹þ¤ßÍѤȤ·¤Æ³«¤±¤Þ¤»¤ó" #. set mark -#: ../ex_docmd.c:7294 msgid "E191: Argument must be a letter or forward/backward quote" msgstr "E191: °ú¿ô¤Ï1ʸ»ú¤Î±Ñ»ú¤«°úÍÑÉä (' ¤« `) ¤Ç¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó" -#: ../ex_docmd.c:7333 msgid "E192: Recursive use of :normal too deep" msgstr "E192: :normal ¤ÎºÆµ¢ÍøÍѤ¬¿¼¤¯¤Ê¤ê²á¤®¤Þ¤·¤¿" -#: ../ex_docmd.c:7807 +msgid "E809: #< is not available without the +eval feature" +msgstr "E809: #< ¤Ï +eval µ¡Ç½¤¬Ìµ¤¤¤ÈÍøÍѤǤ¤Þ¤»¤ó" + msgid "E194: No alternate file name to substitute for '#'" msgstr "E194: '#'¤òÃÖ¤´¹¤¨¤ëÉû¥Õ¥¡¥¤¥ë¤Î̾Á°¤¬¤¢¤ê¤Þ¤»¤ó" -#: ../ex_docmd.c:7841 msgid "E495: no autocommand file name to substitute for \"<afile>\"" msgstr "E495: \"<afile>\"¤òÃÖ¤´¹¤¨¤ëautocommand¤Î¥Õ¥¡¥¤¥ë̾¤¬¤¢¤ê¤Þ¤»¤ó" -#: ../ex_docmd.c:7850 msgid "E496: no autocommand buffer number to substitute for \"<abuf>\"" msgstr "E496: \"<abuf>\"¤òÃÖ¤´¹¤¨¤ëautocommand¥Ð¥Ã¥Õ¥¡Èֹ椬¤¢¤ê¤Þ¤»¤ó" -#: ../ex_docmd.c:7861 msgid "E497: no autocommand match name to substitute for \"<amatch>\"" msgstr "E497: \"<amatch>\"¤òÃÖ¤´¹¤¨¤ëautocommand¤Î³ºÅö̾¤¬¤¢¤ê¤Þ¤»¤ó" -#: ../ex_docmd.c:7870 msgid "E498: no :source file name to substitute for \"<sfile>\"" msgstr "E498: \"<sfile>\"¤òÃÖ¤´¹¤¨¤ë :source Âоݥե¡¥¤¥ë̾¤¬¤¢¤ê¤Þ¤»¤ó" -#: ../ex_docmd.c:7876 msgid "E842: no line number to use for \"<slnum>\"" msgstr "E842: \"<slnum>\"¤òÃÖ¤´¹¤¨¤ë¹ÔÈֹ椬¤¢¤ê¤Þ¤»¤ó" -#: ../ex_docmd.c:7903 -#, fuzzy, c-format +#, no-c-format msgid "E499: Empty file name for '%' or '#', only works with \":p:h\"" msgstr "" "E499: '%' ¤ä '#' ¤¬ÌµÌ¾¥Õ¥¡¥¤¥ë¤Ê¤Î¤Ç \":p:h\" ¤òȼ¤ï¤Ê¤¤»È¤¤Êý¤Ï¤Ç¤¤Þ¤»¤ó" -#: ../ex_docmd.c:7905 msgid "E500: Evaluates to an empty string" msgstr "E500: ¶õʸ»úÎó¤È¤·¤ÆÉ¾²Á¤µ¤ì¤Þ¤·¤¿" -#: ../ex_docmd.c:8838 msgid "E195: Cannot open viminfo file for reading" msgstr "E195: viminfo¥Õ¥¡¥¤¥ë¤òÆÉ¹þÍѤȤ·¤Æ³«¤±¤Þ¤»¤ó" -#: ../ex_eval.c:464 +msgid "E196: No digraphs in this version" +msgstr "E196: ¤³¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë¹ç»ú¤Ï¤¢¤ê¤Þ¤»¤ó" + msgid "E608: Cannot :throw exceptions with 'Vim' prefix" msgstr "E608: 'Vim' ¤Ç»Ï¤Þ¤ëÎã³°¤Ï :throw ¤Ç¤¤Þ¤»¤ó" #. always scroll up, don't overwrite -#: ../ex_eval.c:496 #, c-format msgid "Exception thrown: %s" msgstr "Îã³°¤¬È¯À¸¤·¤Þ¤·¤¿: %s" -#: ../ex_eval.c:545 #, c-format msgid "Exception finished: %s" msgstr "Îã³°¤¬¼ý«¤·¤Þ¤·¤¿: %s" -#: ../ex_eval.c:546 #, c-format msgid "Exception discarded: %s" msgstr "Îã³°¤¬ÇË´þ¤µ¤ì¤Þ¤·¤¿: %s" -#: ../ex_eval.c:588 ../ex_eval.c:634 #, c-format -msgid "%s, line %<PRId64>" -msgstr "%s, ¹Ô %<PRId64>" +msgid "%s, line %ld" +msgstr "%s, ¹Ô %ld" #. always scroll up, don't overwrite -#: ../ex_eval.c:608 #, c-format msgid "Exception caught: %s" msgstr "Îã³°¤¬Ê᪤µ¤ì¤Þ¤·¤¿: %s" -#: ../ex_eval.c:676 #, c-format msgid "%s made pending" msgstr "%s ¤Ë¤è¤ê̤·èÄê¾õÂÖ¤¬À¸¤¸¤Þ¤·¤¿" -#: ../ex_eval.c:679 #, c-format msgid "%s resumed" msgstr "%s ¤¬ºÆ³«¤·¤Þ¤·¤¿" -#: ../ex_eval.c:683 #, c-format msgid "%s discarded" msgstr "%s ¤¬ÇË´þ¤µ¤ì¤Þ¤·¤¿" -#: ../ex_eval.c:708 msgid "Exception" msgstr "Îã³°" -#: ../ex_eval.c:713 msgid "Error and interrupt" msgstr "¥¨¥é¡¼¤È³ä¹þ¤ß" -#: ../ex_eval.c:715 msgid "Error" msgstr "¥¨¥é¡¼" #. if (pending & CSTP_INTERRUPT) -#: ../ex_eval.c:717 msgid "Interrupt" msgstr "³ä¹þ¤ß" -#: ../ex_eval.c:795 msgid "E579: :if nesting too deep" msgstr "E579: :if ¤ÎÆþ¤ì»Ò¤¬¿¼²á¤®¤Þ¤¹" -#: ../ex_eval.c:830 msgid "E580: :endif without :if" msgstr "E580: :if ¤Î¤Ê¤¤ :endif ¤¬¤¢¤ê¤Þ¤¹" -#: ../ex_eval.c:873 msgid "E581: :else without :if" msgstr "E581: :if ¤Î¤Ê¤¤ :else ¤¬¤¢¤ê¤Þ¤¹" -#: ../ex_eval.c:876 msgid "E582: :elseif without :if" msgstr "E582: :if ¤Î¤Ê¤¤ :elseif ¤¬¤¢¤ê¤Þ¤¹" -#: ../ex_eval.c:880 msgid "E583: multiple :else" msgstr "E583: Ê£¿ô¤Î :else ¤¬¤¢¤ê¤Þ¤¹" -#: ../ex_eval.c:883 msgid "E584: :elseif after :else" msgstr "E584: :else ¤Î¸å¤Ë :elseif ¤¬¤¢¤ê¤Þ¤¹" -#: ../ex_eval.c:941 msgid "E585: :while/:for nesting too deep" msgstr "E585: :while ¤ä :for ¤ÎÆþ¤ì»Ò¤¬¿¼²á¤®¤Þ¤¹" -#: ../ex_eval.c:1028 msgid "E586: :continue without :while or :for" msgstr "E586: :while ¤ä :for ¤Î¤Ê¤¤ :continue ¤¬¤¢¤ê¤Þ¤¹" -#: ../ex_eval.c:1061 msgid "E587: :break without :while or :for" msgstr "E587: :while ¤ä :for ¤Î¤Ê¤¤ :break ¤¬¤¢¤ê¤Þ¤¹" -#: ../ex_eval.c:1102 msgid "E732: Using :endfor with :while" msgstr "E732: :endfor ¤ò :while ¤ÈÁȤ߹ç¤ï¤»¤Æ¤¤¤Þ¤¹" -#: ../ex_eval.c:1104 msgid "E733: Using :endwhile with :for" msgstr "E733: :endwhile ¤ò :for ¤ÈÁȤ߹ç¤ï¤»¤Æ¤¤¤Þ¤¹" -#: ../ex_eval.c:1247 msgid "E601: :try nesting too deep" msgstr "E601: :try ¤ÎÆþ¤ì»Ò¤¬¿¼²á¤®¤Þ¤¹" -#: ../ex_eval.c:1317 msgid "E603: :catch without :try" msgstr "E603: :try ¤Î¤Ê¤¤ :catch ¤¬¤¢¤ê¤Þ¤¹" #. Give up for a ":catch" after ":finally" and ignore it. #. * Just parse. -#: ../ex_eval.c:1332 msgid "E604: :catch after :finally" msgstr "E604: :finally ¤Î¸å¤Ë :catch ¤¬¤¢¤ê¤Þ¤¹" -#: ../ex_eval.c:1451 msgid "E606: :finally without :try" msgstr "E606: :try ¤Î¤Ê¤¤ :finally ¤¬¤¢¤ê¤Þ¤¹" #. Give up for a multiple ":finally" and ignore it. -#: ../ex_eval.c:1467 msgid "E607: multiple :finally" msgstr "E607: Ê£¿ô¤Î :finally ¤¬¤¢¤ê¤Þ¤¹" -#: ../ex_eval.c:1571 msgid "E602: :endtry without :try" msgstr "E602: :try ¤Î¤Ê¤¤ :endtry ¤Ç¤¹" -#: ../ex_eval.c:2026 msgid "E193: :endfunction not inside a function" msgstr "E193: ´Ø¿ô¤Î³°¤Ë :endfunction ¤¬¤¢¤ê¤Þ¤·¤¿" -#: ../ex_getln.c:1643 msgid "E788: Not allowed to edit another buffer now" msgstr "E788: ¸½ºß¤Ï¾¤Î¥Ð¥Ã¥Õ¥¡¤òÊÔ½¸¤¹¤ë¤³¤È¤Ïµö¤µ¤ì¤Þ¤»¤ó" -#: ../ex_getln.c:1656 msgid "E811: Not allowed to change buffer information now" msgstr "E811: ¸½ºß¤Ï¥Ð¥Ã¥Õ¥¡¾ðÊó¤òÊѹ¹¤¹¤ë¤³¤È¤Ïµö¤µ¤ì¤Þ¤»¤ó" -#: ../ex_getln.c:3178 msgid "tagname" msgstr "¥¿¥°Ì¾" -#: ../ex_getln.c:3181 msgid " kind file\n" msgstr " ¥Õ¥¡¥¤¥ë¼ïÎà\n" -#: ../ex_getln.c:4799 msgid "'history' option is zero" msgstr "¥ª¥×¥·¥ç¥ó 'history' ¤¬¥¼¥í¤Ç¤¹" -#: ../ex_getln.c:5046 #, c-format msgid "" "\n" @@ -1986,303 +1613,224 @@ msgstr "" "\n" "# %s ¹àÌܤÎÍúÎò (¿·¤·¤¤¤â¤Î¤«¤é¸Å¤¤¤â¤Î¤Ø):\n" -#: ../ex_getln.c:5047 msgid "Command Line" msgstr "¥³¥Þ¥ó¥É¥é¥¤¥ó" -#: ../ex_getln.c:5048 msgid "Search String" msgstr "¸¡º÷ʸ»úÎó" -#: ../ex_getln.c:5049 msgid "Expression" msgstr "¼°" -#: ../ex_getln.c:5050 msgid "Input Line" msgstr "ÆþÎϹÔ" -#: ../ex_getln.c:5117 +msgid "Debug Line" +msgstr "¥Ç¥Ð¥Ã¥°¹Ô" + msgid "E198: cmd_pchar beyond the command length" msgstr "E198: cmd_pchar ¤¬¥³¥Þ¥ó¥ÉŤòͤ¨¤Þ¤·¤¿" -#: ../ex_getln.c:5279 msgid "E199: Active window or buffer deleted" msgstr "E199: ¥¢¥¯¥Æ¥£¥Ö¤Ê¥¦¥£¥ó¥É¥¦¤«¥Ð¥Ã¥Õ¥¡¤¬ºï½ü¤µ¤ì¤Þ¤·¤¿" -#: ../file_search.c:203 -msgid "E854: path too long for completion" -msgstr "E854: ¥Ñ¥¹¤¬Ä¹²á¤®¤ÆÊä´°¤Ç¤¤Þ¤»¤ó" - -#: ../file_search.c:446 -#, c-format -msgid "" -"E343: Invalid path: '**[number]' must be at the end of the path or be " -"followed by '%s'." -msgstr "" -"E343: ̵¸ú¤Ê¥Ñ¥¹¤Ç¤¹: '**[¿ôÃÍ]' ¤Ïpath¤ÎºÇ¸å¤« '%s' ¤¬Â³¤¤¤Æ¤Ê¤¤¤È¤¤¤±¤Þ¤»" -"¤ó." - -#: ../file_search.c:1505 -#, c-format -msgid "E344: Can't find directory \"%s\" in cdpath" -msgstr "E344: cdpath¤Ë¤Ï \"%s\" ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó" - -#: ../file_search.c:1508 -#, c-format -msgid "E345: Can't find file \"%s\" in path" -msgstr "E345: path¤Ë¤Ï \"%s\" ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó" - -#: ../file_search.c:1512 -#, c-format -msgid "E346: No more directory \"%s\" found in cdpath" -msgstr "E346: cdpath¤Ë¤Ï¤³¤ì°Ê¾å \"%s\" ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó" - -#: ../file_search.c:1515 -#, c-format -msgid "E347: No more file \"%s\" found in path" -msgstr "E347: ¥Ñ¥¹¤Ë¤Ï¤³¤ì°Ê¾å \"%s\" ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó" - -#: ../fileio.c:137 msgid "E812: Autocommands changed buffer or buffer name" msgstr "E812: autocommand¤¬¥Ð¥Ã¥Õ¥¡¤«¥Ð¥Ã¥Õ¥¡Ì¾¤òÊѹ¹¤·¤Þ¤·¤¿" -#: ../fileio.c:368 msgid "Illegal file name" msgstr "ÉÔÀµ¤Ê¥Õ¥¡¥¤¥ë̾" -#: ../fileio.c:395 ../fileio.c:476 ../fileio.c:2543 ../fileio.c:2578 msgid "is a directory" msgstr "¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹" -#: ../fileio.c:397 msgid "is not a file" msgstr "¤Ï¥Õ¥¡¥¤¥ë¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó" -#: ../fileio.c:508 ../fileio.c:3522 +msgid "is a device (disabled with 'opendevice' option)" +msgstr "¤Ï¥Ç¥Ð¥¤¥¹¤Ç¤¹ ('opendevice' ¥ª¥×¥·¥ç¥ó¤Ç²óÈò¤Ç¤¤Þ¤¹)" + msgid "[New File]" msgstr "[¿·¥Õ¥¡¥¤¥ë]" -#: ../fileio.c:511 msgid "[New DIRECTORY]" msgstr "[¿·µ¬¥Ç¥£¥ì¥¯¥È¥ê]" -#: ../fileio.c:529 ../fileio.c:532 msgid "[File too big]" msgstr "[¥Õ¥¡¥¤¥ë²áÂç]" -#: ../fileio.c:534 msgid "[Permission Denied]" msgstr "[¸¢¸Â¤¬¤¢¤ê¤Þ¤»¤ó]" -#: ../fileio.c:653 msgid "E200: *ReadPre autocommands made the file unreadable" msgstr "E200: *ReadPre autocommand ¤¬¥Õ¥¡¥¤¥ë¤òÆÉ¹þÉԲĤˤ·¤Þ¤·¤¿" -#: ../fileio.c:655 msgid "E201: *ReadPre autocommands must not change current buffer" msgstr "E201: *ReadPre autocommand ¤Ï¸½ºß¤Î¥Ð¥Ã¥Õ¥¡¤òÊѤ¨¤é¤ì¤Þ¤»¤ó" -#: ../fileio.c:672 -msgid "Nvim: Reading from stdin...\n" +msgid "Vim: Reading from stdin...\n" msgstr "Vim: ɸ½àÆþÎϤ«¤éÆÉ¹þÃæ...\n" +msgid "Reading from stdin..." +msgstr "ɸ½àÆþÎϤ«¤éÆÉ¹þ¤ßÃæ..." + #. Re-opening the original file failed! -#: ../fileio.c:909 msgid "E202: Conversion made file unreadable!" msgstr "E202: ÊÑ´¹¤¬¥Õ¥¡¥¤¥ë¤òÆÉ¹þÉԲĤˤ·¤Þ¤·¤¿" -#. fifo or socket -#: ../fileio.c:1782 msgid "[fifo/socket]" msgstr "[FIFO/¥½¥±¥Ã¥È]" -#. fifo -#: ../fileio.c:1788 msgid "[fifo]" msgstr "[FIFO]" -#. or socket -#: ../fileio.c:1794 msgid "[socket]" msgstr "[¥½¥±¥Ã¥È]" -#. or character special -#: ../fileio.c:1801 msgid "[character special]" msgstr "[¥¥ã¥é¥¯¥¿¡¦¥Ç¥Ð¥¤¥¹]" -#: ../fileio.c:1815 msgid "[CR missing]" msgstr "[CR̵]" -#: ../fileio.c:1819 msgid "[long lines split]" msgstr "[Ĺ¹Ôʬ³ä]" -#: ../fileio.c:1823 ../fileio.c:3512 msgid "[NOT converted]" msgstr "[̤ÊÑ´¹]" -#: ../fileio.c:1826 ../fileio.c:3515 msgid "[converted]" msgstr "[ÊÑ´¹ºÑ]" -#: ../fileio.c:1831 #, c-format -msgid "[CONVERSION ERROR in line %<PRId64>]" -msgstr "[%<PRId64> ¹ÔÌܤÇÊÑ´¹¥¨¥é¡¼]" +msgid "[CONVERSION ERROR in line %ld]" +msgstr "[%ld ¹ÔÌܤÇÊÑ´¹¥¨¥é¡¼]" -#: ../fileio.c:1835 #, c-format -msgid "[ILLEGAL BYTE in line %<PRId64>]" -msgstr "[%<PRId64> ¹ÔÌܤÎÉÔÀµ¤Ê¥Ð¥¤¥È]" +msgid "[ILLEGAL BYTE in line %ld]" +msgstr "[%ld ¹ÔÌܤÎÉÔÀµ¤Ê¥Ð¥¤¥È]" -#: ../fileio.c:1838 msgid "[READ ERRORS]" msgstr "[ÆÉ¹þ¥¨¥é¡¼]" -#: ../fileio.c:2104 msgid "Can't find temp file for conversion" msgstr "ÊÑ´¹¤ËɬÍפʰì»þ¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó" -#: ../fileio.c:2110 msgid "Conversion with 'charconvert' failed" msgstr "'charconvert' ¤Ë¤è¤ëÊÑ´¹¤¬¼ºÇÔ¤·¤Þ¤·¤¿" -#: ../fileio.c:2113 msgid "can't read output of 'charconvert'" msgstr "'charconvert' ¤Î½ÐÎϤòÆÉ¹þ¤á¤Þ¤»¤ó¤Ç¤·¤¿" -#: ../fileio.c:2437 msgid "E676: No matching autocommands for acwrite buffer" msgstr "E676: acwrite¥Ð¥Ã¥Õ¥¡¤Î³ºÅö¤¹¤ëautocommand¤Ï¸ºß¤·¤Þ¤»¤ó" -#: ../fileio.c:2466 msgid "E203: Autocommands deleted or unloaded buffer to be written" msgstr "E203: Êݸ¤¹¤ë¥Ð¥Ã¥Õ¥¡¤òautocommand¤¬ºï½ü¤«²òÊü¤·¤Þ¤·¤¿" -#: ../fileio.c:2486 msgid "E204: Autocommand changed number of lines in unexpected way" msgstr "E204: autocommand¤¬Í½´ü¤»¤ÌÊýË¡¤Ç¹Ô¿ô¤òÊѹ¹¤·¤Þ¤·¤¿" -#: ../fileio.c:2548 ../fileio.c:2565 +# Added at 19-Jan-2004. +msgid "NetBeans disallows writes of unmodified buffers" +msgstr "NetBeans¤Ï̤Êѹ¹¤Î¥Ð¥Ã¥Õ¥¡¤ò¾å½ñ¤¹¤ë¤³¤È¤Ïµö²Ä¤·¤Æ¤¤¤Þ¤»¤ó" + +msgid "Partial writes disallowed for NetBeans buffers" +msgstr "NetBeans¥Ð¥Ã¥Õ¥¡¤Î°ìÉô¤ò½ñ¤½Ð¤¹¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó" + msgid "is not a file or writable device" msgstr "¤Ï¥Õ¥¡¥¤¥ë¤Ç¤â½ñ¹þ¤ß²Äǽ¥Ç¥Ð¥¤¥¹¤Ç¤â¤¢¤ê¤Þ¤»¤ó" -#: ../fileio.c:2601 +msgid "writing to device disabled with 'opendevice' option" +msgstr "'opendevice' ¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê¥Ç¥Ð¥¤¥¹¤Ø¤Î½ñ¤¹þ¤ß¤Ï¤Ç¤¤Þ¤»¤ó" + msgid "is read-only (add ! to override)" msgstr "¤ÏÆÉ¹þÀìÍѤǤ¹ (¶¯À©½ñ¹þ¤Ë¤Ï ! ¤òÄɲÃ)" -#: ../fileio.c:2886 msgid "E506: Can't write to backup file (add ! to override)" msgstr "E506: ¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤òÊݸ¤Ç¤¤Þ¤»¤ó (! ¤òÄɲäǶ¯À©Êݸ)" -#: ../fileio.c:2898 msgid "E507: Close error for backup file (add ! to override)" msgstr "" "E507: ¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤òÊĤ¸¤ëºÝ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿ (! ¤òÄɲäǶ¯À©)" -#: ../fileio.c:2901 msgid "E508: Can't read file for backup (add ! to override)" msgstr "E508: ¥Ð¥Ã¥¯¥¢¥Ã¥×ÍÑ¥Õ¥¡¥¤¥ë¤òÆÉ¹þ¤á¤Þ¤»¤ó (! ¤òÄɲäǶ¯À©ÆÉ¹þ)" -#: ../fileio.c:2923 msgid "E509: Cannot create backup file (add ! to override)" msgstr "E509: ¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤òºî¤ì¤Þ¤»¤ó (! ¤òÄɲäǶ¯À©ºîÀ®)" -#: ../fileio.c:3008 msgid "E510: Can't make backup file (add ! to override)" msgstr "E510: ¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤òºî¤ì¤Þ¤»¤ó (! ¤òÄɲäǶ¯À©ºîÀ®)" -#. Can't write without a tempfile! -#: ../fileio.c:3121 +msgid "E460: The resource fork would be lost (add ! to override)" +msgstr "E460: ¥ê¥½¡¼¥¹¥Õ¥©¡¼¥¯¤¬¼º¤ï¤ì¤ë¤«¤â¤·¤ì¤Þ¤»¤ó (! ¤òÄɲäǶ¯À©)" + msgid "E214: Can't find temp file for writing" msgstr "E214: ÊݸÍѰì»þ¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó" -#: ../fileio.c:3134 msgid "E213: Cannot convert (add ! to write without conversion)" msgstr "E213: ÊÑ´¹¤Ç¤¤Þ¤»¤ó (! ¤òÄɲäÇÊÑ´¹¤»¤º¤ËÊݸ)" -#: ../fileio.c:3169 msgid "E166: Can't open linked file for writing" msgstr "E166: ¥ê¥ó¥¯¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ë½ñ¹þ¤á¤Þ¤»¤ó" -#: ../fileio.c:3173 msgid "E212: Can't open file for writing" msgstr "E212: ½ñ¹þ¤ßÍѤ˥ե¡¥¤¥ë¤ò³«¤±¤Þ¤»¤ó" -#: ../fileio.c:3363 msgid "E667: Fsync failed" msgstr "E667: fsync ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" -#: ../fileio.c:3398 msgid "E512: Close failed" msgstr "E512: ÊĤ¸¤ë¤³¤È¤Ë¼ºÇÔ" -#: ../fileio.c:3436 msgid "E513: write error, conversion failed (make 'fenc' empty to override)" msgstr "E513: ½ñ¹þ¤ß¥¨¥é¡¼, ÊÑ´¹¼ºÇÔ (¾å½ñ¤¹¤ë¤Ë¤Ï 'fenc' ¤ò¶õ¤Ë¤·¤Æ¤¯¤À¤µ¤¤)" -#: ../fileio.c:3441 #, c-format msgid "" -"E513: write error, conversion failed in line %<PRId64> (make 'fenc' empty to " +"E513: write error, conversion failed in line %ld (make 'fenc' empty to " "override)" msgstr "" -"E513: ½ñ¹þ¤ß¥¨¥é¡¼, ÊÑ´¹¼ºÇÔ, ¹Ô¿ô %<PRId64> (¾å½ñ¤¹¤ë¤Ë¤Ï 'fenc' ¤ò¶õ¤Ë¤·¤Æ" -"¤¯¤À¤µ¤¤)" +"E513: ½ñ¹þ¤ß¥¨¥é¡¼, ÊÑ´¹¼ºÇÔ, ¹Ô¿ô %ld (¾å½ñ¤¹¤ë¤Ë¤Ï 'fenc' ¤ò¶õ¤Ë¤·¤Æ¤¯¤À¤µ" +"¤¤)" -#: ../fileio.c:3448 msgid "E514: write error (file system full?)" msgstr "E514: ½ñ¹þ¤ß¥¨¥é¡¼, (¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬ËþÇÕ?)" -#: ../fileio.c:3506 msgid " CONVERSION ERROR" msgstr " ÊÑ´¹¥¨¥é¡¼" -#: ../fileio.c:3509 #, c-format -msgid " in line %<PRId64>;" -msgstr " ¹Ô %<PRId64>;" +msgid " in line %ld;" +msgstr " ¹Ô %ld;" -#: ../fileio.c:3519 msgid "[Device]" msgstr "[¥Ç¥Ð¥¤¥¹]" -#: ../fileio.c:3522 msgid "[New]" msgstr "[¿·]" -#: ../fileio.c:3535 msgid " [a]" msgstr " [a]" -#: ../fileio.c:3535 msgid " appended" msgstr " ÄɲÃ" -#: ../fileio.c:3537 msgid " [w]" msgstr " [w]" -#: ../fileio.c:3537 msgid " written" msgstr " ½ñ¹þ¤ß" -#: ../fileio.c:3579 msgid "E205: Patchmode: can't save original file" msgstr "E205: patchmode: ¸¶ËÜ¥Õ¥¡¥¤¥ë¤òÊݸ¤Ç¤¤Þ¤»¤ó" -#: ../fileio.c:3602 msgid "E206: patchmode: can't touch empty original file" msgstr "E206: patchmode: ¶õ¤Î¸¶ËÜ¥Õ¥¡¥¤¥ë¤òtouch¤Ç¤¤Þ¤»¤ó" -#: ../fileio.c:3616 msgid "E207: Can't delete backup file" msgstr "E207: ¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë¤ò¾Ã¤»¤Þ¤»¤ó" -#: ../fileio.c:3672 msgid "" "\n" "WARNING: Original file may be lost or damaged\n" @@ -2290,134 +1838,105 @@ msgstr "" "\n" "·Ù¹ð: ¸¶ËÜ¥Õ¥¡¥¤¥ë¤¬¼º¤ï¤ì¤¿¤«Êѹ¹¤µ¤ì¤Þ¤·¤¿\n" -#: ../fileio.c:3675 msgid "don't quit the editor until the file is successfully written!" msgstr "¥Õ¥¡¥¤¥ë¤ÎÊݸ¤ËÀ®¸ù¤¹¤ë¤Þ¤Ç¥¨¥Ç¥£¥¿¤ò½ªÎ»¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤!" -#: ../fileio.c:3795 msgid "[dos]" msgstr "[dos]" -#: ../fileio.c:3795 msgid "[dos format]" msgstr "[dos¥Õ¥©¡¼¥Þ¥Ã¥È]" -#: ../fileio.c:3801 msgid "[mac]" msgstr "[mac]" -#: ../fileio.c:3801 msgid "[mac format]" msgstr "[mac¥Õ¥©¡¼¥Þ¥Ã¥È]" -#: ../fileio.c:3807 msgid "[unix]" msgstr "[unix]" -#: ../fileio.c:3807 msgid "[unix format]" msgstr "[unix¥Õ¥©¡¼¥Þ¥Ã¥È]" -#: ../fileio.c:3831 msgid "1 line, " msgstr "1 ¹Ô, " -#: ../fileio.c:3833 #, c-format -msgid "%<PRId64> lines, " -msgstr "%<PRId64> ¹Ô, " +msgid "%ld lines, " +msgstr "%ld ¹Ô, " -#: ../fileio.c:3836 msgid "1 character" msgstr "1 ʸ»ú" -#: ../fileio.c:3838 #, c-format -msgid "%<PRId64> characters" -msgstr "%<PRId64> ʸ»ú" +msgid "%lld characters" +msgstr "%lld ʸ»ú" -#: ../fileio.c:3849 msgid "[noeol]" msgstr "[noeol]" -#: ../fileio.c:3849 msgid "[Incomplete last line]" msgstr "[ºÇ½ª¹Ô¤¬ÉÔ´°Á´]" #. don't overwrite messages here #. must give this prompt #. don't use emsg() here, don't want to flush the buffers -#: ../fileio.c:3865 msgid "WARNING: The file has been changed since reading it!!!" msgstr "·Ù¹ð: ÆÉ¹þ¤ó¤À¸å¤Ë¥Õ¥¡¥¤¥ë¤ËÊѹ¹¤¬¤¢¤ê¤Þ¤·¤¿!!!" -#: ../fileio.c:3867 msgid "Do you really want to write to it" msgstr "ËÜÅö¤Ë¾å½ñ¤¤·¤Þ¤¹¤«" -#: ../fileio.c:4648 #, c-format msgid "E208: Error writing to \"%s\"" msgstr "E208: \"%s\" ¤ò½ñ¹þ¤ßÃæ¤Î¥¨¥é¡¼¤Ç¤¹" -#: ../fileio.c:4655 #, c-format msgid "E209: Error closing \"%s\"" msgstr "E209: \"%s\" ¤òÊĤ¸¤ë»þ¤Ë¥¨¥é¡¼¤Ç¤¹" -#: ../fileio.c:4657 #, c-format msgid "E210: Error reading \"%s\"" msgstr "E210: \"%s\" ¤òÆÉ¹þÃæ¤Î¥¨¥é¡¼¤Ç¤¹" -#: ../fileio.c:4883 msgid "E246: FileChangedShell autocommand deleted buffer" msgstr "E246: autocommand ¤Î FileChangedShell ¤¬¥Ð¥Ã¥Õ¥¡¤òºï½ü¤·¤Þ¤·¤¿" -#: ../fileio.c:4894 #, c-format msgid "E211: File \"%s\" no longer available" msgstr "E211: ¥Õ¥¡¥¤¥ë \"%s\" ¤Ï´û¤Ë¸ºß¤·¤Þ¤»¤ó" -#: ../fileio.c:4906 #, c-format msgid "" "W12: Warning: File \"%s\" has changed and the buffer was changed in Vim as " "well" msgstr "W12: ·Ù¹ð: ¥Õ¥¡¥¤¥ë \"%s\" ¤¬Êѹ¹¤µ¤ìVim¤Î¥Ð¥Ã¥Õ¥¡¤âÊѹ¹¤µ¤ì¤Þ¤·¤¿" -#: ../fileio.c:4907 msgid "See \":help W12\" for more info." msgstr "¾ÜºÙ¤Ï \":help W12\" ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤" -#: ../fileio.c:4910 #, c-format msgid "W11: Warning: File \"%s\" has changed since editing started" msgstr "W11: ·Ù¹ð: ¥Õ¥¡¥¤¥ë \"%s\" ¤ÏÊÔ½¸³«»Ï¸å¤ËÊѹ¹¤µ¤ì¤Þ¤·¤¿" -#: ../fileio.c:4911 msgid "See \":help W11\" for more info." msgstr "¾ÜºÙ¤Ï \":help W11\" ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤" -#: ../fileio.c:4914 #, c-format msgid "W16: Warning: Mode of file \"%s\" has changed since editing started" msgstr "W16: ·Ù¹ð: ¥Õ¥¡¥¤¥ë \"%s\" ¤Î¥â¡¼¥É¤¬ÊÔ½¸³«»Ï¸å¤ËÊѹ¹¤µ¤ì¤Þ¤·¤¿" -#: ../fileio.c:4915 msgid "See \":help W16\" for more info." msgstr "¾ÜºÙ¤Ï \":help W16\" ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤" -#: ../fileio.c:4927 #, c-format msgid "W13: Warning: File \"%s\" has been created after editing started" msgstr "W13: ·Ù¹ð: ¥Õ¥¡¥¤¥ë \"%s\" ¤ÏÊÔ½¸³«»Ï¸å¤ËºîÀ®¤µ¤ì¤Þ¤·¤¿" -#: ../fileio.c:4947 msgid "Warning" msgstr "·Ù¹ð" -#: ../fileio.c:4948 msgid "" "&OK\n" "&Load File" @@ -2425,48 +1944,45 @@ msgstr "" "&OK\n" "¥Õ¥¡¥¤¥ëÆÉ¹þ(&L)" -#: ../fileio.c:5065 #, c-format msgid "E462: Could not prepare for reloading \"%s\"" msgstr "E462: \"%s\" ¤ò¥ê¥í¡¼¥É¤¹¤ë½àÈ÷¤¬¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿" -#: ../fileio.c:5078 #, c-format msgid "E321: Could not reload \"%s\"" msgstr "E321: \"%s\" ¤Ï¥ê¥í¡¼¥É¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿" -#: ../fileio.c:5601 msgid "--Deleted--" msgstr "--ºï½üºÑ--" -#: ../fileio.c:5732 #, c-format msgid "auto-removing autocommand: %s <buffer=%d>" msgstr "autocommand: %s <¥Ð¥Ã¥Õ¥¡=%d> ¤¬¼«Æ°Åª¤Ëºï½ü¤µ¤ì¤Þ¤¹" #. the group doesn't exist -#: ../fileio.c:5772 #, c-format msgid "E367: No such group: \"%s\"" msgstr "E367: ¤½¤Î¥°¥ë¡¼¥×¤Ï¤¢¤ê¤Þ¤»¤ó: \"%s\"" -#: ../fileio.c:5897 +msgid "E936: Cannot delete the current group" +msgstr "E936: ¸½ºß¤Î¥°¥ë¡¼¥×¤Ïºï½ü¤Ç¤¤Þ¤»¤ó" + +msgid "W19: Deleting augroup that is still in use" +msgstr "W19: »ÈÍÑÃæ¤Î augroup ¤ò¾Ã¤½¤¦¤È¤·¤Æ¤¤¤Þ¤¹" + #, c-format msgid "E215: Illegal character after *: %s" msgstr "E215: * ¤Î¸å¤ËÉÔÀµ¤Êʸ»ú¤¬¤¢¤ê¤Þ¤·¤¿: %s" -#: ../fileio.c:5905 #, c-format msgid "E216: No such event: %s" msgstr "E216: ¤½¤Î¤è¤¦¤Ê¥¤¥Ù¥ó¥È¤Ï¤¢¤ê¤Þ¤»¤ó: %s" -#: ../fileio.c:5907 #, c-format msgid "E216: No such group or event: %s" msgstr "E216: ¤½¤Î¤è¤¦¤Ê¥°¥ë¡¼¥×¤â¤·¤¯¤Ï¥¤¥Ù¥ó¥È¤Ï¤¢¤ê¤Þ¤»¤ó: %s" #. Highlight title -#: ../fileio.c:6090 msgid "" "\n" "--- Auto-Commands ---" @@ -2474,756 +1990,555 @@ msgstr "" "\n" "--- Auto-Commands ---" -#: ../fileio.c:6293 #, c-format msgid "E680: <buffer=%d>: invalid buffer number " msgstr "E680: <¥Ð¥Ã¥Õ¥¡=%d>: ̵¸ú¤Ê¥Ð¥Ã¥Õ¥¡ÈÖ¹æ¤Ç¤¹ " -#: ../fileio.c:6370 msgid "E217: Can't execute autocommands for ALL events" msgstr "E217: Á´¤Æ¤Î¥¤¥Ù¥ó¥È¤ËÂФ·¤Æ¤Îautocommand¤Ï¼Â¹Ô¤Ç¤¤Þ¤»¤ó" -#: ../fileio.c:6393 msgid "No matching autocommands" msgstr "³ºÅö¤¹¤ëautocommand¤Ï¸ºß¤·¤Þ¤»¤ó" -#: ../fileio.c:6831 msgid "E218: autocommand nesting too deep" msgstr "E218: autocommand¤ÎÆþ¤ì»Ò¤¬¿¼²á¤®¤Þ¤¹" -#: ../fileio.c:7143 #, c-format msgid "%s Auto commands for \"%s\"" msgstr "%s Auto commands for \"%s\"" -#: ../fileio.c:7149 #, c-format msgid "Executing %s" msgstr "%s ¤ò¼Â¹Ô¤·¤Æ¤¤¤Þ¤¹" -#: ../fileio.c:7211 #, c-format msgid "autocommand %s" msgstr "autocommand %s" -#: ../fileio.c:7795 msgid "E219: Missing {." msgstr "E219: { ¤¬¤¢¤ê¤Þ¤»¤ó." -#: ../fileio.c:7797 msgid "E220: Missing }." msgstr "E220: } ¤¬¤¢¤ê¤Þ¤»¤ó." -#: ../fold.c:93 msgid "E490: No fold found" msgstr "E490: ÀÞ¾ö¤ß¤¬¤¢¤ê¤Þ¤»¤ó" -#: ../fold.c:544 msgid "E350: Cannot create fold with current 'foldmethod'" msgstr "E350: ¸½ºß¤Î 'foldmethod' ¤Ç¤ÏÀÞ¾ö¤ß¤òºîÀ®¤Ç¤¤Þ¤»¤ó" -#: ../fold.c:546 msgid "E351: Cannot delete fold with current 'foldmethod'" msgstr "E351: ¸½ºß¤Î 'foldmethod' ¤Ç¤ÏÀÞ¾ö¤ß¤òºï½ü¤Ç¤¤Þ¤»¤ó" -#: ../fold.c:1784 #, c-format -msgid "+--%3ld lines folded " -msgstr "+--%3ld ¹Ô¤¬ÀÞ¾ö¤Þ¤ì¤Þ¤·¤¿ " +msgid "+--%3ld line folded " +msgid_plural "+--%3ld lines folded " +msgstr[0] "+--%3ld ¹Ô¤¬ÀÞ¾ö¤Þ¤ì¤Þ¤·¤¿ " -#. buffer has already been read -#: ../getchar.c:273 msgid "E222: Add to read buffer" msgstr "E222: ÆÉ¹þ¥Ð¥Ã¥Õ¥¡¤ØÄɲÃ" -#: ../getchar.c:2040 msgid "E223: recursive mapping" msgstr "E223: ºÆµ¢Åª¥Þ¥Ã¥Ô¥ó¥°" -#: ../getchar.c:2849 #, c-format msgid "E224: global abbreviation already exists for %s" msgstr "E224: %s ¤È¤¤¤¦¥°¥í¡¼¥Ð¥ëû½ÌÆþÎϤϴû¤Ë¸ºß¤·¤Þ¤¹" -#: ../getchar.c:2852 #, c-format msgid "E225: global mapping already exists for %s" msgstr "E225: %s ¤È¤¤¤¦¥°¥í¡¼¥Ð¥ë¥Þ¥Ã¥Ô¥ó¥°¤Ï´û¤Ë¸ºß¤·¤Þ¤¹" -#: ../getchar.c:2952 #, c-format msgid "E226: abbreviation already exists for %s" msgstr "E226: %s ¤È¤¤¤¦Ã»½ÌÆþÎϤϴû¤Ë¸ºß¤·¤Þ¤¹" -#: ../getchar.c:2955 #, c-format msgid "E227: mapping already exists for %s" msgstr "E227: %s ¤È¤¤¤¦¥Þ¥Ã¥Ô¥ó¥°¤Ï´û¤Ë¸ºß¤·¤Þ¤¹" -#: ../getchar.c:3008 msgid "No abbreviation found" msgstr "û½ÌÆþÎϤϸ«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿" -#: ../getchar.c:3010 msgid "No mapping found" msgstr "¥Þ¥Ã¥Ô¥ó¥°¤Ï¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿" -#: ../getchar.c:3974 msgid "E228: makemap: Illegal mode" msgstr "E228: makemap: ÉÔÀµ¤Ê¥â¡¼¥É" -#. key value of 'cedit' option -#. type of cmdline window or 0 -#. result of cmdline window or 0 -#: ../globals.h:924 -msgid "--No lines in buffer--" -msgstr "--¥Ð¥Ã¥Õ¥¡¤Ë¹Ô¤¬¤¢¤ê¤Þ¤»¤ó--" +msgid "E851: Failed to create a new process for the GUI" +msgstr "E851: GUIÍÑ¤Î¥×¥í¥»¥¹¤Îµ¯Æ°¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" -#. -#. * The error messages that can be shared are included here. -#. * Excluded are errors that are only used once and debugging messages. -#. -#: ../globals.h:996 -msgid "E470: Command aborted" -msgstr "E470: ¥³¥Þ¥ó¥É¤¬ÃæÃǤµ¤ì¤Þ¤·¤¿" +msgid "E852: The child process failed to start the GUI" +msgstr "E852: »Ò¥×¥í¥»¥¹¤¬GUI¤Îµ¯Æ°¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" -#: ../globals.h:997 -msgid "E471: Argument required" -msgstr "E471: °ú¿ô¤¬É¬ÍפǤ¹" +msgid "E229: Cannot start the GUI" +msgstr "E229: GUI¤ò³«»Ï¤Ç¤¤Þ¤»¤ó" -#: ../globals.h:998 -msgid "E10: \\ should be followed by /, ? or &" -msgstr "E10: \\ ¤Î¸å¤Ï / ¤« ? ¤« & ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó" +#, c-format +msgid "E230: Cannot read from \"%s\"" +msgstr "E230: \"%s\"¤«¤éÆÉ¹þ¤à¤³¤È¤¬¤Ç¤¤Þ¤»¤ó" -#: ../globals.h:1000 -msgid "E11: Invalid in command-line window; <CR> executes, CTRL-C quits" -msgstr "E11: ¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¤Ï̵¸ú¤Ç¤¹; <CR>¤Ç¼Â¹Ô, CTRL-C¤Ç¤ä¤á¤ë" +msgid "E665: Cannot start GUI, no valid font found" +msgstr "E665: ͸ú¤Ê¥Õ¥©¥ó¥È¤¬¸«¤Ä¤«¤é¤Ê¤¤¤Î¤Ç, GUI¤ò³«»Ï¤Ç¤¤Þ¤»¤ó" -#: ../globals.h:1002 -msgid "E12: Command not allowed from exrc/vimrc in current dir or tag search" -msgstr "" -"E12: ¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ä¥¿¥°¸¡º÷¤Ç¤Ïexrc/vimrc¤Î¥³¥Þ¥ó¥É¤Ïµö²Ä¤µ¤ì¤Þ¤»¤ó" +msgid "E231: 'guifontwide' invalid" +msgstr "E231: 'guifontwide' ¤¬Ìµ¸ú¤Ç¤¹" -#: ../globals.h:1003 -msgid "E171: Missing :endif" -msgstr "E171: :endif ¤¬¤¢¤ê¤Þ¤»¤ó" +msgid "E599: Value of 'imactivatekey' is invalid" +msgstr "E599: 'imactivatekey' ¤ËÀßÄꤵ¤ì¤¿Ãͤ¬Ìµ¸ú¤Ç¤¹" -#: ../globals.h:1004 -msgid "E600: Missing :endtry" -msgstr "E600: :endtry ¤¬¤¢¤ê¤Þ¤»¤ó" +#, c-format +msgid "E254: Cannot allocate color %s" +msgstr "E254: %s ¤Î¿§¤ò³ä¤êÅö¤Æ¤é¤ì¤Þ¤»¤ó" -#: ../globals.h:1005 -msgid "E170: Missing :endwhile" -msgstr "E170: :endwhile ¤¬¤¢¤ê¤Þ¤»¤ó" +msgid "No match at cursor, finding next" +msgstr "¥«¡¼¥½¥ë¤Î°ÌÃ֤˥ޥåÁ¤Ï¤¢¤ê¤Þ¤»¤ó, ¼¡¤ò¸¡º÷¤·¤Æ¤¤¤Þ¤¹" -#: ../globals.h:1006 -msgid "E170: Missing :endfor" -msgstr "E170: :endfor ¤¬¤¢¤ê¤Þ¤»¤ó" - -#: ../globals.h:1007 -msgid "E588: :endwhile without :while" -msgstr "E588: :while ¤Î¤Ê¤¤ :endwhile ¤¬¤¢¤ê¤Þ¤¹" +msgid "<cannot open> " +msgstr "<³«¤±¤Þ¤»¤ó> " -#: ../globals.h:1008 -msgid "E588: :endfor without :for" -msgstr "E588: :endfor ¤Î¤Ê¤¤ :for ¤¬¤¢¤ê¤Þ¤¹" +#, c-format +msgid "E616: vim_SelFile: can't get font %s" +msgstr "E616: vim_SelFile: ¥Õ¥©¥ó¥È %s ¤ò¼èÆÀ¤Ç¤¤Þ¤»¤ó" -#: ../globals.h:1009 -msgid "E13: File exists (add ! to override)" -msgstr "E13: ¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Þ¤¹ (! ¤òÄɲäǾå½ñ)" +msgid "E614: vim_SelFile: can't return to current directory" +msgstr "E614: vim_SelFile: ¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÌá¤ì¤Þ¤»¤ó" -#: ../globals.h:1010 -msgid "E472: Command failed" -msgstr "E472: ¥³¥Þ¥ó¥É¤¬¼ºÇÔ¤·¤Þ¤·¤¿" +msgid "Pathname:" +msgstr "¥Ñ¥¹Ì¾:" -#: ../globals.h:1011 -msgid "E473: Internal error" -msgstr "E473: ÆâÉô¥¨¥é¡¼¤Ç¤¹" +msgid "E615: vim_SelFile: can't get current directory" +msgstr "E615: vim_SelFile: ¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò¼èÆÀ¤Ç¤¤Þ¤»¤ó" -#: ../globals.h:1012 -msgid "Interrupted" -msgstr "³ä¹þ¤Þ¤ì¤Þ¤·¤¿" +msgid "OK" +msgstr "OK" -#: ../globals.h:1013 -msgid "E14: Invalid address" -msgstr "E14: ̵¸ú¤Ê¥¢¥É¥ì¥¹¤Ç¤¹" +msgid "Cancel" +msgstr "¥¥ã¥ó¥»¥ë" -#: ../globals.h:1014 -msgid "E474: Invalid argument" -msgstr "E474: ̵¸ú¤Ê°ú¿ô¤Ç¤¹" +msgid "Scrollbar Widget: Could not get geometry of thumb pixmap." +msgstr "¥¹¥¯¥í¡¼¥ë¥Ð¡¼: ²èÁü¤ò¼èÆÀ¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿." -#: ../globals.h:1015 -#, c-format -msgid "E475: Invalid argument: %s" -msgstr "E475: ̵¸ú¤Ê°ú¿ô¤Ç¤¹: %s" +msgid "Vim dialog" +msgstr "Vim ¥À¥¤¥¢¥í¥°" -#: ../globals.h:1016 -#, c-format -msgid "E15: Invalid expression: %s" -msgstr "E15: ̵¸ú¤Ê¼°¤Ç¤¹: %s" +msgid "E232: Cannot create BalloonEval with both message and callback" +msgstr "E232: ¥á¥Ã¥»¡¼¥¸¤È¥³¡¼¥ë¥Ð¥Ã¥¯¤Î¤¢¤ë BalloonEval ¤òºîÀ®¤Ç¤¤Þ¤»¤ó" -#: ../globals.h:1017 -msgid "E16: Invalid range" -msgstr "E16: ̵¸ú¤ÊÈϰϤǤ¹" +msgid "_Cancel" +msgstr "¥¥ã¥ó¥»¥ë(_C)" -#: ../globals.h:1018 -msgid "E476: Invalid command" -msgstr "E476: ̵¸ú¤Ê¥³¥Þ¥ó¥É¤Ç¤¹" +msgid "_Save" +msgstr "Êݸ(_S)" -#: ../globals.h:1019 -#, c-format -msgid "E17: \"%s\" is a directory" -msgstr "E17: \"%s\" ¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹" +msgid "_Open" +msgstr "³«¤¯(_O)" -#: ../globals.h:1020 -#, fuzzy -msgid "E900: Invalid job id" -msgstr "E49: ̵¸ú¤Ê¥¹¥¯¥í¡¼¥ëÎ̤Ǥ¹" +msgid "_OK" +msgstr "_OK" -#: ../globals.h:1021 -msgid "E901: Job table is full" +msgid "" +"&Yes\n" +"&No\n" +"&Cancel" msgstr "" +"¤Ï¤¤(&Y)\n" +"¤¤¤¤¤¨(&N)\n" +"¥¥ã¥ó¥»¥ë(&C)" -#: ../globals.h:1024 -#, c-format -msgid "E364: Library call failed for \"%s()\"" -msgstr "E364: \"%s\"() ¤Î¥é¥¤¥Ö¥é¥ê¸Æ½Ð¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" +msgid "Yes" +msgstr "¤Ï¤¤" -#: ../globals.h:1026 -msgid "E19: Mark has invalid line number" -msgstr "E19: ¥Þ¡¼¥¯¤Ë̵¸ú¤Ê¹ÔÈֹ椬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤·¤¿" +msgid "No" +msgstr "¤¤¤¤¤¨" -#: ../globals.h:1027 -msgid "E20: Mark not set" -msgstr "E20: ¥Þ¡¼¥¯¤ÏÀßÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó" +msgid "Input _Methods" +msgstr "¥¤¥ó¥×¥Ã¥È¥á¥½¥Ã¥É" -#: ../globals.h:1029 -msgid "E21: Cannot make changes, 'modifiable' is off" -msgstr "E21: 'modifiable' ¤¬¥ª¥Õ¤Ê¤Î¤Ç, Êѹ¹¤Ç¤¤Þ¤»¤ó" +msgid "VIM - Search and Replace..." +msgstr "VIM - ¸¡º÷¤ÈÃÖ´¹..." -#: ../globals.h:1030 -msgid "E22: Scripts nested too deep" -msgstr "E22: ¥¹¥¯¥ê¥×¥È¤ÎÆþ¤ì»Ò¤¬¿¼²á¤®¤Þ¤¹" +msgid "VIM - Search..." +msgstr "VIM - ¸¡º÷..." -#: ../globals.h:1031 -msgid "E23: No alternate file" -msgstr "E23: Éû¥Õ¥¡¥¤¥ë¤Ï¤¢¤ê¤Þ¤»¤ó" +msgid "Find what:" +msgstr "¸¡º÷ʸ»úÎó:" -#: ../globals.h:1032 -msgid "E24: No such abbreviation" -msgstr "E24: ¤½¤Î¤è¤¦¤Êû½ÌÆþÎϤϤ¢¤ê¤Þ¤»¤ó" +msgid "Replace with:" +msgstr "ÃÖ´¹Ê¸»úÎó:" -#: ../globals.h:1033 -msgid "E477: No ! allowed" -msgstr "E477: ! ¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" +#. whole word only button +msgid "Match whole word only" +msgstr "Àµ³Î¤Ë³ºÅö¤¹¤ë¤â¤Î¤À¤±" -#: ../globals.h:1035 -msgid "E25: Nvim does not have a built-in GUI" -msgstr "E25: GUI¤Ï»ÈÍÑÉÔ²Äǽ¤Ç¤¹: ¥³¥ó¥Ñ¥¤¥ë»þ¤Ë̵¸ú¤Ë¤µ¤ì¤Æ¤¤¤Þ¤¹" +#. match case button +msgid "Match case" +msgstr "Âçʸ»ú/¾®Ê¸»ú¤ò¶èÊ̤¹¤ë" -#: ../globals.h:1036 -#, c-format -msgid "E28: No such highlight group name: %s" -msgstr "E28: ¤½¤Î¤è¤¦¤Ê̾¤Î¥Ï¥¤¥é¥¤¥È¥°¥ë¡¼¥×¤Ï¤¢¤ê¤Þ¤»¤ó: %s" +msgid "Direction" +msgstr "Êý¸þ" -#: ../globals.h:1037 -msgid "E29: No inserted text yet" -msgstr "E29: ¤Þ¤À¥Æ¥¥¹¥È¤¬ÁÞÆþ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" +#. 'Up' and 'Down' buttons +msgid "Up" +msgstr "¾å" -#: ../globals.h:1038 -msgid "E30: No previous command line" -msgstr "E30: °ÊÁ°¤Ë¥³¥Þ¥ó¥É¹Ô¤¬¤¢¤ê¤Þ¤»¤ó" +msgid "Down" +msgstr "²¼" -#: ../globals.h:1039 -msgid "E31: No such mapping" -msgstr "E31: ¤½¤Î¤è¤¦¤Ê¥Þ¥Ã¥Ô¥ó¥°¤Ï¤¢¤ê¤Þ¤»¤ó" +msgid "Find Next" +msgstr "¼¡¤ò¸¡º÷" -#: ../globals.h:1040 -msgid "E479: No match" -msgstr "E479: ³ºÅö¤Ï¤¢¤ê¤Þ¤»¤ó" +msgid "Replace" +msgstr "ÃÖ´¹" -#: ../globals.h:1041 -#, c-format -msgid "E480: No match: %s" -msgstr "E480: ³ºÅö¤Ï¤¢¤ê¤Þ¤»¤ó: %s" +msgid "Replace All" +msgstr "Á´¤ÆÃÖ´¹" -#: ../globals.h:1042 -msgid "E32: No file name" -msgstr "E32: ¥Õ¥¡¥¤¥ë̾¤¬¤¢¤ê¤Þ¤»¤ó" +msgid "_Close" +msgstr "ÊĤ¸¤ë(_C)" -#: ../globals.h:1044 -msgid "E33: No previous substitute regular expression" -msgstr "E33: Àµµ¬É½¸½ÃÖ´¹¤¬¤Þ¤À¼Â¹Ô¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" +msgid "Vim: Received \"die\" request from session manager\n" +msgstr "Vim: ¥»¥Ã¥·¥ç¥ó¥Þ¥Í¡¼¥¸¥ã¤«¤é \"die\" Í×µá¤ò¼õ¤±¼è¤ê¤Þ¤·¤¿\n" -#: ../globals.h:1045 -msgid "E34: No previous command" -msgstr "E34: ¥³¥Þ¥ó¥É¤¬¤Þ¤À¼Â¹Ô¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" +msgid "Close tab" +msgstr "¥¿¥Ö¥Ú¡¼¥¸¤òÊĤ¸¤ë" -#: ../globals.h:1046 -msgid "E35: No previous regular expression" -msgstr "E35: Àµµ¬É½¸½¤¬¤Þ¤À¼Â¹Ô¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" +msgid "New tab" +msgstr "¿·µ¬¥¿¥Ö¥Ú¡¼¥¸" -#: ../globals.h:1047 -msgid "E481: No range allowed" -msgstr "E481: ÈϰϻØÄê¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" +msgid "Open Tab..." +msgstr "¥¿¥Ö¥Ú¡¼¥¸¤ò³«¤¯..." -#: ../globals.h:1048 -msgid "E36: Not enough room" -msgstr "E36: ¥¦¥£¥ó¥É¥¦¤Ë½½Ê¬¤Ê¹â¤µ¤â¤·¤¯¤ÏÉý¤¬¤¢¤ê¤Þ¤»¤ó" +msgid "Vim: Main window unexpectedly destroyed\n" +msgstr "Vim: ¥á¥¤¥ó¥¦¥£¥ó¥É¥¦¤¬ÉÔ°Õ¤ËÇ˲õ¤µ¤ì¤Þ¤·¤¿\n" -#: ../globals.h:1049 -#, c-format -msgid "E482: Can't create file %s" -msgstr "E482: ¥Õ¥¡¥¤¥ë %s ¤òºîÀ®¤Ç¤¤Þ¤»¤ó" +msgid "&Filter" +msgstr "¥Õ¥£¥ë¥¿(&F)" -#: ../globals.h:1050 -msgid "E483: Can't get temp file name" -msgstr "E483: °ì»þ¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò¼èÆÀ¤Ç¤¤Þ¤»¤ó" +msgid "&Cancel" +msgstr "¥¥ã¥ó¥»¥ë(&C)" -#: ../globals.h:1051 -#, c-format -msgid "E484: Can't open file %s" -msgstr "E484: ¥Õ¥¡¥¤¥ë \"%s\" ¤ò³«¤±¤Þ¤»¤ó" +msgid "Directories" +msgstr "¥Ç¥£¥ì¥¯¥È¥ê" -#: ../globals.h:1052 -#, c-format -msgid "E485: Can't read file %s" -msgstr "E485: ¥Õ¥¡¥¤¥ë %s ¤òÆÉ¹þ¤á¤Þ¤»¤ó" +msgid "Filter" +msgstr "¥Õ¥£¥ë¥¿" -#: ../globals.h:1054 -msgid "E37: No write since last change (add ! to override)" -msgstr "E37: ºÇ¸å¤ÎÊѹ¹¤¬Êݸ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó (! ¤òÄɲäÇÊѹ¹¤òÇË´þ)" +msgid "&Help" +msgstr "¥Ø¥ë¥×(&H)" -#: ../globals.h:1055 -msgid "E37: No write since last change" -msgstr "E37: ºÇ¸å¤ÎÊѹ¹¤¬Êݸ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" +msgid "Files" +msgstr "¥Õ¥¡¥¤¥ë" -#: ../globals.h:1056 -msgid "E38: Null argument" -msgstr "E38: °ú¿ô¤¬¶õ¤Ç¤¹" +msgid "&OK" +msgstr "&OK" -#: ../globals.h:1057 -msgid "E39: Number expected" -msgstr "E39: ¿ôÃͤ¬Í׵ᤵ¤ì¤Æ¤¤¤Þ¤¹" +msgid "Selection" +msgstr "ÁªÂò" -#: ../globals.h:1058 -#, c-format -msgid "E40: Can't open errorfile %s" -msgstr "E40: ¥¨¥é¡¼¥Õ¥¡¥¤¥ë %s ¤ò³«¤±¤Þ¤»¤ó" +msgid "Find &Next" +msgstr "¼¡¤ò¸¡º÷(&N)" -#: ../globals.h:1059 -msgid "E41: Out of memory!" -msgstr "E41: ¥á¥â¥ê¤¬¿Ô¤²Ì¤Æ¤Þ¤·¤¿!" +msgid "&Replace" +msgstr "ÃÖ´¹(&R)" -#: ../globals.h:1060 -msgid "Pattern not found" -msgstr "¥Ñ¥¿¡¼¥ó¤Ï¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿" +msgid "Replace &All" +msgstr "Á´¤ÆÃÖ´¹(&A)" -#: ../globals.h:1061 -#, c-format -msgid "E486: Pattern not found: %s" -msgstr "E486: ¥Ñ¥¿¡¼¥ó¤Ï¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿: %s" +msgid "&Undo" +msgstr "¥¢¥ó¥É¥¥(&U)" -#: ../globals.h:1062 -msgid "E487: Argument must be positive" -msgstr "E487: °ú¿ô¤ÏÀµ¤ÎÃͤǤʤ±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó" +msgid "Open tab..." +msgstr "¥¿¥Ö¥Ú¡¼¥¸¤ò³«¤¯" -#: ../globals.h:1064 -msgid "E459: Cannot go back to previous directory" -msgstr "E459: Á°¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÌá¤ì¤Þ¤»¤ó" +msgid "Find string (use '\\\\' to find a '\\')" +msgstr "¸¡º÷ʸ»úÎó ('\\' ¤ò¸¡º÷¤¹¤ë¤Ë¤Ï '\\\\')" -#: ../globals.h:1066 -msgid "E42: No Errors" -msgstr "E42: ¥¨¥é¡¼¤Ï¤¢¤ê¤Þ¤»¤ó" +msgid "Find & Replace (use '\\\\' to find a '\\')" +msgstr "¸¡º÷¡¦ÃÖ´¹ ('\\' ¤ò¸¡º÷¤¹¤ë¤Ë¤Ï '\\\\')" -#: ../globals.h:1067 -msgid "E776: No location list" -msgstr "E776: ¥í¥±¡¼¥·¥ç¥ó¥ê¥¹¥È¤Ï¤¢¤ê¤Þ¤»¤ó" - -#: ../globals.h:1068 -msgid "E43: Damaged match string" -msgstr "E43: ³ºÅöʸ»úÎó¤¬ÇË»¤·¤Æ¤¤¤Þ¤¹" +#. We fake this: Use a filter that doesn't select anything and a default +#. * file name that won't be used. +msgid "Not Used" +msgstr "»È¤ï¤ì¤Þ¤»¤ó" -#: ../globals.h:1069 -msgid "E44: Corrupted regexp program" -msgstr "E44: ÉÔÀµ¤ÊÀµµ¬É½¸½¥×¥í¥°¥é¥à¤Ç¤¹" +msgid "Directory\t*.nothing\n" +msgstr "¥Ç¥£¥ì¥¯¥È¥ê\t*.nothing\n" -#: ../globals.h:1071 -msgid "E45: 'readonly' option is set (add ! to override)" -msgstr "E45: 'readonly' ¥ª¥×¥·¥ç¥ó¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹ (! ¤òÄɲäǾå½ñ¤)" - -#: ../globals.h:1073 #, c-format -msgid "E46: Cannot change read-only variable \"%s\"" -msgstr "E46: ÆÉ¼èÀìÍÑÊÑ¿ô \"%s\" ¤Ë¤ÏÃͤòÀßÄê¤Ç¤¤Þ¤»¤ó" +msgid "E671: Cannot find window title \"%s\"" +msgstr "E671: ¥¿¥¤¥È¥ë¤¬ \"%s\" ¤Î¥¦¥£¥ó¥É¥¦¤Ï¸«¤Ä¤«¤ê¤Þ¤»¤ó" -#: ../globals.h:1075 #, c-format -msgid "E794: Cannot set variable in the sandbox: \"%s\"" -msgstr "E794: ¥µ¥ó¥É¥Ü¥Ã¥¯¥¹¤Ç¤ÏÊÑ¿ô \"%s\" ¤ËÃͤòÀßÄê¤Ç¤¤Þ¤»¤ó" - -#: ../globals.h:1076 -msgid "E47: Error while reading errorfile" -msgstr "E47: ¥¨¥é¡¼¥Õ¥¡¥¤¥ë¤ÎÆÉ¹þÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿" - -#: ../globals.h:1078 -msgid "E48: Not allowed in sandbox" -msgstr "E48: ¥µ¥ó¥É¥Ü¥Ã¥¯¥¹¤Ç¤Ïµö¤µ¤ì¤Þ¤»¤ó" - -#: ../globals.h:1080 -msgid "E523: Not allowed here" -msgstr "E523: ¤³¤³¤Ç¤Ïµö²Ä¤µ¤ì¤Þ¤»¤ó" +msgid "E243: Argument not supported: \"-%s\"; Use the OLE version." +msgstr "E243: °ú¿ô¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó: \"-%s\"; OLEÈǤò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤." -#: ../globals.h:1082 -msgid "E359: Screen mode setting not supported" -msgstr "E359: ¥¹¥¯¥ê¡¼¥ó¥â¡¼¥É¤ÎÀßÄê¤Ë¤ÏÂбþ¤·¤Æ¤¤¤Þ¤»¤ó" +msgid "E672: Unable to open window inside MDI application" +msgstr "E672: MDI¥¢¥×¥ê¤ÎÃæ¤Ç¤Ï¥¦¥£¥ó¥É¥¦¤ò³«¤±¤Þ¤»¤ó" -#: ../globals.h:1083 -msgid "E49: Invalid scroll size" -msgstr "E49: ̵¸ú¤Ê¥¹¥¯¥í¡¼¥ëÎ̤Ǥ¹" +msgid "Vim E458: Cannot allocate colormap entry, some colors may be incorrect" +msgstr "Vim E458: ¿§»ØÄ꤬Àµ¤·¤¯¤Ê¤¤¤Î¤Ç¥¨¥ó¥È¥ê¤ò³ä¤êÅö¤Æ¤é¤ì¤Þ¤»¤ó" -#: ../globals.h:1084 -msgid "E91: 'shell' option is empty" -msgstr "E91: 'shell' ¥ª¥×¥·¥ç¥ó¤¬¶õ¤Ç¤¹" +#, c-format +msgid "E250: Fonts for the following charsets are missing in fontset %s:" +msgstr "E250: °Ê²¼¤Îʸ»ú¥»¥Ã¥È¤Î¥Õ¥©¥ó¥È¤¬¤¢¤ê¤Þ¤»¤ó %s:" -#: ../globals.h:1085 -msgid "E255: Couldn't read in sign data!" -msgstr "E255: sign ¤Î¥Ç¡¼¥¿¤òÆÉ¹þ¤á¤Þ¤»¤ó¤Ç¤·¤¿" +#, c-format +msgid "E252: Fontset name: %s" +msgstr "E252: ¥Õ¥©¥ó¥È¥»¥Ã¥È̾: %s" -#: ../globals.h:1086 -msgid "E72: Close error on swap file" -msgstr "E72: ¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤Î¥¯¥í¡¼¥º»þ¥¨¥é¡¼¤Ç¤¹" +#, c-format +msgid "Font '%s' is not fixed-width" +msgstr "¥Õ¥©¥ó¥È '%s' ¤Ï¸ÇÄêÉý¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó" -#: ../globals.h:1087 -msgid "E73: tag stack empty" -msgstr "E73: ¥¿¥°¥¹¥¿¥Ã¥¯¤¬¶õ¤Ç¤¹" +#, c-format +msgid "E253: Fontset name: %s" +msgstr "E253: ¥Õ¥©¥ó¥È¥»¥Ã¥È̾: %s" -#: ../globals.h:1088 -msgid "E74: Command too complex" -msgstr "E74: ¥³¥Þ¥ó¥É¤¬Ê£»¨²á¤®¤Þ¤¹" +#, c-format +msgid "Font0: %s" +msgstr "¥Õ¥©¥ó¥È0: %s" -#: ../globals.h:1089 -msgid "E75: Name too long" -msgstr "E75: ̾Á°¤¬Ä¹²á¤®¤Þ¤¹" +#, c-format +msgid "Font1: %s" +msgstr "¥Õ¥©¥ó¥È1: %s" -#: ../globals.h:1090 -msgid "E76: Too many [" -msgstr "E76: [ ¤¬Â¿²á¤®¤Þ¤¹" +#, c-format +msgid "Font%ld width is not twice that of font0" +msgstr "¥Õ¥©¥ó¥È%ld ¤ÎÉý¤¬¥Õ¥©¥ó¥È0¤Î2ÇܤǤϤ¢¤ê¤Þ¤»¤ó" -#: ../globals.h:1091 -msgid "E77: Too many file names" -msgstr "E77: ¥Õ¥¡¥¤¥ë̾¤¬Â¿²á¤®¤Þ¤¹" +#, c-format +msgid "Font0 width: %ld" +msgstr "¥Õ¥©¥ó¥È0¤ÎÉý: %ld" -#: ../globals.h:1092 -msgid "E488: Trailing characters" -msgstr "E488: ;ʬ¤Êʸ»ú¤¬¸å¤í¤Ë¤¢¤ê¤Þ¤¹" +#, c-format +msgid "Font1 width: %ld" +msgstr "¥Õ¥©¥ó¥È1¤ÎÉý: %ld" -#: ../globals.h:1093 -msgid "E78: Unknown mark" -msgstr "E78: ̤ÃΤΥޡ¼¥¯" +msgid "Invalid font specification" +msgstr "̵¸ú¤Ê¥Õ¥©¥ó¥È»ØÄê¤Ç¤¹" -#: ../globals.h:1094 -msgid "E79: Cannot expand wildcards" -msgstr "E79: ¥ï¥¤¥ë¥É¥«¡¼¥É¤òŸ³«¤Ç¤¤Þ¤»¤ó" +msgid "&Dismiss" +msgstr "µÑ²¼¤¹¤ë(&D)" -#: ../globals.h:1096 -msgid "E591: 'winheight' cannot be smaller than 'winminheight'" -msgstr "E591: 'winheight' ¤Ï 'winminheight' ¤è¤ê¾®¤µ¤¯¤Ç¤¤Þ¤»¤ó" +msgid "no specific match" +msgstr "¥Þ¥Ã¥Á¤¹¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤»¤ó" -#: ../globals.h:1098 -msgid "E592: 'winwidth' cannot be smaller than 'winminwidth'" -msgstr "E592: 'winwidth' ¤Ï 'winminwidth' ¤è¤ê¾®¤µ¤¯¤Ç¤¤Þ¤»¤ó" +msgid "Vim - Font Selector" +msgstr "Vim - ¥Õ¥©¥ó¥ÈÁªÂò" -#: ../globals.h:1099 -msgid "E80: Error while writing" -msgstr "E80: ½ñ¹þ¤ßÃæ¤Î¥¨¥é¡¼" +msgid "Name:" +msgstr "̾Á°:" -#: ../globals.h:1100 -msgid "Zero count" -msgstr "¥¼¥í¥«¥¦¥ó¥È" +#. create toggle button +msgid "Show size in Points" +msgstr "¥µ¥¤¥º¤ò¥Ý¥¤¥ó¥È¤Çɽ¼¨¤¹¤ë" -#: ../globals.h:1101 -msgid "E81: Using <SID> not in a script context" -msgstr "E81: ¥¹¥¯¥ê¥×¥È°Ê³°¤Ç<SID>¤¬»È¤ï¤ì¤Þ¤·¤¿" +msgid "Encoding:" +msgstr "¥¨¥ó¥³¡¼¥É:" -#: ../globals.h:1102 -#, c-format -msgid "E685: Internal error: %s" -msgstr "E685: ÆâÉô¥¨¥é¡¼¤Ç¤¹: %s" +msgid "Font:" +msgstr "¥Õ¥©¥ó¥È:" -#: ../globals.h:1104 -msgid "E363: pattern uses more memory than 'maxmempattern'" -msgstr "E363: ¥Ñ¥¿¡¼¥ó¤¬ 'maxmempattern' °Ê¾å¤Î¥á¥â¥ê¤ò»ÈÍѤ·¤Þ¤¹" +msgid "Style:" +msgstr "¥¹¥¿¥¤¥ë:" -#: ../globals.h:1105 -msgid "E749: empty buffer" -msgstr "E749: ¥Ð¥Ã¥Õ¥¡¤¬¶õ¤Ç¤¹" +msgid "Size:" +msgstr "¥µ¥¤¥º:" -#: ../globals.h:1108 -msgid "E682: Invalid search pattern or delimiter" -msgstr "E682: ¸¡º÷¥Ñ¥¿¡¼¥ó¤«¶èÀڤ굹椬ÉÔÀµ¤Ç¤¹" +msgid "E256: Hangul automata ERROR" +msgstr "E256: ¥Ï¥ó¥°¥ë¥ª¡¼¥È¥Þ¥È¥ó¥¨¥é¡¼" -#: ../globals.h:1109 -msgid "E139: File is loaded in another buffer" -msgstr "E139: Ʊ¤¸Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤¬Â¾¤Î¥Ð¥Ã¥Õ¥¡¤ÇÆÉ¹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹" - -#: ../globals.h:1110 -#, c-format -msgid "E764: Option '%s' is not set" -msgstr "E764: ¥ª¥×¥·¥ç¥ó '%s' ¤ÏÀßÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó" - -#: ../globals.h:1111 -msgid "E850: Invalid register name" -msgstr "E850: ̵¸ú¤Ê¥ì¥¸¥¹¥¿Ì¾¤Ç¤¹" - -#: ../globals.h:1114 -msgid "search hit TOP, continuing at BOTTOM" -msgstr "¾å¤Þ¤Ç¸¡º÷¤·¤¿¤Î¤Ç²¼¤ËÌá¤ê¤Þ¤¹" - -#: ../globals.h:1115 -msgid "search hit BOTTOM, continuing at TOP" -msgstr "²¼¤Þ¤Ç¸¡º÷¤·¤¿¤Î¤Ç¾å¤ËÌá¤ê¤Þ¤¹" - -#: ../hardcopy.c:240 msgid "E550: Missing colon" msgstr "E550: ¥³¥í¥ó¤¬¤¢¤ê¤Þ¤»¤ó" -#: ../hardcopy.c:252 msgid "E551: Illegal component" msgstr "E551: ÉÔÀµ¤Ê¹½Ê¸Í×ÁǤǤ¹" -#: ../hardcopy.c:259 msgid "E552: digit expected" msgstr "E552: ¿ôÃͤ¬É¬ÍפǤ¹" -#: ../hardcopy.c:473 #, c-format msgid "Page %d" msgstr "%d ¥Ú¡¼¥¸" -#: ../hardcopy.c:597 msgid "No text to be printed" msgstr "°õºþ¤¹¤ë¥Æ¥¥¹¥È¤¬¤¢¤ê¤Þ¤»¤ó" -#: ../hardcopy.c:668 #, c-format msgid "Printing page %d (%d%%)" msgstr "°õºþÃæ: ¥Ú¡¼¥¸ %d (%d%%)" -#: ../hardcopy.c:680 #, c-format msgid " Copy %d of %d" msgstr " ¥³¥Ô¡¼ %d (Á´ %d Ãæ)" -#: ../hardcopy.c:733 #, c-format msgid "Printed: %s" msgstr "°õºþ¤·¤Þ¤·¤¿: %s" -#: ../hardcopy.c:740 msgid "Printing aborted" msgstr "°õºþ¤¬Ãæ»ß¤µ¤ì¤Þ¤·¤¿" -#: ../hardcopy.c:1365 msgid "E455: Error writing to PostScript output file" msgstr "E455: PostScript½ÐÎÏ¥Õ¥¡¥¤¥ë¤Î½ñ¹þ¤ß¥¨¥é¡¼¤Ç¤¹" -#: ../hardcopy.c:1747 #, c-format msgid "E624: Can't open file \"%s\"" msgstr "E624: ¥Õ¥¡¥¤¥ë \"%s\" ¤ò³«¤±¤Þ¤»¤ó" -#: ../hardcopy.c:1756 ../hardcopy.c:2470 #, c-format msgid "E457: Can't read PostScript resource file \"%s\"" msgstr "E457: PostScript¤Î¥ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë \"%s\" ¤òÆÉ¹þ¤á¤Þ¤»¤ó" -#: ../hardcopy.c:1772 #, c-format msgid "E618: file \"%s\" is not a PostScript resource file" msgstr "E618: ¥Õ¥¡¥¤¥ë \"%s\" ¤Ï PostScript ¥ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó" -#: ../hardcopy.c:1788 ../hardcopy.c:1805 ../hardcopy.c:1844 #, c-format msgid "E619: file \"%s\" is not a supported PostScript resource file" msgstr "E619: ¥Õ¥¡¥¤¥ë \"%s\" ¤ÏÂбþ¤·¤Æ¤¤¤Ê¤¤ PostScript ¥ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ç¤¹" -#: ../hardcopy.c:1856 #, c-format msgid "E621: \"%s\" resource file has wrong version" msgstr "E621: ¥ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë \"%s\" ¤Ï¥Ð¡¼¥¸¥ç¥ó¤¬°Û¤Ê¤ê¤Þ¤¹" -#: ../hardcopy.c:2225 msgid "E673: Incompatible multi-byte encoding and character set." msgstr "E673: ¸ß´¹À¤Î̵¤¤¥Þ¥ë¥Á¥Ð¥¤¥È¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Èʸ»ú¥»¥Ã¥È¤Ç¤¹" -#: ../hardcopy.c:2238 msgid "E674: printmbcharset cannot be empty with multi-byte encoding." msgstr "E674: ¥Þ¥ë¥Á¥Ð¥¤¥È¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Ç¤Ï printmbcharset ¤ò¶õ¤Ë¤Ç¤¤Þ¤»¤ó" -#: ../hardcopy.c:2254 msgid "E675: No default font specified for multi-byte printing." msgstr "" "E675: ¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»ú¤ò°õºþ¤¹¤ë¤¿¤á¤Î¥Ç¥Õ¥©¥ë¥È¥Õ¥©¥ó¥È¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó" -#: ../hardcopy.c:2426 msgid "E324: Can't open PostScript output file" msgstr "E324: PostScript½ÐÎÏÍѤΥե¡¥¤¥ë¤ò³«¤±¤Þ¤»¤ó" -#: ../hardcopy.c:2458 #, c-format msgid "E456: Can't open file \"%s\"" msgstr "E456: ¥Õ¥¡¥¤¥ë \"%s\" ¤ò³«¤±¤Þ¤»¤ó" -#: ../hardcopy.c:2583 msgid "E456: Can't find PostScript resource file \"prolog.ps\"" msgstr "E456: PostScript¤Î¥ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë \"prolog.ps\" ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó" -#: ../hardcopy.c:2593 msgid "E456: Can't find PostScript resource file \"cidfont.ps\"" msgstr "E456: PostScript¤Î¥ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë \"cidfont.ps\" ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó" -#: ../hardcopy.c:2622 ../hardcopy.c:2639 ../hardcopy.c:2665 #, c-format msgid "E456: Can't find PostScript resource file \"%s.ps\"" msgstr "E456: PostScript¤Î¥ê¥½¡¼¥¹¥Õ¥¡¥¤¥ë \"%s.ps\" ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó" -#: ../hardcopy.c:2654 #, c-format msgid "E620: Unable to convert to print encoding \"%s\"" msgstr "E620: °õºþ¥¨¥ó¥³¡¼¥É \"%s\" ¤ØÊÑ´¹¤Ç¤¤Þ¤»¤ó" -#: ../hardcopy.c:2877 msgid "Sending to printer..." msgstr "¥×¥ê¥ó¥¿¤ËÁ÷¿®Ãæ..." -#: ../hardcopy.c:2881 msgid "E365: Failed to print PostScript file" msgstr "E365: PostScript¥Õ¥¡¥¤¥ë¤Î°õºþ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" -#: ../hardcopy.c:2883 msgid "Print job sent." msgstr "°õºþ¥¸¥ç¥Ö¤òÁ÷¿®¤·¤Þ¤·¤¿." -#: ../if_cscope.c:85 msgid "Add a new database" msgstr "¿·¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÄɲÃ" -#: ../if_cscope.c:87 msgid "Query for a pattern" msgstr "¥Ñ¥¿¡¼¥ó¤Î¥¯¥¨¥ê¡¼¤òÄɲÃ" -#: ../if_cscope.c:89 msgid "Show this message" msgstr "¤³¤Î¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ë" -#: ../if_cscope.c:91 msgid "Kill a connection" msgstr "Àܳ¤ò½ªÎ»¤¹¤ë" -#: ../if_cscope.c:93 msgid "Reinit all connections" msgstr "Á´¤Æ¤ÎÀܳ¤òºÆ½é´ü²½¤¹¤ë" -#: ../if_cscope.c:95 msgid "Show connections" msgstr "Àܳ¤òɽ¼¨¤¹¤ë" -#: ../if_cscope.c:101 #, c-format msgid "E560: Usage: cs[cope] %s" msgstr "E560: »ÈÍÑÊýË¡: cs[cope] %s" -#: ../if_cscope.c:225 msgid "This cscope command does not support splitting the window.\n" msgstr "¤³¤Îcscope¥³¥Þ¥ó¥É¤Ïʬ³ä¥¦¥£¥ó¥É¥¦¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó.\n" -#: ../if_cscope.c:266 msgid "E562: Usage: cstag <ident>" msgstr "E562: »ÈÍÑË¡: cstag <ident>" -#: ../if_cscope.c:313 msgid "E257: cstag: tag not found" msgstr "E257: cstag: ¥¿¥°¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó" -#: ../if_cscope.c:461 #, c-format msgid "E563: stat(%s) error: %d" msgstr "E563: stat(%s) ¥¨¥é¡¼: %d" -#: ../if_cscope.c:551 +msgid "E563: stat error" +msgstr "E563: stat ¥¨¥é¡¼" + #, c-format msgid "E564: %s is not a directory or a valid cscope database" msgstr "E564: %s ¤Ï¥Ç¥£¥ì¥¯¥È¥êµÚ¤Ó͸ú¤Êcscope¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó" -#: ../if_cscope.c:566 #, c-format msgid "Added cscope database %s" msgstr "cscope¥Ç¡¼¥¿¥Ù¡¼¥¹ %s ¤òÄɲÃ" -#: ../if_cscope.c:616 #, c-format -msgid "E262: error reading cscope connection %<PRId64>" -msgstr "E262: cscope¤ÎÀܳ %<PRId64> ¤òÆÉ¹þ¤ßÃæ¤Î¥¨¥é¡¼¤Ç¤¹" +msgid "E262: error reading cscope connection %ld" +msgstr "E262: cscope¤ÎÀܳ %ld ¤òÆÉ¹þ¤ßÃæ¤Î¥¨¥é¡¼¤Ç¤¹" -#: ../if_cscope.c:711 msgid "E561: unknown cscope search type" msgstr "E561: ̤ÃΤÎcscope¸¡º÷·¿¤Ç¤¹" -#: ../if_cscope.c:752 ../if_cscope.c:789 msgid "E566: Could not create cscope pipes" msgstr "E566: cscope¥Ñ¥¤¥×¤òºîÀ®¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿" -#: ../if_cscope.c:767 msgid "E622: Could not fork for cscope" msgstr "E622: cscope¤Îµ¯Æ°½àÈ÷(fork)¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" -#: ../if_cscope.c:849 msgid "cs_create_connection setpgid failed" msgstr "cs_create_connection ¤Ø¤Î setpgid ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" -#: ../if_cscope.c:853 ../if_cscope.c:889 msgid "cs_create_connection exec failed" msgstr "cs_create_connection ¤Î¼Â¹Ô¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" -#: ../if_cscope.c:863 ../if_cscope.c:902 msgid "cs_create_connection: fdopen for to_fp failed" msgstr "cs_create_connection: to_fp ¤Î fdopen ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" -#: ../if_cscope.c:865 ../if_cscope.c:906 msgid "cs_create_connection: fdopen for fr_fp failed" msgstr "cs_create_connection: fr_fp ¤Î fdopen ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" -#: ../if_cscope.c:890 msgid "E623: Could not spawn cscope process" msgstr "E623: cscope¥×¥í¥»¥¹¤òµ¯Æ°¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿" -#: ../if_cscope.c:932 msgid "E567: no cscope connections" msgstr "E567: cscopeÀܳ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" -#: ../if_cscope.c:1009 #, c-format msgid "E469: invalid cscopequickfix flag %c for %c" msgstr "E469: ̵¸ú¤Ê cscopequickfix ¥Õ¥é¥° %c ¤Î %c ¤Ç¤¹" -#: ../if_cscope.c:1058 #, c-format msgid "E259: no matches found for cscope query %s of %s" msgstr "E259: cscope¥¯¥¨¥ê¡¼ %s of %s ¤Ë³ºÅö¤¬¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿" -#: ../if_cscope.c:1142 msgid "cscope commands:\n" msgstr "cscope¥³¥Þ¥ó¥É:\n" -#: ../if_cscope.c:1150 #, c-format msgid "%-5s: %s%*s (Usage: %s)" msgstr "%-5s: %s%*s (»ÈÍÑË¡: %s)" -#: ../if_cscope.c:1155 msgid "" "\n" +" a: Find assignments to this symbol\n" " c: Find functions calling this function\n" " d: Find functions called by this function\n" " e: Find this egrep pattern\n" @@ -3234,6 +2549,7 @@ msgid "" " t: Find this text string\n" msgstr "" "\n" +" a: ¤³¤Î¥·¥ó¥Ü¥ë¤ËÂФ¹¤ëÂåÆþ¤òõ¤¹\n" " c: ¤³¤Î´Ø¿ô¤ò¸Æ¤ó¤Ç¤¤¤ë´Ø¿ô¤òõ¤¹\n" " d: ¤³¤Î´Ø¿ô¤«¤é¸Æ¤ó¤Ç¤¤¤ë´Ø¿ô¤òõ¤¹\n" " e: ¤³¤Îegrep¥Ñ¥¿¡¼¥ó¤òõ¤¹\n" @@ -3243,31 +2559,32 @@ msgstr "" " s: ¤³¤ÎC¥·¥ó¥Ü¥ë¤òõ¤¹\n" " t: ¤³¤Î¥Æ¥¥¹¥Èʸ»úÎó¤òõ¤¹\n" -#: ../if_cscope.c:1226 +#, c-format +msgid "E625: cannot open cscope database: %s" +msgstr "E625: cscope¥Ç¡¼¥¿¥Ù¡¼¥¹: %s ¤ò³«¤¯¤³¤È¤¬¤Ç¤¤Þ¤»¤ó" + +msgid "E626: cannot get cscope database information" +msgstr "E626: cscope¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¾ðÊó¤ò¼èÆÀ¤Ç¤¤Þ¤»¤ó" + msgid "E568: duplicate cscope database not added" msgstr "E568: ½ÅÊ£¤¹¤ëcscope¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÏÄɲ䵤ì¤Þ¤»¤ó¤Ç¤·¤¿" -#: ../if_cscope.c:1335 #, c-format msgid "E261: cscope connection %s not found" msgstr "E261: cscopeÀܳ %s ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿" -#: ../if_cscope.c:1364 #, c-format msgid "cscope connection %s closed" msgstr "cscopeÀܳ %s ¤¬ÊĤ¸¤é¤ì¤Þ¤·¤¿" #. should not reach here -#: ../if_cscope.c:1486 msgid "E570: fatal error in cs_manage_matches" msgstr "E570: cs_manage_matches ¤ÇÃ×̿Ū¤Ê¥¨¥é¡¼¤Ç¤¹" -#: ../if_cscope.c:1693 #, c-format msgid "Cscope tag: %s" msgstr "Cscope ¥¿¥°: %s" -#: ../if_cscope.c:1711 msgid "" "\n" " # line" @@ -3275,87 +2592,300 @@ msgstr "" "\n" " # ¹ÔÈÖ¹æ" -#: ../if_cscope.c:1713 msgid "filename / context / line\n" msgstr "¥Õ¥¡¥¤¥ë̾ / ʸ̮ / ¹Ô\n" -#: ../if_cscope.c:1809 #, c-format msgid "E609: Cscope error: %s" msgstr "E609: cscope¥¨¥é¡¼: %s" -#: ../if_cscope.c:2053 msgid "All cscope databases reset" msgstr "Á´¤Æ¤Îcscope¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¥ê¥»¥Ã¥È¤·¤Þ¤¹" -#: ../if_cscope.c:2123 msgid "no cscope connections\n" msgstr "cscopeÀܳ¤¬¤¢¤ê¤Þ¤»¤ó\n" -#: ../if_cscope.c:2126 msgid " # pid database name prepend path\n" msgstr " # pid ¥Ç¡¼¥¿¥Ù¡¼¥¹Ì¾ prepend ¥Ñ¥¹\n" -#: ../main.c:144 +msgid "Lua library cannot be loaded." +msgstr "Lua¥é¥¤¥Ö¥é¥ê¤ò¥í¡¼¥É¤Ç¤¤Þ¤»¤ó." + +msgid "cannot save undo information" +msgstr "¥¢¥ó¥É¥¥¾ðÊó¤¬Êݸ¤Ç¤¤Þ¤»¤ó" + +msgid "" +"E815: Sorry, this command is disabled, the MzScheme libraries could not be " +"loaded." +msgstr "E815: ¤³¤Î¥³¥Þ¥ó¥É¤Ï̵¸ú¤Ç¤¹. MzScheme ¥é¥¤¥Ö¥é¥ê¤ò¥í¡¼¥É¤Ç¤¤Þ¤»¤ó." + +msgid "" +"E895: Sorry, this command is disabled, the MzScheme's racket/base module " +"could not be loaded." +msgstr "" +"E895: ¤³¤Î¥³¥Þ¥ó¥É¤Ï̵¸ú¤Ç¤¹,¤´¤á¤ó¤Ê¤µ¤¤. MzScheme ¤Î racket/base ¥â¥¸¥å¡¼¥ë" +"¤¬¥í¡¼¥É¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿." + +msgid "invalid expression" +msgstr "̵¸ú¤Ê¼°¤Ç¤¹" + +msgid "expressions disabled at compile time" +msgstr "¼°¤Ï¥³¥ó¥Ñ¥¤¥ë»þ¤Ë̵¸ú¤Ë¤µ¤ì¤Æ¤¤¤Þ¤¹" + +msgid "hidden option" +msgstr "±£¤·¥ª¥×¥·¥ç¥ó" + +msgid "unknown option" +msgstr "̤ÃΤΥª¥×¥·¥ç¥ó¤Ç¤¹" + +msgid "window index is out of range" +msgstr "Èϰϳ°¤Î¥¦¥£¥ó¥É¥¦ÈÖ¹æ¤Ç¤¹" + +msgid "couldn't open buffer" +msgstr "¥Ð¥Ã¥Õ¥¡¤ò³«¤±¤Þ¤»¤ó" + +msgid "cannot delete line" +msgstr "¹Ô¤ò¾Ã¤»¤Þ¤»¤ó" + +msgid "cannot replace line" +msgstr "¹Ô¤òÃÖ´¹¤Ç¤¤Þ¤»¤ó" + +msgid "cannot insert line" +msgstr "¹Ô¤òÁÞÆþ¤Ç¤¤Þ¤»¤ó" + +msgid "string cannot contain newlines" +msgstr "ʸ»úÎó¤Ë¤Ï²þ¹Ôʸ»ú¤ò´Þ¤á¤é¤ì¤Þ¤»¤ó" + +msgid "error converting Scheme values to Vim" +msgstr "SchemeÃͤÎVim¤Ø¤ÎÊÑ´¹¥¨¥é¡¼" + +msgid "Vim error: ~a" +msgstr "Vim ¥¨¥é¡¼: ~a" + +msgid "Vim error" +msgstr "Vim ¥¨¥é¡¼" + +msgid "buffer is invalid" +msgstr "¥Ð¥Ã¥Õ¥¡¤Ï̵¸ú¤Ç¤¹" + +msgid "window is invalid" +msgstr "¥¦¥£¥ó¥É¥¦¤Ï̵¸ú¤Ç¤¹" + +msgid "linenr out of range" +msgstr "Èϰϳ°¤Î¹ÔÈÖ¹æ¤Ç¤¹" + +msgid "not allowed in the Vim sandbox" +msgstr "¥µ¥ó¥É¥Ü¥Ã¥¯¥¹¤Ç¤Ïµö¤µ¤ì¤Þ¤»¤ó" + +msgid "E836: This Vim cannot execute :python after using :py3" +msgstr "E836: ¤³¤ÎVim¤Ç¤Ï :py3 ¤ò»È¤Ã¤¿¸å¤Ë :python ¤ò»È¤¨¤Þ¤»¤ó" + +msgid "" +"E263: Sorry, this command is disabled, the Python library could not be " +"loaded." +msgstr "" +"E263: ¤³¤Î¥³¥Þ¥ó¥É¤Ï̵¸ú¤Ç¤¹,¤´¤á¤ó¤Ê¤µ¤¤: Python¥é¥¤¥Ö¥é¥ê¤ò¥í¡¼¥É¤Ç¤¤Þ¤»¤ó" +"¤Ç¤·¤¿." + +msgid "" +"E887: Sorry, this command is disabled, the Python's site module could not be " +"loaded." +msgstr "" +"E887: ¤³¤Î¥³¥Þ¥ó¥É¤Ï̵¸ú¤Ç¤¹,¤´¤á¤ó¤Ê¤µ¤¤. Python ¤Î site ¥â¥¸¥å¡¼¥ë¤ò¥í¡¼¥É" +"¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿." + +# Added at 07-Feb-2004. +msgid "E659: Cannot invoke Python recursively" +msgstr "E659: Python ¤òºÆµ¢Åª¤Ë¼Â¹Ô¤¹¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó" + +msgid "E837: This Vim cannot execute :py3 after using :python" +msgstr "E837: ¤³¤ÎVim¤Ç¤Ï :python ¤ò»È¤Ã¤¿¸å¤Ë :py3 ¤ò»È¤¨¤Þ¤»¤ó" + +msgid "E265: $_ must be an instance of String" +msgstr "E265: $_ ¤Ïʸ»úÎó¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó" + +msgid "" +"E266: Sorry, this command is disabled, the Ruby library could not be loaded." +msgstr "" +"E266: ¤³¤Î¥³¥Þ¥ó¥É¤Ï̵¸ú¤Ç¤¹,¤´¤á¤ó¤Ê¤µ¤¤: Ruby¥é¥¤¥Ö¥é¥ê¤ò¥í¡¼¥É¤Ç¤¤Þ¤»¤ó¤Ç" +"¤·¤¿." + +msgid "E267: unexpected return" +msgstr "E267: ͽ´ü¤»¤Ì return ¤Ç¤¹" + +msgid "E268: unexpected next" +msgstr "E268: ͽ´ü¤»¤Ì next ¤Ç¤¹" + +msgid "E269: unexpected break" +msgstr "E269: ͽ´ü¤»¤Ì break ¤Ç¤¹" + +msgid "E270: unexpected redo" +msgstr "E270: ͽ´ü¤»¤Ì redo ¤Ç¤¹" + +msgid "E271: retry outside of rescue clause" +msgstr "E271: rescue ¤Î³°¤Î retry ¤Ç¤¹" + +msgid "E272: unhandled exception" +msgstr "E272: ¼è¤ê°·¤ï¤ì¤Ê¤«¤Ã¤¿Îã³°¤¬¤¢¤ê¤Þ¤¹" + +#, c-format +msgid "E273: unknown longjmp status %d" +msgstr "E273: ̤ÃΤÎlongjmp¾õÂÖ: %d" + +msgid "invalid buffer number" +msgstr "̵¸ú¤Ê¥Ð¥Ã¥Õ¥¡ÈÖ¹æ¤Ç¤¹" + +msgid "not implemented yet" +msgstr "¤Þ¤À¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" + +#. ??? +msgid "cannot set line(s)" +msgstr "¹Ô¤òÀßÄê¤Ç¤¤Þ¤»¤ó" + +msgid "invalid mark name" +msgstr "̵¸ú¤Ê¥Þ¡¼¥¯Ì¾¤Ç¤¹" + +msgid "mark not set" +msgstr "¥Þ¡¼¥¯¤ÏÀßÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó" + +#, c-format +msgid "row %d column %d" +msgstr "¹Ô %d Îó %d" + +msgid "cannot insert/append line" +msgstr "¹Ô¤ÎÁÞÆþ/Äɲäò¤Ç¤¤Þ¤»¤ó" + +msgid "line number out of range" +msgstr "Èϰϳ°¤Î¹ÔÈÖ¹æ¤Ç¤¹" + +msgid "unknown flag: " +msgstr "̤ÃΤΥե饰: " + +msgid "unknown vimOption" +msgstr "̤ÃΤΠvimOption ¤Ç¤¹" + +msgid "keyboard interrupt" +msgstr "¥¡¼¥Ü¡¼¥É³ä¹þ¤ß" + +msgid "vim error" +msgstr "vim ¥¨¥é¡¼" + +msgid "cannot create buffer/window command: object is being deleted" +msgstr "" +"¥Ð¥Ã¥Õ¥¡/¥¦¥£¥ó¥É¥¦ºîÀ®¥³¥Þ¥ó¥É¤òºîÀ®¤Ç¤¤Þ¤»¤ó: ¥ª¥Ö¥¸¥§¥¯¥È¤¬¾Ãµî¤µ¤ì¤Æ¤¤¤Þ" +"¤·¤¿" + +msgid "" +"cannot register callback command: buffer/window is already being deleted" +msgstr "" +"¥³¡¼¥ë¥Ð¥Ã¥¯¥³¥Þ¥ó¥É¤òÅÐÏ¿¤Ç¤¤Þ¤»¤ó: ¥Ð¥Ã¥Õ¥¡/¥¦¥£¥ó¥É¥¦¤¬´û¤Ë¾Ãµî¤µ¤ì¤Þ¤·¤¿" + +#. This should never happen. Famous last word? +msgid "" +"E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-dev@vim." +"org" +msgstr "" +"E280: TCL Ã×̿Ū¥¨¥é¡¼: reflist ±øÀ÷!? vim-dev@vim.org ¤ËÊó¹ð¤·¤Æ¤¯¤À¤µ¤¤" + +msgid "cannot register callback command: buffer/window reference not found" +msgstr "" +"¥³¡¼¥ë¥Ð¥Ã¥¯¥³¥Þ¥ó¥É¤òÅÐÏ¿¤Ç¤¤Þ¤»¤ó: ¥Ð¥Ã¥Õ¥¡/¥¦¥£¥ó¥É¥¦¤Î»²¾È¤¬¸«¤Ä¤«¤ê¤Þ¤»" +"¤ó" + +msgid "" +"E571: Sorry, this command is disabled: the Tcl library could not be loaded." +msgstr "" +"E571: ¤³¤Î¥³¥Þ¥ó¥É¤Ï̵¸ú¤Ç¤¹,¤´¤á¤ó¤Ê¤µ¤¤: Tcl¥é¥¤¥Ö¥é¥ê¤ò¥í¡¼¥É¤Ç¤¤Þ¤»¤ó¤Ç" +"¤·¤¿." + +#, c-format +msgid "E572: exit code %d" +msgstr "E572: ½ªÎ»¥³¡¼¥É %d" + +msgid "cannot get line" +msgstr "¹Ô¤ò¼èÆÀ¤Ç¤¤Þ¤»¤ó" + +msgid "Unable to register a command server name" +msgstr "Ì¿Î᥵¡¼¥Ð¡¼¤Î̾Á°¤òÅÐÏ¿¤Ç¤¤Þ¤»¤ó" + +msgid "E248: Failed to send command to the destination program" +msgstr "E248: ÌÜŪ¤Î¥×¥í¥°¥é¥à¤Ø¤Î¥³¥Þ¥ó¥ÉÁ÷¿®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" + +#, c-format +msgid "E573: Invalid server id used: %s" +msgstr "E573: ̵¸ú¤Ê¥µ¡¼¥Ð¡¼ID¤¬»È¤ï¤ì¤Þ¤·¤¿: %s" + +msgid "E251: VIM instance registry property is badly formed. Deleted!" +msgstr "E251: VIM ¼ÂÂΤÎÅÐÏ¿¥×¥í¥Ñ¥Æ¥£¤¬ÉÔÀµ¤Ç¤¹. ¾Ãµî¤·¤Þ¤·¤¿!" + +#, c-format +msgid "E696: Missing comma in List: %s" +msgstr "E696: ¥ê¥¹¥È·¿¤Ë¥«¥ó¥Þ¤¬¤¢¤ê¤Þ¤»¤ó: %s" + +#, c-format +msgid "E697: Missing end of List ']': %s" +msgstr "E697: ¥ê¥¹¥È·¿¤ÎºÇ¸å¤Ë ']' ¤¬¤¢¤ê¤Þ¤»¤ó: %s" + msgid "Unknown option argument" msgstr "̤ÃΤΥª¥×¥·¥ç¥ó°ú¿ô¤Ç¤¹" -#: ../main.c:146 msgid "Too many edit arguments" msgstr "ÊÔ½¸°ú¿ô¤¬Â¿²á¤®¤Þ¤¹" -#: ../main.c:148 msgid "Argument missing after" msgstr "°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó" -#: ../main.c:150 msgid "Garbage after option argument" msgstr "¥ª¥×¥·¥ç¥ó°ú¿ô¤Î¸å¤Ë¥´¥ß¤¬¤¢¤ê¤Þ¤¹" -#: ../main.c:152 msgid "Too many \"+command\", \"-c command\" or \"--cmd command\" arguments" msgstr "\"+command\", \"-c command\", \"--cmd command\" ¤Î°ú¿ô¤¬Â¿²á¤®¤Þ¤¹" -#: ../main.c:154 msgid "Invalid argument for" msgstr "̵¸ú¤Ê°ú¿ô¤Ç¤¹: " -#: ../main.c:294 #, c-format msgid "%d files to edit\n" msgstr "%d ¸Ä¤Î¥Õ¥¡¥¤¥ë¤¬ÊÔ½¸¤ò¹µ¤¨¤Æ¤¤¤Þ¤¹\n" -#: ../main.c:1342 +msgid "netbeans is not supported with this GUI\n" +msgstr "netbeans ¤Ï¤³¤ÎGUI¤Ç¤ÏÍøÍѤǤ¤Þ¤»¤ó\n" + +msgid "'-nb' cannot be used: not enabled at compile time\n" +msgstr "'-nb' »ÈÍÑÉÔ²Äǽ¤Ç¤¹: ¥³¥ó¥Ñ¥¤¥ë»þ¤Ë̵¸ú¤Ë¤µ¤ì¤Æ¤¤¤Þ¤¹\n" + +msgid "This Vim was not compiled with the diff feature." +msgstr "¤³¤ÎVim¤Ë¤Ïdiffµ¡Ç½¤¬¤¢¤ê¤Þ¤»¤ó(¥³¥ó¥Ñ¥¤¥ë»þÀßÄê)." + msgid "Attempt to open script file again: \"" msgstr "¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë¤òºÆ¤Ó³«¤¤¤Æ¤ß¤Þ¤¹: \"" -#: ../main.c:1350 msgid "Cannot open for reading: \"" msgstr "ÆÉ¹þÍѤȤ·¤Æ³«¤±¤Þ¤»¤ó" -#: ../main.c:1393 msgid "Cannot open for script output: \"" msgstr "¥¹¥¯¥ê¥×¥È½ÐÎÏÍѤò³«¤±¤Þ¤»¤ó" -#: ../main.c:1622 +msgid "Vim: Error: Failure to start gvim from NetBeans\n" +msgstr "Vim: ¥¨¥é¡¼: NetBeans¤«¤égvim¤ò¥¹¥¿¡¼¥È¤Ç¤¤Þ¤»¤ó\n" + +msgid "Vim: Error: This version of Vim does not run in a Cygwin terminal\n" +msgstr "Vim: ¥¨¥é¡¼: ¤³¤Î¥Ð¡¼¥¸¥ç¥ó¤ÎVim¤ÏCygwinüËö¤Ç¤Ïưºî¤·¤Þ¤»¤ó\n" + msgid "Vim: Warning: Output is not to a terminal\n" msgstr "Vim: ·Ù¹ð: üËö¤Ø¤Î½ÐÎϤǤϤ¢¤ê¤Þ¤»¤ó\n" -#: ../main.c:1624 msgid "Vim: Warning: Input is not from a terminal\n" msgstr "Vim: ·Ù¹ð: üËö¤«¤é¤ÎÆþÎϤǤϤ¢¤ê¤Þ¤»¤ó\n" #. just in case.. -#: ../main.c:1891 msgid "pre-vimrc command line" msgstr "vimrcÁ°¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó" -#: ../main.c:1964 #, c-format msgid "E282: Cannot read from \"%s\"" msgstr "E282: \"%s\"¤«¤éÆÉ¹þ¤à¤³¤È¤¬¤Ç¤¤Þ¤»¤ó" -#: ../main.c:2149 msgid "" "\n" "More info with: \"vim -h\"\n" @@ -3363,23 +2893,18 @@ msgstr "" "\n" "¤è¤ê¾ÜºÙ¤Ê¾ðÊó¤Ï: \"vim -h\"\n" -#: ../main.c:2178 msgid "[file ..] edit specified file(s)" msgstr "[¥Õ¥¡¥¤¥ë..] ¤¢¤ë¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤¹¤ë" -#: ../main.c:2179 msgid "- read text from stdin" msgstr "- ɸ½àÆþÎϤ«¤é¥Æ¥¥¹¥È¤òÆÉ¹þ¤à" -#: ../main.c:2180 msgid "-t tag edit file where tag is defined" msgstr "-t ¥¿¥° ¥¿¥°¤¬ÄêµÁ¤µ¤ì¤¿¤È¤³¤í¤«¤éÊÔ½¸¤¹¤ë" -#: ../main.c:2181 msgid "-q [errorfile] edit file with first error" msgstr "-q [errorfile] ºÇ½é¤Î¥¨¥é¡¼¤ÇÊÔ½¸¤¹¤ë" -#: ../main.c:2187 msgid "" "\n" "\n" @@ -3389,11 +2914,9 @@ msgstr "" "\n" "»ÈÍÑË¡:" -#: ../main.c:2189 msgid " vim [arguments] " msgstr " vim [°ú¿ô] " -#: ../main.c:2193 msgid "" "\n" " or:" @@ -3401,7 +2924,13 @@ msgstr "" "\n" " ¤â¤·¤¯¤Ï:" -#: ../main.c:2196 +msgid "" +"\n" +"Where case is ignored prepend / to make flag upper case" +msgstr "" +"\n" +"Â羮ʸ»ú¤¬Ìµ»ë¤µ¤ì¤ë¾ì¹ç¤ÏÂçʸ»ú¤Ë¤¹¤ë¤¿¤á¤Ë / ¤òÁ°ÃÖ¤·¤Æ¤¯¤À¤µ¤¤" + msgid "" "\n" "\n" @@ -3411,189 +2940,319 @@ msgstr "" "\n" "°ú¿ô:\n" -#: ../main.c:2197 msgid "--\t\t\tOnly file names after this" msgstr "--\t\t\t¤³¤Î¤¢¤È¤Ë¤Ï¥Õ¥¡¥¤¥ë̾¤À¤±" -#: ../main.c:2199 msgid "--literal\t\tDon't expand wildcards" msgstr "--literal\t\t¥ï¥¤¥ë¥É¥«¡¼¥É¤òŸ³«¤·¤Ê¤¤" -#: ../main.c:2201 +msgid "-register\t\tRegister this gvim for OLE" +msgstr "-register\t\t¤³¤Îgvim¤òOLE¤È¤·¤ÆÅÐÏ¿¤¹¤ë" + +msgid "-unregister\t\tUnregister gvim for OLE" +msgstr "-unregister\t\tgvim¤ÎOLEÅÐÏ¿¤ò²ò½ü¤¹¤ë" + +msgid "-g\t\t\tRun using GUI (like \"gvim\")" +msgstr "-g\t\t\tGUI¤Çµ¯Æ°¤¹¤ë (\"gvim\" ¤ÈƱ¤¸)" + +msgid "-f or --nofork\tForeground: Don't fork when starting GUI" +msgstr "-f or --nofork\t¥Õ¥©¥¢¥°¥é¥¦¥ó¥É: GUI¤ò»Ï¤á¤ë¤È¤¤Ëfork¤·¤Ê¤¤" + msgid "-v\t\t\tVi mode (like \"vi\")" msgstr "-v\t\t\tVi¥â¡¼¥É (\"vi\" ¤ÈƱ¤¸)" -#: ../main.c:2202 msgid "-e\t\t\tEx mode (like \"ex\")" msgstr "-e\t\t\tEx¥â¡¼¥É (\"ex\" ¤ÈƱ¤¸)" -#: ../main.c:2203 msgid "-E\t\t\tImproved Ex mode" msgstr "-E\t\t\t²þÎÉEx¥â¡¼¥É" -#: ../main.c:2204 msgid "-s\t\t\tSilent (batch) mode (only for \"ex\")" msgstr "-s\t\t\t¥µ¥¤¥ì¥ó¥È(¥Ð¥Ã¥Á)¥â¡¼¥É (\"ex\" ÀìÍÑ)" -#: ../main.c:2205 msgid "-d\t\t\tDiff mode (like \"vimdiff\")" msgstr "-d\t\t\tº¹Ê¬¥â¡¼¥É (\"vidiff\" ¤ÈƱ¤¸)" -#: ../main.c:2206 msgid "-y\t\t\tEasy mode (like \"evim\", modeless)" msgstr "-y\t\t\t¥¤¡¼¥¸¡¼¥â¡¼¥É (\"evim\" ¤ÈƱ¤¸, ¥â¡¼¥É̵)" -#: ../main.c:2207 msgid "-R\t\t\tReadonly mode (like \"view\")" msgstr "-R\t\t\tÆÉ¹þÀìÍѥ⡼¥É (\"view\" ¤ÈƱ¤¸)" -#: ../main.c:2208 msgid "-Z\t\t\tRestricted mode (like \"rvim\")" msgstr "-Z\t\t\tÀ©¸Â¥â¡¼¥É (\"rvim\" ¤ÈƱ¤¸)" -#: ../main.c:2209 msgid "-m\t\t\tModifications (writing files) not allowed" msgstr "-m\t\t\tÊѹ¹ (¥Õ¥¡¥¤¥ëÊݸ»þ) ¤ò¤Ç¤¤Ê¤¤¤è¤¦¤Ë¤¹¤ë" -#: ../main.c:2210 msgid "-M\t\t\tModifications in text not allowed" msgstr "-M\t\t\t¥Æ¥¥¹¥È¤ÎÊÔ½¸¤ò¹Ô¤Ê¤¨¤Ê¤¤¤è¤¦¤Ë¤¹¤ë" -#: ../main.c:2211 msgid "-b\t\t\tBinary mode" msgstr "-b\t\t\t¥Ð¥¤¥Ê¥ê¥â¡¼¥É" -#: ../main.c:2212 msgid "-l\t\t\tLisp mode" msgstr "-l\t\t\tLisp¥â¡¼¥É" -#: ../main.c:2213 msgid "-C\t\t\tCompatible with Vi: 'compatible'" msgstr "-C\t\t\tVi¸ß´¹¥â¡¼¥É: 'compatible'" -#: ../main.c:2214 msgid "-N\t\t\tNot fully Vi compatible: 'nocompatible'" msgstr "-N\t\t\tViÈó¸ß´¹¥â¡¼¥É: 'nocompatible" -#: ../main.c:2215 msgid "-V[N][fname]\t\tBe verbose [level N] [log messages to fname]" msgstr "-V[N][fname]\t\t¥í¥°½ÐÎÏÀßÄê [¥ì¥Ù¥ë N] [¥í¥°¥Õ¥¡¥¤¥ë̾ fname]" -#: ../main.c:2216 msgid "-D\t\t\tDebugging mode" msgstr "-D\t\t\t¥Ç¥Ð¥Ã¥°¥â¡¼¥É" -#: ../main.c:2217 msgid "-n\t\t\tNo swap file, use memory only" msgstr "-n\t\t\t¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤ò»ÈÍѤ»¤º¥á¥â¥ê¤À¤±" -#: ../main.c:2218 msgid "-r\t\t\tList swap files and exit" msgstr "-r\t\t\t¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤òÎóµó¤·½ªÎ»" -#: ../main.c:2219 msgid "-r (with file name)\tRecover crashed session" msgstr "-r (¥Õ¥¡¥¤¥ë̾)\t¥¯¥é¥Ã¥·¥å¤·¤¿¥»¥Ã¥·¥ç¥ó¤òÉüµ¢" -#: ../main.c:2220 msgid "-L\t\t\tSame as -r" msgstr "-L\t\t\t-r¤ÈƱ¤¸" -#: ../main.c:2221 +msgid "-f\t\t\tDon't use newcli to open window" +msgstr "-f\t\t\t¥¦¥£¥ó¥É¥¦¤ò³«¤¯¤Î¤Ë newcli ¤ò»ÈÍѤ·¤Ê¤¤" + +msgid "-dev <device>\t\tUse <device> for I/O" +msgstr "-dev <device>\t\tI/O¤Ë <device> ¤ò»ÈÍѤ¹¤ë" + msgid "-A\t\t\tstart in Arabic mode" msgstr "-A\t\t\t¥¢¥é¥Ó¥¢¸ì¥â¡¼¥É¤Çµ¯Æ°¤¹¤ë" -#: ../main.c:2222 msgid "-H\t\t\tStart in Hebrew mode" msgstr "-H\t\t\t¥Ø¥Ö¥é¥¤¸ì¥â¡¼¥É¤Çµ¯Æ°¤¹¤ë" -#: ../main.c:2223 msgid "-F\t\t\tStart in Farsi mode" msgstr "-F\t\t\t¥Ú¥ë¥·¥¢¸ì¥â¡¼¥É¤Çµ¯Æ°¤¹¤ë" -#: ../main.c:2224 msgid "-T <terminal>\tSet terminal type to <terminal>" msgstr "-T <terminal>\tüËö¤ò <terminal> ¤ËÀßÄꤹ¤ë" -#: ../main.c:2225 +msgid "--not-a-term\t\tSkip warning for input/output not being a terminal" +msgstr "--not-a-term\t\tÆþ½ÐÎϤ¬Ã¼Ëö¤Ç¤Ê¤¤¤È¤Î·Ù¹ð¤ò¥¹¥¥Ã¥×¤¹¤ë" + msgid "-u <vimrc>\t\tUse <vimrc> instead of any .vimrc" msgstr "-u <vimrc>\t\t.vimrc¤ÎÂå¤ï¤ê¤Ë <vimrc> ¤ò»È¤¦" -#: ../main.c:2226 +msgid "-U <gvimrc>\t\tUse <gvimrc> instead of any .gvimrc" +msgstr "-U <gvimrc>\t\t.gvimrc¤ÎÂå¤ï¤ê¤Ë <gvimrc> ¤ò»È¤¦" + msgid "--noplugin\t\tDon't load plugin scripts" msgstr "--noplugin\t\t¥×¥é¥°¥¤¥ó¥¹¥¯¥ê¥×¥È¤ò¥í¡¼¥É¤·¤Ê¤¤" -#: ../main.c:2227 msgid "-p[N]\t\tOpen N tab pages (default: one for each file)" msgstr "-p[N]\t\tN ¸Ä¥¿¥Ö¥Ú¡¼¥¸¤ò³«¤¯(¾ÊάÃÍ: ¥Õ¥¡¥¤¥ë¤Ë¤Ä¤1¸Ä)" -#: ../main.c:2228 msgid "-o[N]\t\tOpen N windows (default: one for each file)" msgstr "-o[N]\t\tN ¸Ä¥¦¥£¥ó¥É¥¦¤ò³«¤¯(¾ÊάÃÍ: ¥Õ¥¡¥¤¥ë¤Ë¤Ä¤1¸Ä)" -#: ../main.c:2229 msgid "-O[N]\t\tLike -o but split vertically" msgstr "-O[N]\t\t-o¤ÈƱ¤¸¤À¤¬¿âľʬ³ä" -#: ../main.c:2230 msgid "+\t\t\tStart at end of file" msgstr "+\t\t\t¥Õ¥¡¥¤¥ë¤ÎºÇ¸å¤«¤é¤Ï¤¸¤á¤ë" -#: ../main.c:2231 msgid "+<lnum>\t\tStart at line <lnum>" msgstr "+<lnum>\t\t<lnum> ¹Ô¤«¤é¤Ï¤¸¤á¤ë" -#: ../main.c:2232 msgid "--cmd <command>\tExecute <command> before loading any vimrc file" msgstr "--cmd <command>\tvimrc¤ò¥í¡¼¥É¤¹¤ëÁ°¤Ë <command> ¤ò¼Â¹Ô¤¹¤ë" -#: ../main.c:2233 msgid "-c <command>\t\tExecute <command> after loading the first file" msgstr "-c <command>\t\tºÇ½é¤Î¥Õ¥¡¥¤¥ë¤ò¥í¡¼¥É¸å <command> ¤ò¼Â¹Ô¤¹¤ë" -#: ../main.c:2235 msgid "-S <session>\t\tSource file <session> after loading the first file" msgstr "-S <session>\t\tºÇ½é¤Î¥Õ¥¡¥¤¥ë¤ò¥í¡¼¥É¸å¥Õ¥¡¥¤¥ë <session> ¤ò¼è¹þ¤à" -#: ../main.c:2236 msgid "-s <scriptin>\tRead Normal mode commands from file <scriptin>" msgstr "-s <scriptin>\t¥Õ¥¡¥¤¥ë <scriptin> ¤«¤é¥Î¡¼¥Þ¥ë¥³¥Þ¥ó¥É¤òÆÉ¹þ¤à" -#: ../main.c:2237 msgid "-w <scriptout>\tAppend all typed commands to file <scriptout>" msgstr "-w <scriptout>\tÆþÎϤ·¤¿Á´¥³¥Þ¥ó¥É¤ò¥Õ¥¡¥¤¥ë <scriptout> ¤ËÄɲ乤ë" -#: ../main.c:2238 msgid "-W <scriptout>\tWrite all typed commands to file <scriptout>" msgstr "-W <scriptout>\tÆþÎϤ·¤¿Á´¥³¥Þ¥ó¥É¤ò¥Õ¥¡¥¤¥ë <scriptout> ¤ËÊݸ¤¹¤ë" -#: ../main.c:2240 +msgid "-x\t\t\tEdit encrypted files" +msgstr "-x\t\t\t°Å¹æ²½¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤¹¤ë" + +msgid "-display <display>\tConnect vim to this particular X-server" +msgstr "-display <display>\tvim¤ò»ØÄꤷ¤¿ X ¥µ¡¼¥Ð¡¼¤ËÀܳ¤¹¤ë" + +msgid "-X\t\t\tDo not connect to X server" +msgstr "-X\t\t\tX¥µ¡¼¥Ð¡¼¤ËÀܳ¤·¤Ê¤¤" + +msgid "--remote <files>\tEdit <files> in a Vim server if possible" +msgstr "--remote <files>\t²Äǽ¤Ê¤é¤ÐVim¥µ¡¼¥Ð¡¼¤Ç <files> ¤òÊÔ½¸¤¹¤ë" + +msgid "--remote-silent <files> Same, don't complain if there is no server" +msgstr "--remote-silent <files> Ʊ¾å, ¥µ¡¼¥Ð¡¼¤¬Ìµ¤¯¤Æ¤â·Ù¹ðʸ¤ò½ÐÎϤ·¤Ê¤¤" + +msgid "" +"--remote-wait <files> As --remote but wait for files to have been edited" +msgstr "--remote-wait <files>\t--remote¸å ¥Õ¥¡¥¤¥ë¤ÎÊÔ½¸¤¬½ª¤ï¤ë¤Î¤òÂÔ¤Ä" + +msgid "" +"--remote-wait-silent <files> Same, don't complain if there is no server" +msgstr "" +"--remote-wait-silent <files> Ʊ¾å, ¥µ¡¼¥Ð¡¼¤¬Ìµ¤¯¤Æ¤â·Ù¹ðʸ¤ò½ÐÎϤ·¤Ê¤¤" + +msgid "" +"--remote-tab[-wait][-silent] <files> As --remote but use tab page per file" +msgstr "" +"--remote-tab[-wait][-silent] <files> --remote¤Ç¥Õ¥¡¥¤¥ë1¤Ä¤Ë¤Ä¤1¤Ä¤Î¥¿¥Ö" +"¥Ú¡¼¥¸¤ò³«¤¯" + +msgid "--remote-send <keys>\tSend <keys> to a Vim server and exit" +msgstr "--remote-send <keys>\tVim¥µ¡¼¥Ð¡¼¤Ë <keys> ¤òÁ÷¿®¤·¤Æ½ªÎ»¤¹¤ë" + +msgid "--remote-expr <expr>\tEvaluate <expr> in a Vim server and print result" +msgstr "--remote-expr <expr>\t¥µ¡¼¥Ð¡¼¤Ç <expr> ¤ò¼Â¹Ô¤·¤Æ·ë²Ì¤òɽ¼¨¤¹¤ë" + +msgid "--serverlist\t\tList available Vim server names and exit" +msgstr "--serverlist\t\tVim¥µ¡¼¥Ð¡¼Ì¾¤Î°ìÍ÷¤òɽ¼¨¤·¤Æ½ªÎ»¤¹¤ë" + +msgid "--servername <name>\tSend to/become the Vim server <name>" +msgstr "--servername <name>\tVim¥µ¡¼¥Ð¡¼ <name> ¤ËÁ÷¿®/̾Á°ÀßÄꤹ¤ë" + msgid "--startuptime <file>\tWrite startup timing messages to <file>" msgstr "--startuptime <file>\tµ¯Æ°¤Ë¤«¤«¤Ã¤¿»þ´Ö¤Î¾ÜºÙ¤ò <file> ¤Ø½ÐÎϤ¹¤ë" -#: ../main.c:2242 msgid "-i <viminfo>\t\tUse <viminfo> instead of .viminfo" msgstr "-i <viminfo>\t\t.viminfo¤ÎÂå¤ï¤ê¤Ë <viminfo> ¤ò»È¤¦" -#: ../main.c:2243 msgid "-h or --help\tPrint Help (this message) and exit" msgstr "-h or --help\t¥Ø¥ë¥×(¤³¤Î¥á¥Ã¥»¡¼¥¸)¤òɽ¼¨¤·½ªÎ»¤¹¤ë" -#: ../main.c:2244 msgid "--version\t\tPrint version information and exit" msgstr "--version\t\t¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·½ªÎ»¤¹¤ë" -#: ../mark.c:676 +msgid "" +"\n" +"Arguments recognised by gvim (Motif version):\n" +msgstr "" +"\n" +"gvim¤Ë¤è¤Ã¤Æ²ò¼á¤µ¤ì¤ë°ú¿ô(Motif¥Ð¡¼¥¸¥ç¥ó):\n" + +msgid "" +"\n" +"Arguments recognised by gvim (neXtaw version):\n" +msgstr "" +"\n" +"gvim¤Ë¤è¤Ã¤Æ²ò¼á¤µ¤ì¤ë°ú¿ô(neXtaw¥Ð¡¼¥¸¥ç¥ó):\n" + +msgid "" +"\n" +"Arguments recognised by gvim (Athena version):\n" +msgstr "" +"\n" +"gvim¤Ë¤è¤Ã¤Æ²ò¼á¤µ¤ì¤ë°ú¿ô(Athena¥Ð¡¼¥¸¥ç¥ó):\n" + +msgid "-display <display>\tRun vim on <display>" +msgstr "-display <display>\t<display> ¤Çvim¤ò¼Â¹Ô¤¹¤ë" + +msgid "-iconic\t\tStart vim iconified" +msgstr "-iconic\t\tºÇ¾®²½¤·¤¿¾õÂÖ¤Çvim¤òµ¯Æ°¤¹¤ë" + +msgid "-background <color>\tUse <color> for the background (also: -bg)" +msgstr "-background <color>\tÇØ·Ê¿§¤Ë <color> ¤ò»È¤¦(ƱµÁ: -bg)" + +msgid "-foreground <color>\tUse <color> for normal text (also: -fg)" +msgstr "-foreground <color>\tÁ°·Ê¿§¤Ë <color> ¤ò»È¤¦(ƱµÁ: -fg)" + +msgid "-font <font>\t\tUse <font> for normal text (also: -fn)" +msgstr "-font <font>\t\t¥Æ¥¥¹¥Èɽ¼¨¤Ë <font> ¤ò»È¤¦(ƱµÁ: -fn)" + +msgid "-boldfont <font>\tUse <font> for bold text" +msgstr "-boldfont <font>\tÂÀ»ú¤Ë <font> ¤ò»È¤¦" + +msgid "-italicfont <font>\tUse <font> for italic text" +msgstr "-italicfont <for>\t¼ÐÂλú¤Ë <font> ¤ò»È¤¦" + +msgid "-geometry <geom>\tUse <geom> for initial geometry (also: -geom)" +msgstr "-geometry <geom>\t½é´üÇÛÃÖ¤Ë <geom> ¤ò»È¤¦(ƱµÁ: -geom)" + +msgid "-borderwidth <width>\tUse a border width of <width> (also: -bw)" +msgstr "-borderwidth <width>\t¶³¦¤ÎÉý¤ò <width> ¤Ë¤¹¤ë(ƱµÁ: -bw)" + +msgid "-scrollbarwidth <width> Use a scrollbar width of <width> (also: -sw)" +msgstr "" +"-scrollbarwidth <width> ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤ÎÉý¤ò <width> ¤Ë¤¹¤ë(ƱµÁ: -sw)" + +msgid "-menuheight <height>\tUse a menu bar height of <height> (also: -mh)" +msgstr "-menuheight <height>\t¥á¥Ë¥å¡¼¥Ð¡¼¤Î¹â¤µ¤ò <height> ¤Ë¤¹¤ë(ƱµÁ: -mh)" + +msgid "-reverse\t\tUse reverse video (also: -rv)" +msgstr "-reverse\t\tȿž±ÇÁü¤ò»ÈÍѤ¹¤ë(ƱµÁ: -rv)" + +msgid "+reverse\t\tDon't use reverse video (also: +rv)" +msgstr "+reverse\t\tȿž±ÇÁü¤ò»ÈÍѤ·¤Ê¤¤(ƱµÁ: +rv)" + +msgid "-xrm <resource>\tSet the specified resource" +msgstr "-xrm <resource>\tÆÃÄê¤Î¥ê¥½¡¼¥¹¤ò»ÈÍѤ¹¤ë" + +msgid "" +"\n" +"Arguments recognised by gvim (GTK+ version):\n" +msgstr "" +"\n" +"gvim¤Ë¤è¤Ã¤Æ²ò¼á¤µ¤ì¤ë°ú¿ô(GTK+¥Ð¡¼¥¸¥ç¥ó):\n" + +msgid "-display <display>\tRun vim on <display> (also: --display)" +msgstr "-display <display>\t<display> ¤Çvim¤ò¼Â¹Ô¤¹¤ë(ƱµÁ: --display)" + +msgid "--role <role>\tSet a unique role to identify the main window" +msgstr "--role <role>\t¥á¥¤¥ó¥¦¥£¥ó¥É¥¦¤ò¼±Ê̤¹¤ë°ì°Õ¤ÊÌò³ä(role)¤òÀßÄꤹ¤ë" + +msgid "--socketid <xid>\tOpen Vim inside another GTK widget" +msgstr "--socketid <xid>\t°Û¤Ê¤ëGTK widget¤ÇVim¤ò³«¤¯" + +msgid "--echo-wid\t\tMake gvim echo the Window ID on stdout" +msgstr "--echo-wid\t\t¥¦¥£¥ó¥É¥¦ID¤òɸ½à½ÐÎϤ˽ÐÎϤ¹¤ë" + +msgid "-P <parent title>\tOpen Vim inside parent application" +msgstr "-P <¿Æ¤Î¥¿¥¤¥È¥ë>\tVim¤ò¿Æ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎÃæ¤Çµ¯Æ°¤¹¤ë" + +msgid "--windowid <HWND>\tOpen Vim inside another win32 widget" +msgstr "--windowid <HWND>\t°Û¤Ê¤ëWin32 widget¤ÎÆâÉô¤ËVim¤ò³«¤¯" + +msgid "No display" +msgstr "¥Ç¥£¥¹¥×¥ì¥¤¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó" + +#. Failed to send, abort. +msgid ": Send failed.\n" +msgstr ": Á÷¿®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿.\n" + +#. Let vim start normally. +msgid ": Send failed. Trying to execute locally\n" +msgstr ": Á÷¿®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿. ¥í¡¼¥«¥ë¤Ç¤Î¼Â¹Ô¤ò»î¤ß¤Æ¤¤¤Þ¤¹\n" + +#, c-format +msgid "%d of %d edited" +msgstr "%d ¸Ä (%d ¸ÄÃæ) ¤Î¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤·¤Þ¤·¤¿" + +msgid "No display: Send expression failed.\n" +msgstr "¥Ç¥£¥¹¥×¥ì¥¤¤¬¤¢¤ê¤Þ¤»¤ó: ¼°¤ÎÁ÷¿®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿.\n" + +msgid ": Send expression failed.\n" +msgstr ": ¼°¤ÎÁ÷¿®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿.\n" + msgid "No marks set" msgstr "¥Þ¡¼¥¯¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó" -#: ../mark.c:678 #, c-format msgid "E283: No marks matching \"%s\"" msgstr "E283: \"%s\" ¤Ë³ºÅö¤¹¤ë¥Þ¡¼¥¯¤¬¤¢¤ê¤Þ¤»¤ó" #. Highlight title -#: ../mark.c:687 msgid "" "\n" "mark line col file/text" @@ -3602,7 +3261,6 @@ msgstr "" "mark ¹Ô Îó ¥Õ¥¡¥¤¥ë/¥Æ¥¥¹¥È" #. Highlight title -#: ../mark.c:789 msgid "" "\n" " jump line col file/text" @@ -3611,7 +3269,6 @@ msgstr "" " jump ¹Ô Îó ¥Õ¥¡¥¤¥ë/¥Æ¥¥¹¥È" #. Highlight title -#: ../mark.c:831 msgid "" "\n" "change line col text" @@ -3619,7 +3276,6 @@ msgstr "" "\n" "Êѹ¹ ¹Ô Îó ¥Æ¥¥¹¥È" -#: ../mark.c:1238 msgid "" "\n" "# File marks:\n" @@ -3628,7 +3284,6 @@ msgstr "" "# ¥Õ¥¡¥¤¥ë¥Þ¡¼¥¯:\n" #. Write the jumplist with -' -#: ../mark.c:1271 msgid "" "\n" "# Jumplist (newest first):\n" @@ -3636,7 +3291,6 @@ msgstr "" "\n" "# ¥¸¥ã¥ó¥×¥ê¥¹¥È (¿·¤·¤¤¤â¤Î¤¬Àè):\n" -#: ../mark.c:1352 msgid "" "\n" "# History of marks within files (newest to oldest):\n" @@ -3644,84 +3298,88 @@ msgstr "" "\n" "# ¥Õ¥¡¥¤¥ëÆâ¥Þ¡¼¥¯¤ÎÍúÎò (¿·¤·¤¤¤â¤Î¤«¤é¸Å¤¤¤â¤Î):\n" -#: ../mark.c:1431 msgid "Missing '>'" msgstr "'>' ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó" -#: ../memfile.c:426 +msgid "E543: Not a valid codepage" +msgstr "E543: ̵¸ú¤Ê¥³¡¼¥É¥Ú¡¼¥¸¤Ç¤¹" + +msgid "E284: Cannot set IC values" +msgstr "E284: IC¤ÎÃͤòÀßÄê¤Ç¤¤Þ¤»¤ó" + +msgid "E285: Failed to create input context" +msgstr "E285: ¥¤¥ó¥×¥Ã¥È¥³¥ó¥Æ¥¥¹¥È¤ÎºîÀ®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" + +msgid "E286: Failed to open input method" +msgstr "E286: ¥¤¥ó¥×¥Ã¥È¥á¥½¥Ã¥É¤Î¥ª¡¼¥×¥ó¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" + +msgid "E287: Warning: Could not set destroy callback to IM" +msgstr "E287: ·Ù¹ð: IM¤ÎÇ˲õ¥³¡¼¥ë¥Ð¥Ã¥¯¤òÀßÄê¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿" + +msgid "E288: input method doesn't support any style" +msgstr "E288: ¥¤¥ó¥×¥Ã¥È¥á¥½¥Ã¥É¤Ï¤É¤ó¤Ê¥¹¥¿¥¤¥ë¤â¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó" + +msgid "E289: input method doesn't support my preedit type" +msgstr "E289: ¥¤¥ó¥×¥Ã¥È¥á¥½¥Ã¥É¤Ï my preedit type ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó" + msgid "E293: block was not locked" msgstr "E293: ¥Ö¥í¥Ã¥¯¤¬¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" -#: ../memfile.c:799 msgid "E294: Seek error in swap file read" msgstr "E294: ¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ëÆÉ¹þ»þ¤Ë¥·¡¼¥¯¥¨¥é¡¼¤Ç¤¹" -#: ../memfile.c:803 msgid "E295: Read error in swap file" msgstr "E295: ¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤ÎÆÉ¹þ¤ß¥¨¥é¡¼¤Ç¤¹" -#: ../memfile.c:849 msgid "E296: Seek error in swap file write" msgstr "E296: ¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë½ñ¹þ¤ß»þ¤Ë¥·¡¼¥¯¥¨¥é¡¼¤Ç¤¹" -#: ../memfile.c:865 msgid "E297: Write error in swap file" msgstr "E297: ¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤Î½ñ¹þ¤ß¥¨¥é¡¼¤Ç¤¹" -#: ../memfile.c:1036 msgid "E300: Swap file already exists (symlink attack?)" msgstr "E300: ¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤¬´û¤Ë¸ºß¤·¤Þ¤¹ (symlink¤Ë¤è¤ë¹¶·â?)" -#: ../memline.c:318 msgid "E298: Didn't get block nr 0?" msgstr "E298: ¥Ö¥í¥Ã¥¯ 0 ¤ò¼èÆÀ¤Ç¤¤Þ¤»¤ó?" -#: ../memline.c:361 msgid "E298: Didn't get block nr 1?" msgstr "E298: ¥Ö¥í¥Ã¥¯ 1 ¤ò¼èÆÀ¤Ç¤¤Þ¤»¤ó?" -#: ../memline.c:377 msgid "E298: Didn't get block nr 2?" msgstr "E298: ¥Ö¥í¥Ã¥¯ 2 ¤ò¼èÆÀ¤Ç¤¤Þ¤»¤ó?" +msgid "E843: Error while updating swap file crypt" +msgstr "E843: ¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤Î°Å¹æ¤ò¹¹¿·Ãæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿" + #. could not (re)open the swap file, what can we do???? -#: ../memline.c:465 msgid "E301: Oops, lost the swap file!!!" msgstr "E301: ¤ª¤Ã¤È, ¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤¬¼º¤ï¤ì¤Þ¤·¤¿!!!" -#: ../memline.c:477 msgid "E302: Could not rename swap file" msgstr "E302: ¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤Î̾Á°¤òÊѤ¨¤é¤ì¤Þ¤»¤ó" -#: ../memline.c:554 #, c-format msgid "E303: Unable to open swap file for \"%s\", recovery impossible" msgstr "E303: \"%s\" ¤Î¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤ò³«¤±¤Ê¤¤¤Î¤Ç¥ê¥«¥Ð¥ê¤ÏÉÔ²Äǽ¤Ç¤¹" -#: ../memline.c:666 msgid "E304: ml_upd_block0(): Didn't get block 0??" msgstr "E304: ml_upd_block0(): ¥Ö¥í¥Ã¥¯ 0 ¤ò¼èÆÀ¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿??" -#. no swap files found -#: ../memline.c:830 #, c-format msgid "E305: No swap file found for %s" msgstr "E305: %s ¤Ë¤Ï¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó" -#: ../memline.c:839 msgid "Enter number of swap file to use (0 to quit): " msgstr "»ÈÍѤ¹¤ë¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤ÎÈÖ¹æ¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤(0 ¤Ç½ªÎ»): " -#: ../memline.c:879 #, c-format msgid "E306: Cannot open %s" msgstr "E306: %s ¤ò³«¤±¤Þ¤»¤ó" -#: ../memline.c:897 msgid "Unable to read block 0 from " msgstr "¥Ö¥í¥Ã¥¯ 0 ¤òÆÉ¹þ¤á¤Þ¤»¤ó " -#: ../memline.c:900 msgid "" "\n" "Maybe no changes were made or Vim did not update the swap file." @@ -3729,28 +3387,22 @@ msgstr "" "\n" "¶²¤é¤¯Êѹ¹¤¬¤µ¤ì¤Æ¤¤¤Ê¤¤¤«Vim¤¬¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤ò¹¹¿·¤·¤Æ¤¤¤Þ¤»¤ó." -#: ../memline.c:909 msgid " cannot be used with this version of Vim.\n" msgstr " Vim¤Î¤³¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï»ÈÍѤǤ¤Þ¤»¤ó.\n" -#: ../memline.c:911 msgid "Use Vim version 3.0.\n" msgstr "Vim¤Î¥Ð¡¼¥¸¥ç¥ó3.0¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤.\n" -#: ../memline.c:916 #, c-format msgid "E307: %s does not look like a Vim swap file" msgstr "E307: %s ¤ÏVim¤Î¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤Ç¤Ï¤Ê¤¤¤è¤¦¤Ç¤¹" -#: ../memline.c:922 msgid " cannot be used on this computer.\n" msgstr " ¤³¤Î¥³¥ó¥Ô¥å¡¼¥¿¤Ç¤Ï»ÈÍѤǤ¤Þ¤»¤ó.\n" -#: ../memline.c:924 msgid "The file was created on " msgstr "¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¼¡¤Î¾ì½ê¤Çºî¤é¤ì¤Þ¤·¤¿ " -#: ../memline.c:928 msgid "" ",\n" "or the file has been damaged." @@ -3758,85 +3410,104 @@ msgstr "" ",\n" "¤â¤·¤¯¤Ï¥Õ¥¡¥¤¥ë¤¬Â»½ý¤·¤Æ¤¤¤Þ¤¹." -#: ../memline.c:945 +#, c-format +msgid "" +"E833: %s is encrypted and this version of Vim does not support encryption" +msgstr "" +"E833: %s ¤Ï¤³¤Î¥Ð¡¼¥¸¥ç¥ó¤ÎVim¤Ç¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤·Á¼°¤Ç°Å¹æ²½¤µ¤ì¤Æ¤¤¤Þ¤¹" + msgid " has been damaged (page size is smaller than minimum value).\n" msgstr " ¤Ï»½ý¤·¤Æ¤¤¤Þ¤¹ (¥Ú¡¼¥¸¥µ¥¤¥º¤¬ºÇ¾®Ãͤò²¼²ó¤Ã¤Æ¤¤¤Þ¤¹).\n" -#: ../memline.c:974 #, c-format msgid "Using swap file \"%s\"" msgstr "¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë \"%s\" ¤ò»ÈÍÑÃæ" -#: ../memline.c:980 #, c-format msgid "Original file \"%s\"" msgstr "¸¶ËÜ¥Õ¥¡¥¤¥ë \"%s\"" -#: ../memline.c:995 msgid "E308: Warning: Original file may have been changed" msgstr "E308: ·Ù¹ð: ¸¶ËÜ¥Õ¥¡¥¤¥ë¤¬Êѹ¹¤µ¤ì¤Æ¤¤¤Þ¤¹" -#: ../memline.c:1061 +#, c-format +msgid "Swap file is encrypted: \"%s\"" +msgstr "¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤Ï°Å¹æ²½¤µ¤ì¤Æ¤¤¤Þ¤¹: \"%s\"" + +msgid "" +"\n" +"If you entered a new crypt key but did not write the text file," +msgstr "" +"\n" +"¿·¤·¤¤°Å¹æ¥¡¼¤òÆþÎϤ·¤¿¤¢¤È¤Ë¥Æ¥¥¹¥È¥Õ¥¡¥¤¥ë¤òÊݸ¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï," + +msgid "" +"\n" +"enter the new crypt key." +msgstr "" +"\n" +"¿·¤·¤¤°Å¹æ¥¡¼¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤." + +msgid "" +"\n" +"If you wrote the text file after changing the crypt key press enter" +msgstr "" +"\n" +"°Å¹æ¥¡¼¤òÊѤ¨¤¿¤¢¤È¤Ë¥Æ¥¥¹¥È¥Õ¥¡¥¤¥ë¤òÊݸ¤·¤¿¾ì¹ç¤Ï, ¥Æ¥¥¹¥È¥Õ¥¡¥¤¥ë¤È" + +msgid "" +"\n" +"to use the same key for text file and swap file" +msgstr "" +"\n" +"¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤ËƱ¤¸°Å¹æ¥¡¼¤ò»È¤¦¤¿¤á¤Ëenter¤À¤±¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤." + #, c-format msgid "E309: Unable to read block 1 from %s" msgstr "E309: %s ¤«¤é¥Ö¥í¥Ã¥¯ 1 ¤òÆÉ¹þ¤á¤Þ¤»¤ó" -#: ../memline.c:1065 msgid "???MANY LINES MISSING" msgstr "???¿¤¯¤Î¹Ô¤¬¼º¤ï¤ì¤Æ¤¤¤Þ¤¹" -#: ../memline.c:1076 msgid "???LINE COUNT WRONG" msgstr "???¹Ô¿ô¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹" -#: ../memline.c:1082 msgid "???EMPTY BLOCK" msgstr "???¥Ö¥í¥Ã¥¯¤¬¶õ¤Ç¤¹" -#: ../memline.c:1103 msgid "???LINES MISSING" msgstr "???¹Ô¤¬¼º¤ï¤ì¤Æ¤¤¤Þ¤¹" -#: ../memline.c:1128 #, c-format msgid "E310: Block 1 ID wrong (%s not a .swp file?)" msgstr "E310: ¥Ö¥í¥Ã¥¯ 1 ¤ÎID¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹(%s ¤¬.swp¥Õ¥¡¥¤¥ë¤Ç¤Ê¤¤?)" -#: ../memline.c:1133 msgid "???BLOCK MISSING" msgstr "???¥Ö¥í¥Ã¥¯¤¬¤¢¤ê¤Þ¤»¤ó" -#: ../memline.c:1147 msgid "??? from here until ???END lines may be messed up" msgstr "??? ¤³¤³¤«¤é ???END ¤Þ¤Ç¤Î¹Ô¤¬Ç˲õ¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ç¤¹" -#: ../memline.c:1164 msgid "??? from here until ???END lines may have been inserted/deleted" msgstr "??? ¤³¤³¤«¤é ???END ¤Þ¤Ç¤Î¹Ô¤¬ÁÞÆþ¤«ºï½ü¤µ¤ì¤¿¤è¤¦¤Ç¤¹" -#: ../memline.c:1181 msgid "???END" msgstr "???END" -#: ../memline.c:1238 msgid "E311: Recovery Interrupted" msgstr "E311: ¥ê¥«¥Ð¥ê¤¬³ä¹þ¤Þ¤ì¤Þ¤·¤¿" -#: ../memline.c:1243 msgid "" "E312: Errors detected while recovering; look for lines starting with ???" msgstr "" "E312: ¥ê¥«¥Ð¥ê¤ÎºÇÃæ¤Ë¥¨¥é¡¼¤¬¸¡½Ð¤µ¤ì¤Þ¤·¤¿; ???¤Ç»Ï¤Þ¤ë¹Ô¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤" -#: ../memline.c:1245 msgid "See \":help E312\" for more information." msgstr "¾ÜºÙ¤Ï \":help E312\" ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤" -#: ../memline.c:1249 msgid "Recovery completed. You should check if everything is OK." msgstr "¥ê¥«¥Ð¥ê¤¬½ªÎ»¤·¤Þ¤·¤¿. Á´¤Æ¤¬Àµ¤·¤¤¤«¥Á¥§¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤." -#: ../memline.c:1251 msgid "" "\n" "(You might want to write out this file under another name\n" @@ -3844,15 +3515,12 @@ msgstr "" "\n" "(Êѹ¹¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤¿¤á¤Ë, ¤³¤Î¥Õ¥¡¥¤¥ë¤òÊ̤Î̾Á°¤ÇÊݸ¤·¤¿¾å¤Ç\n" -#: ../memline.c:1252 msgid "and run diff with the original file to check for changes)" msgstr "¸¶ËÜ¥Õ¥¡¥¤¥ë¤È¤Î diff ¤ò¼Â¹Ô¤¹¤ë¤ÈÎɤ¤¤Ç¤·¤ç¤¦)" -#: ../memline.c:1254 msgid "Recovery completed. Buffer contents equals file contents." msgstr "Éü¸µ´°Î». ¥Ð¥Ã¥Õ¥¡¤ÎÆâÍÆ¤Ï¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¤Ë¤Ê¤ê¤Þ¤·¤¿." -#: ../memline.c:1255 msgid "" "\n" "You may want to delete the .swp file now.\n" @@ -3862,52 +3530,43 @@ msgstr "" "¸µ¤Î.swp¥Õ¥¡¥¤¥ë¤Ïºï½ü¤·¤Æ¤â¹½¤¤¤Þ¤»¤ó\n" "\n" +msgid "Using crypt key from swap file for the text file.\n" +msgstr "¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤«¤é¼èÆÀ¤·¤¿°Å¹æ¥¡¼¤ò¥Æ¥¥¹¥È¥Õ¥¡¥¤¥ë¤Ë»È¤¤¤Þ¤¹.\n" + #. use msg() to start the scrolling properly -#: ../memline.c:1327 msgid "Swap files found:" msgstr "¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤¬Ê£¿ô¸«¤Ä¤«¤ê¤Þ¤·¤¿:" -#: ../memline.c:1446 msgid " In current directory:\n" msgstr " ¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê:\n" -#: ../memline.c:1448 msgid " Using specified name:\n" msgstr " °Ê²¼¤Î̾Á°¤ò»ÈÍÑÃæ:\n" -#: ../memline.c:1450 msgid " In directory " msgstr " ¥Ç¥£¥ì¥¯¥È¥ê " -#: ../memline.c:1465 msgid " -- none --\n" msgstr " -- ¤Ê¤· --\n" -#: ../memline.c:1527 msgid " owned by: " msgstr " ½êͼÔ: " -#: ../memline.c:1529 msgid " dated: " msgstr " ÆüÉÕ: " -#: ../memline.c:1532 ../memline.c:3231 msgid " dated: " msgstr " ÆüÉÕ: " -#: ../memline.c:1548 msgid " [from Vim version 3.0]" msgstr " [from Vim version 3.0]" -#: ../memline.c:1550 msgid " [does not look like a Vim swap file]" msgstr " [Vim¤Î¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤Ç¤Ï¤Ê¤¤¤è¤¦¤Ç¤¹]" -#: ../memline.c:1552 msgid " file name: " msgstr " ¥Õ¥¡¥¤¥ë̾: " -#: ../memline.c:1558 msgid "" "\n" " modified: " @@ -3915,15 +3574,12 @@ msgstr "" "\n" " Êѹ¹¾õÂÖ: " -#: ../memline.c:1559 msgid "YES" msgstr "¤¢¤ê" -#: ../memline.c:1559 msgid "no" msgstr "¤Ê¤·" -#: ../memline.c:1562 msgid "" "\n" " user name: " @@ -3931,11 +3587,9 @@ msgstr "" "\n" " ¥æ¡¼¥¶¡¼Ì¾: " -#: ../memline.c:1568 msgid " host name: " msgstr " ¥Û¥¹¥È̾: " -#: ../memline.c:1570 msgid "" "\n" " host name: " @@ -3943,7 +3597,6 @@ msgstr "" "\n" " ¥Û¥¹¥È̾: " -#: ../memline.c:1575 msgid "" "\n" " process ID: " @@ -3951,11 +3604,16 @@ msgstr "" "\n" " ¥×¥í¥»¥¹ID: " -#: ../memline.c:1579 msgid " (still running)" msgstr " (¤Þ¤À¼Â¹ÔÃæ)" -#: ../memline.c:1586 +msgid "" +"\n" +" [not usable with this version of Vim]" +msgstr "" +"\n" +" [¤³¤ÎVim¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï»ÈÍѤǤ¤Þ¤»¤ó]" + msgid "" "\n" " [not usable on this computer]" @@ -3963,97 +3621,75 @@ msgstr "" "\n" " [¤³¤Î¥³¥ó¥Ô¥å¡¼¥¿¤Ç¤Ï»ÈÍѤǤ¤Þ¤»¤ó]" -#: ../memline.c:1590 msgid " [cannot be read]" msgstr " [ÆÉ¹þ¤á¤Þ¤»¤ó]" -#: ../memline.c:1593 msgid " [cannot be opened]" msgstr " [³«¤±¤Þ¤»¤ó]" -#: ../memline.c:1698 msgid "E313: Cannot preserve, there is no swap file" msgstr "E313: ¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤¬Ìµ¤¤¤Î¤Ç°Ý»ý¤Ç¤¤Þ¤»¤ó" -#: ../memline.c:1747 msgid "File preserved" msgstr "¥Õ¥¡¥¤¥ë¤¬°Ý»ý¤µ¤ì¤Þ¤¹" -#: ../memline.c:1749 msgid "E314: Preserve failed" msgstr "E314: °Ý»ý¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" -#: ../memline.c:1819 #, c-format -msgid "E315: ml_get: invalid lnum: %<PRId64>" -msgstr "E315: ml_get: ̵¸ú¤Êlnum¤Ç¤¹: %<PRId64>" +msgid "E315: ml_get: invalid lnum: %ld" +msgstr "E315: ml_get: ̵¸ú¤Êlnum¤Ç¤¹: %ld" -#: ../memline.c:1851 #, c-format -msgid "E316: ml_get: cannot find line %<PRId64>" -msgstr "E316: ml_get: ¹Ô %<PRId64> ¤ò¸«¤Ä¤±¤é¤ì¤Þ¤»¤ó" +msgid "E316: ml_get: cannot find line %ld" +msgstr "E316: ml_get: ¹Ô %ld ¤ò¸«¤Ä¤±¤é¤ì¤Þ¤»¤ó" -#: ../memline.c:2236 msgid "E317: pointer block id wrong 3" msgstr "E317: ¥Ý¥¤¥ó¥¿¥Ö¥í¥Ã¥¯¤ÎID¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹ 3" -#: ../memline.c:2311 msgid "stack_idx should be 0" msgstr "stack_idx ¤Ï 0 ¤Ç¤¢¤ë¤Ù¤¤Ç¤¹" -#: ../memline.c:2369 msgid "E318: Updated too many blocks?" msgstr "E318: ¹¹¿·¤µ¤ì¤¿¥Ö¥í¥Ã¥¯¤¬Â¿²á¤®¤ë¤«¤â?" -#: ../memline.c:2511 msgid "E317: pointer block id wrong 4" msgstr "E317: ¥Ý¥¤¥ó¥¿¥Ö¥í¥Ã¥¯¤ÎID¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹ 4" -#: ../memline.c:2536 msgid "deleted block 1?" msgstr "¥Ö¥í¥Ã¥¯ 1 ¤Ï¾Ã¤µ¤ì¤¿?" -#: ../memline.c:2707 #, c-format -msgid "E320: Cannot find line %<PRId64>" -msgstr "E320: ¹Ô %<PRId64> ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó" +msgid "E320: Cannot find line %ld" +msgstr "E320: ¹Ô %ld ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó" -#: ../memline.c:2916 msgid "E317: pointer block id wrong" msgstr "E317: ¥Ý¥¤¥ó¥¿¥Ö¥í¥Ã¥¯¤ÎID¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹" -#: ../memline.c:2930 msgid "pe_line_count is zero" msgstr "pe_line_count ¤¬¥¼¥í¤Ç¤¹" -#: ../memline.c:2955 #, c-format -msgid "E322: line number out of range: %<PRId64> past the end" -msgstr "E322: ¹ÔÈֹ椬Èϰϳ°¤Ç¤¹: %<PRId64> ͤ¨¤Æ¤¤¤Þ¤¹" +msgid "E322: line number out of range: %ld past the end" +msgstr "E322: ¹ÔÈֹ椬Èϰϳ°¤Ç¤¹: %ld ͤ¨¤Æ¤¤¤Þ¤¹" -#: ../memline.c:2959 #, c-format -msgid "E323: line count wrong in block %<PRId64>" -msgstr "E323: ¥Ö¥í¥Ã¥¯ %<PRId64> ¤Î¹Ô¥«¥¦¥ó¥È¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹" +msgid "E323: line count wrong in block %ld" +msgstr "E323: ¥Ö¥í¥Ã¥¯ %ld ¤Î¹Ô¥«¥¦¥ó¥È¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹" -#: ../memline.c:2999 msgid "Stack size increases" msgstr "¥¹¥¿¥Ã¥¯¥µ¥¤¥º¤¬Áý¤¨¤Þ¤¹" -#: ../memline.c:3038 msgid "E317: pointer block id wrong 2" msgstr "E317: ¥Ý¥¤¥ó¥¿¥Ö¥í¥Ã¥¯¤ÎID¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹ 2" -#: ../memline.c:3070 #, c-format msgid "E773: Symlink loop for \"%s\"" msgstr "E773: \"%s\" ¤Î¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤¬¥ë¡¼¥×¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹" -#: ../memline.c:3221 msgid "E325: ATTENTION" msgstr "E325: Ãí°Õ" -#: ../memline.c:3222 msgid "" "\n" "Found a swap file by the name \"" @@ -4061,39 +3697,32 @@ msgstr "" "\n" "¼¡¤Î̾Á°¤Ç¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤ò¸«¤Ä¤±¤Þ¤·¤¿ \"" -#: ../memline.c:3226 msgid "While opening file \"" msgstr "¼¡¤Î¥Õ¥¡¥¤¥ë¤ò³«¤¤¤Æ¤¤¤ëºÇÃæ \"" -#: ../memline.c:3239 msgid " NEWER than swap file!\n" msgstr " ¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤è¤ê¤â¿·¤·¤¤¤Ç¤¹!\n" -#: ../memline.c:3244 +#. Some of these messages are long to allow translation to +#. * other languages. msgid "" "\n" "(1) Another program may be editing the same file. If this is the case,\n" " be careful not to end up with two different instances of the same\n" -" file when making changes." +" file when making changes. Quit, or continue with caution.\n" msgstr "" "\n" "(1) ÊÌ¤Î¥×¥í¥°¥é¥à¤¬Æ±¤¸¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤·¤Æ¤¤¤ë¤«¤â¤·¤ì¤Þ¤»¤ó.\n" " ¤³¤Î¾ì¹ç¤Ë¤Ï, Êѹ¹¤ò¤·¤Æ¤·¤Þ¤¦¤È1¤Ä¤Î¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ°Û¤Ê¤ë2¤Ä¤Î\n" -" ¥¤¥ó¥¹¥¿¥ó¥¹¤¬¤Ç¤¤Æ¤·¤Þ¤¦¤Î¤Ç, ¤½¤¦¤·¤Ê¤¤¤è¤¦¤Ëµ¤¤ò¤Ä¤±¤Æ¤¯¤À¤µ¤¤." - -#: ../memline.c:3245 -msgid " Quit, or continue with caution.\n" -msgstr " ½ªÎ»¤¹¤ë¤«, Ãí°Õ¤·¤Ê¤¬¤é³¤±¤Æ¤¯¤À¤µ¤¤.\n" +" ¥¤¥ó¥¹¥¿¥ó¥¹¤¬¤Ç¤¤Æ¤·¤Þ¤¦¤Î¤Ç, ¤½¤¦¤·¤Ê¤¤¤è¤¦¤Ëµ¤¤ò¤Ä¤±¤Æ¤¯¤À¤µ¤¤.\n" +" ½ªÎ»¤¹¤ë¤«, Ãí°Õ¤·¤Ê¤¬¤é³¤±¤Æ¤¯¤À¤µ¤¤.\n" -#: ../memline.c:3246 msgid "(2) An edit session for this file crashed.\n" msgstr "(2) ¤³¤Î¥Õ¥¡¥¤¥ë¤ÎÊÔ½¸¥»¥Ã¥·¥ç¥ó¤¬¥¯¥é¥Ã¥·¥å¤·¤¿.\n" -#: ../memline.c:3247 msgid " If this is the case, use \":recover\" or \"vim -r " msgstr " ¤³¤Î¾ì¹ç¤Ë¤Ï \":recover\" ¤« \"vim -r " -#: ../memline.c:3249 msgid "" "\"\n" " to recover the changes (see \":help recovery\").\n" @@ -4101,11 +3730,9 @@ msgstr "" "\"\n" " ¤ò»ÈÍѤ·¤ÆÊѹ¹¤ò¥ê¥«¥Ð¡¼¤·¤Þ¤¹(\":help recovery\" ¤ò»²¾È).\n" -#: ../memline.c:3250 msgid " If you did this already, delete the swap file \"" msgstr " ´û¤Ë¤³¤ì¤ò¹Ô¤Ê¤Ã¤¿¤Î¤Ê¤é¤Ð, ¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë \"" -#: ../memline.c:3252 msgid "" "\"\n" " to avoid this message.\n" @@ -4113,23 +3740,18 @@ msgstr "" "\"\n" " ¤ò¾Ã¤»¤Ð¤³¤Î¥á¥Ã¥»¡¼¥¸¤ò²óÈò¤Ç¤¤Þ¤¹.\n" -#: ../memline.c:3450 ../memline.c:3452 msgid "Swap file \"" msgstr "¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë \"" -#: ../memline.c:3451 ../memline.c:3455 msgid "\" already exists!" msgstr "\" ¤¬´û¤Ë¤¢¤ê¤Þ¤¹!" -#: ../memline.c:3457 msgid "VIM - ATTENTION" msgstr "VIM - Ãí°Õ" -#: ../memline.c:3459 msgid "Swap file already exists!" msgstr "¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤¬´û¤Ë¸ºß¤·¤Þ¤¹!" -#: ../memline.c:3464 msgid "" "&Open Read-Only\n" "&Edit anyway\n" @@ -4143,7 +3765,6 @@ msgstr "" "½ªÎ»¤¹¤ë(&Q)\n" "Ãæ»ß¤¹¤ë(&A)" -#: ../memline.c:3467 msgid "" "&Open Read-Only\n" "&Edit anyway\n" @@ -4159,56 +3780,34 @@ msgstr "" "½ªÎ»¤¹¤ë(&Q)\n" "Ãæ»ß¤¹¤ë(&A)" -#. -#. * Change the ".swp" extension to find another file that can be used. -#. * First decrement the last char: ".swo", ".swn", etc. -#. * If that still isn't enough decrement the last but one char: ".svz" -#. * Can happen when editing many "No Name" buffers. -#. -#. ".s?a" -#. ".saa": tried enough, give up -#: ../memline.c:3528 msgid "E326: Too many swap files found" msgstr "E326: ¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤¬Â¿¿ô¸«¤Ä¤«¤ê¤Þ¤·¤¿" -#: ../memory.c:227 -#, c-format -msgid "E342: Out of memory! (allocating %<PRIu64> bytes)" -msgstr "E342: ¥á¥â¥ê¤¬Â¤ê¤Þ¤»¤ó! (%<PRIu64> ¥Ð¥¤¥È¤ò³äÅöÍ×µá)" - -#: ../menu.c:62 msgid "E327: Part of menu-item path is not sub-menu" msgstr "E327: ¥á¥Ë¥å¡¼¥¢¥¤¥Æ¥à¤Î¥Ñ¥¹¤ÎÉôʬ¤¬¥µ¥Ö¥á¥Ë¥å¡¼¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó" -#: ../menu.c:63 msgid "E328: Menu only exists in another mode" msgstr "E328: ¥á¥Ë¥å¡¼¤Ï¾¤Î¥â¡¼¥É¤Ë¤À¤±¤¢¤ê¤Þ¤¹" -#: ../menu.c:64 #, c-format msgid "E329: No menu \"%s\"" msgstr "E329: \"%s\" ¤È¤¤¤¦¥á¥Ë¥å¡¼¤Ï¤¢¤ê¤Þ¤»¤ó" #. Only a mnemonic or accelerator is not valid. -#: ../menu.c:329 msgid "E792: Empty menu name" msgstr "E792: ¥á¥Ë¥å¡¼Ì¾¤¬¶õ¤Ç¤¹" -#: ../menu.c:340 msgid "E330: Menu path must not lead to a sub-menu" msgstr "E330: ¥á¥Ë¥å¡¼¥Ñ¥¹¤Ï¥µ¥Ö¥á¥Ë¥å¡¼¤òÀ¸¤¸¤ë¤Ù¤¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó" -#: ../menu.c:365 msgid "E331: Must not add menu items directly to menu bar" msgstr "E331: ¥á¥Ë¥å¡¼¥Ð¡¼¤Ë¤ÏľÀÜ¥á¥Ë¥å¡¼¥¢¥¤¥Æ¥à¤òÄɲäǤ¤Þ¤»¤ó" -#: ../menu.c:370 msgid "E332: Separator cannot be part of a menu path" msgstr "E332: ¶èÀÚ¤ê¤Ï¥á¥Ë¥å¡¼¥Ñ¥¹¤Î°ìÉô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó" #. Now we have found the matching menu, and we list the mappings #. Highlight title -#: ../menu.c:762 msgid "" "\n" "--- Menus ---" @@ -4216,69 +3815,60 @@ msgstr "" "\n" "--- ¥á¥Ë¥å¡¼ ---" -#: ../menu.c:1313 +msgid "Tear off this menu" +msgstr "¤³¤Î¥á¥Ë¥å¡¼¤òÀÚ¤ê¼è¤ë" + msgid "E333: Menu path must lead to a menu item" msgstr "E333: ¥á¥Ë¥å¡¼¥Ñ¥¹¤Ï¥á¥Ë¥å¡¼¥¢¥¤¥Æ¥à¤òÀ¸¤¸¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó" -#: ../menu.c:1330 #, c-format msgid "E334: Menu not found: %s" msgstr "E334: ¥á¥Ë¥å¡¼¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: %s" -#: ../menu.c:1396 #, c-format msgid "E335: Menu not defined for %s mode" msgstr "E335: %s ¤Ë¤Ï¥á¥Ë¥å¡¼¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" -#: ../menu.c:1426 msgid "E336: Menu path must lead to a sub-menu" msgstr "E336: ¥á¥Ë¥å¡¼¥Ñ¥¹¤Ï¥µ¥Ö¥á¥Ë¥å¡¼¤òÀ¸¤¸¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó" -#: ../menu.c:1447 msgid "E337: Menu not found - check menu names" msgstr "E337: ¥á¥Ë¥å¡¼¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó - ¥á¥Ë¥å¡¼Ì¾¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤" -#: ../message.c:423 #, c-format msgid "Error detected while processing %s:" msgstr "%s ¤Î½èÍýÃæ¤Ë¥¨¥é¡¼¤¬¸¡½Ð¤µ¤ì¤Þ¤·¤¿:" -#: ../message.c:445 #, c-format msgid "line %4ld:" msgstr "¹Ô %4ld:" -#: ../message.c:617 #, c-format msgid "E354: Invalid register name: '%s'" msgstr "E354: ̵¸ú¤Ê¥ì¥¸¥¹¥¿Ì¾: '%s'" -#: ../message.c:986 +msgid "Messages maintainer: Bram Moolenaar <Bram@vim.org>" +msgstr "ÆüËܸì¥á¥Ã¥»¡¼¥¸ËÝÌõ/´Æ½¤: ¼²¬ ÂÀϺ <koron.kaoriya@gmail.com>" + msgid "Interrupt: " msgstr "³ä¹þ¤ß: " -#: ../message.c:988 msgid "Press ENTER or type command to continue" msgstr "³¤±¤ë¤Ë¤ÏENTER¤ò²¡¤¹¤«¥³¥Þ¥ó¥É¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤" -#: ../message.c:1843 #, c-format -msgid "%s line %<PRId64>" -msgstr "%s ¹Ô %<PRId64>" +msgid "%s line %ld" +msgstr "%s ¹Ô %ld" -#: ../message.c:2392 msgid "-- More --" msgstr "-- ·Ñ³ --" -#: ../message.c:2398 msgid " SPACE/d/j: screen/page/line down, b/u/k: up, q: quit " msgstr " SPACE/d/j: ²èÌÌ/¥Ú¡¼¥¸/¹Ô ²¼, b/u/k: ¾å, q: ½ªÎ» " -#: ../message.c:3021 ../message.c:3031 msgid "Question" msgstr "¼ÁÌä" -#: ../message.c:3023 msgid "" "&Yes\n" "&No" @@ -4286,17 +3876,6 @@ msgstr "" "¤Ï¤¤(&Y)\n" "¤¤¤¤¤¨(&N)" -#: ../message.c:3033 -msgid "" -"&Yes\n" -"&No\n" -"&Cancel" -msgstr "" -"¤Ï¤¤(&Y)\n" -"¤¤¤¤¤¨(&N)\n" -"¥¥ã¥ó¥»¥ë(&C)" - -#: ../message.c:3045 msgid "" "&Yes\n" "&No\n" @@ -4310,175 +3889,247 @@ msgstr "" "Á´¤ÆÊü´þ(&D)\n" "¥¥ã¥ó¥»¥ë(&C)" -#: ../message.c:3058 +msgid "Select Directory dialog" +msgstr "¥Ç¥£¥ì¥¯¥È¥êÁªÂò¥À¥¤¥¢¥í¥°" + +msgid "Save File dialog" +msgstr "¥Õ¥¡¥¤¥ëÊݸ¥À¥¤¥¢¥í¥°" + +msgid "Open File dialog" +msgstr "¥Õ¥¡¥¤¥ëÆÉ¹þ¥À¥¤¥¢¥í¥°" + +#. TODO: non-GUI file selector here +msgid "E338: Sorry, no file browser in console mode" +msgstr "E338: ¥³¥ó¥½¡¼¥ë¥â¡¼¥É¤Ç¤Ï¥Õ¥¡¥¤¥ë¥Ö¥é¥¦¥¶¤ò»È¤¨¤Þ¤»¤ó, ¤´¤á¤ó¤Ê¤µ¤¤" + msgid "E766: Insufficient arguments for printf()" msgstr "E766: printf() ¤Î°ú¿ô¤¬ÉÔ½½Ê¬¤Ç¤¹" -#: ../message.c:3119 msgid "E807: Expected Float argument for printf()" msgstr "E807: printf() ¤Î°ú¿ô¤Ë¤ÏÉâÆ°¾¯¿ôÅÀ¿ô¤¬´üÂÔ¤µ¤ì¤Æ¤¤¤Þ¤¹" -#: ../message.c:3873 msgid "E767: Too many arguments to printf()" msgstr "E767: printf() ¤Î°ú¿ô¤¬Â¿²á¤®¤Þ¤¹" -#: ../misc1.c:2256 msgid "W10: Warning: Changing a readonly file" msgstr "W10: ·Ù¹ð: ÆÉ¹þÀìÍÑ¥Õ¥¡¥¤¥ë¤òÊѹ¹¤·¤Þ¤¹" -#: ../misc1.c:2537 msgid "Type number and <Enter> or click with mouse (empty cancels): " msgstr "" "ÈÖ¹æ¤È<Enter>¤òÆþÎϤ¹¤ë¤«¥Þ¥¦¥¹¤Ç¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤ (¶õ¤Ç¥¥ã¥ó¥»¥ë): " -#: ../misc1.c:2539 msgid "Type number and <Enter> (empty cancels): " msgstr "ÈÖ¹æ¤È<Enter>¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤ (¶õ¤Ç¥¥ã¥ó¥»¥ë): " -#: ../misc1.c:2585 msgid "1 more line" msgstr "1 ¹Ô Äɲä·¤Þ¤·¤¿" -#: ../misc1.c:2588 msgid "1 line less" msgstr "1 ¹Ô ºï½ü¤·¤Þ¤·¤¿" -#: ../misc1.c:2593 #, c-format -msgid "%<PRId64> more lines" -msgstr "%<PRId64> ¹Ô Äɲä·¤Þ¤·¤¿" +msgid "%ld more lines" +msgstr "%ld ¹Ô Äɲä·¤Þ¤·¤¿" -#: ../misc1.c:2596 #, c-format -msgid "%<PRId64> fewer lines" -msgstr "%<PRId64> ¹Ô ºï½ü¤·¤Þ¤·¤¿" +msgid "%ld fewer lines" +msgstr "%ld ¹Ô ºï½ü¤·¤Þ¤·¤¿" -#: ../misc1.c:2599 msgid " (Interrupted)" msgstr " (³ä¹þ¤Þ¤ì¤Þ¤·¤¿)" -#: ../misc1.c:2635 msgid "Beep!" msgstr "¥Ó¡¼¥Ã!" -#: ../misc2.c:738 +msgid "ERROR: " +msgstr "¥¨¥é¡¼: " + +#, c-format +msgid "" +"\n" +"[bytes] total alloc-freed %lu-%lu, in use %lu, peak use %lu\n" +msgstr "" +"\n" +"[¥á¥â¥ê(¥Ð¥¤¥È)] Áí³äÅö-²òÊüÎÌ %lu-%lu, »ÈÍÑÎÌ %lu, ¥Ô¡¼¥¯»þ %lu\n" + +#, c-format +msgid "" +"[calls] total re/malloc()'s %lu, total free()'s %lu\n" +"\n" +msgstr "" +"[¸Æ½Ð] Áí re/malloc() ²ó¿ô %lu, Áí free() ²ó¿ô %lu\n" +"\n" + +msgid "E340: Line is becoming too long" +msgstr "E340: ¹Ô¤¬Ä¹¤¯¤Ê¤ê²á¤®¤Þ¤·¤¿" + +#, c-format +msgid "E341: Internal error: lalloc(%ld, )" +msgstr "E341: ÆâÉô¥¨¥é¡¼: lalloc(%ld,)" + +#, c-format +msgid "E342: Out of memory! (allocating %lu bytes)" +msgstr "E342: ¥á¥â¥ê¤¬Â¤ê¤Þ¤»¤ó! (%lu ¥Ð¥¤¥È¤ò³äÅöÍ×µá)" + #, c-format msgid "Calling shell to execute: \"%s\"" msgstr "¼Â¹Ô¤Î¤¿¤á¤Ë¥·¥§¥ë¤ò¸Æ½Ð¤·Ãæ: \"%s\"" -#: ../normal.c:183 +msgid "E545: Missing colon" +msgstr "E545: ¥³¥í¥ó¤¬¤¢¤ê¤Þ¤»¤ó" + +msgid "E546: Illegal mode" +msgstr "E546: ÉÔÀµ¤Ê¥â¡¼¥É¤Ç¤¹" + +msgid "E547: Illegal mouseshape" +msgstr "E547: ÉÔÀµ¤Ê 'mouseshape' ¤Ç¤¹" + +msgid "E548: digit expected" +msgstr "E548: ¿ôÃͤ¬É¬ÍפǤ¹" + +msgid "E549: Illegal percentage" +msgstr "E549: ÉÔÀµ¤Ê¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸¤Ç¤¹" + +msgid "E854: path too long for completion" +msgstr "E854: ¥Ñ¥¹¤¬Ä¹²á¤®¤ÆÊä´°¤Ç¤¤Þ¤»¤ó" + +#, c-format +msgid "" +"E343: Invalid path: '**[number]' must be at the end of the path or be " +"followed by '%s'." +msgstr "" +"E343: ̵¸ú¤Ê¥Ñ¥¹¤Ç¤¹: '**[¿ôÃÍ]' ¤Ïpath¤ÎºÇ¸å¤« '%s' ¤¬Â³¤¤¤Æ¤Ê¤¤¤È¤¤¤±¤Þ¤»" +"¤ó." + +#, c-format +msgid "E344: Can't find directory \"%s\" in cdpath" +msgstr "E344: cdpath¤Ë¤Ï \"%s\" ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó" + +#, c-format +msgid "E345: Can't find file \"%s\" in path" +msgstr "E345: path¤Ë¤Ï \"%s\" ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó" + +#, c-format +msgid "E346: No more directory \"%s\" found in cdpath" +msgstr "E346: cdpath¤Ë¤Ï¤³¤ì°Ê¾å \"%s\" ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó" + +#, c-format +msgid "E347: No more file \"%s\" found in path" +msgstr "E347: ¥Ñ¥¹¤Ë¤Ï¤³¤ì°Ê¾å \"%s\" ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó" + +#, c-format +msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\"" +msgstr "" +"E668: NetBeans¤ÎÀܳ¾ðÊó¥Õ¥¡¥¤¥ë¤Î¥¢¥¯¥»¥¹¥â¡¼¥É¤ËÌäÂ꤬¤¢¤ê¤Þ¤¹: \"%s\"" + +#, c-format +msgid "E658: NetBeans connection lost for buffer %ld" +msgstr "E658: ¥Ð¥Ã¥Õ¥¡ %ld ¤Î NetBeans Àܳ¤¬¼º¤ï¤ì¤Þ¤·¤¿" + +msgid "E838: netbeans is not supported with this GUI" +msgstr "E838: NetBeans¤Ï¤³¤ÎGUI¤Ë¤ÏÂбþ¤·¤Æ¤¤¤Þ¤»¤ó" + +msgid "E511: netbeans already connected" +msgstr "E511: NetBeans¤Ï´û¤ËÀܳ¤·¤Æ¤¤¤Þ¤¹" + +#, c-format +msgid "E505: %s is read-only (add ! to override)" +msgstr "E505: %s ¤ÏÆÉ¹þÀìÍѤǤ¹ (¶¯À©½ñ¹þ¤Ë¤Ï ! ¤òÄɲÃ)" + msgid "E349: No identifier under cursor" msgstr "E349: ¥«¡¼¥½¥ë¤Î°ÌÃ֤ˤϼ±Ê̻Ҥ¬¤¢¤ê¤Þ¤»¤ó" -#: ../normal.c:1866 msgid "E774: 'operatorfunc' is empty" msgstr "E774: 'operatorfunc' ¥ª¥×¥·¥ç¥ó¤¬¶õ¤Ç¤¹" -#: ../normal.c:2637 +msgid "E775: Eval feature not available" +msgstr "E775: ¼°É¾²Áµ¡Ç½¤¬Ìµ¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹" + msgid "Warning: terminal cannot highlight" msgstr "·Ù¹ð: »ÈÍѤ·¤Æ¤¤¤ëüËö¤Ï¥Ï¥¤¥é¥¤¥È¤Ç¤¤Þ¤»¤ó" -#: ../normal.c:2807 msgid "E348: No string under cursor" msgstr "E348: ¥«¡¼¥½¥ë¤Î°ÌÃ֤ˤÏʸ»úÎ󤬤¢¤ê¤Þ¤»¤ó" -#: ../normal.c:3937 msgid "E352: Cannot erase folds with current 'foldmethod'" msgstr "E352: ¸½ºß¤Î 'foldmethod' ¤Ç¤ÏÀÞ¾ö¤ß¤ò¾Ãµî¤Ç¤¤Þ¤»¤ó" -#: ../normal.c:5897 msgid "E664: changelist is empty" msgstr "E664: Êѹ¹¥ê¥¹¥È¤¬¶õ¤Ç¤¹" -#: ../normal.c:5899 msgid "E662: At start of changelist" msgstr "E662: Êѹ¹¥ê¥¹¥È¤ÎÀèÆ¬" -#: ../normal.c:5901 msgid "E663: At end of changelist" msgstr "E663: Êѹ¹¥ê¥¹¥È¤ÎËöÈø" -#: ../normal.c:7053 -msgid "Type :quit<Enter> to exit Nvim" +msgid "Type :quit<Enter> to exit Vim" msgstr "Vim¤ò½ªÎ»¤¹¤ë¤Ë¤Ï :quit<Enter> ¤ÈÆþÎϤ·¤Æ¤¯¤À¤µ¤¤" -#: ../ops.c:248 #, c-format msgid "1 line %sed 1 time" msgstr "1 ¹Ô¤¬ %s ¤Ç 1 ²ó½èÍý¤µ¤ì¤Þ¤·¤¿" -#: ../ops.c:250 #, c-format msgid "1 line %sed %d times" msgstr "1 ¹Ô¤¬ %s ¤Ç %d ²ó½èÍý¤µ¤ì¤Þ¤·¤¿" -#: ../ops.c:253 #, c-format -msgid "%<PRId64> lines %sed 1 time" -msgstr "%<PRId64> ¹Ô¤¬ %s ¤Ç 1 ²ó½èÍý¤µ¤ì¤Þ¤·¤¿" +msgid "%ld lines %sed 1 time" +msgstr "%ld ¹Ô¤¬ %s ¤Ç 1 ²ó½èÍý¤µ¤ì¤Þ¤·¤¿" -#: ../ops.c:256 #, c-format -msgid "%<PRId64> lines %sed %d times" -msgstr "%<PRId64> ¹Ô¤¬ %s ¤Ç %d ²ó½èÍý¤µ¤ì¤Þ¤·¤¿" +msgid "%ld lines %sed %d times" +msgstr "%ld ¹Ô¤¬ %s ¤Ç %d ²ó½èÍý¤µ¤ì¤Þ¤·¤¿" -#: ../ops.c:592 #, c-format -msgid "%<PRId64> lines to indent... " -msgstr "%<PRId64> ¹Ô¤¬¥¤¥ó¥Ç¥ó¥È¤µ¤ì¤Þ¤¹... " +msgid "%ld lines to indent... " +msgstr "%ld ¹Ô¤¬¥¤¥ó¥Ç¥ó¥È¤µ¤ì¤Þ¤¹... " -#: ../ops.c:634 msgid "1 line indented " msgstr "1 ¹Ô¤ò¥¤¥ó¥Ç¥ó¥È¤·¤Þ¤·¤¿ " -#: ../ops.c:636 #, c-format -msgid "%<PRId64> lines indented " -msgstr "%<PRId64> ¹Ô¤ò¥¤¥ó¥Ç¥ó¥È¤·¤Þ¤·¤¿ " +msgid "%ld lines indented " +msgstr "%ld ¹Ô¤ò¥¤¥ó¥Ç¥ó¥È¤·¤Þ¤·¤¿ " -#: ../ops.c:938 msgid "E748: No previously used register" msgstr "E748: ¤Þ¤À¥ì¥¸¥¹¥¿¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤»¤ó" #. must display the prompt -#: ../ops.c:1433 msgid "cannot yank; delete anyway" msgstr "¥ä¥ó¥¯¤Ç¤¤Þ¤»¤ó; ¤È¤Ë¤«¤¯¾Ãµî" -#: ../ops.c:1929 msgid "1 line changed" msgstr "1 ¹Ô¤¬Êѹ¹¤µ¤ì¤Þ¤·¤¿" -#: ../ops.c:1931 #, c-format -msgid "%<PRId64> lines changed" -msgstr "%<PRId64> ¹Ô¤¬Êѹ¹¤µ¤ì¤Þ¤·¤¿" +msgid "%ld lines changed" +msgstr "%ld ¹Ô¤¬Êѹ¹¤µ¤ì¤Þ¤·¤¿" + +#, c-format +msgid "freeing %ld lines" +msgstr "%ld ¹Ô¤ò²òÊüÃæ" -#: ../ops.c:2521 msgid "block of 1 line yanked" msgstr "1 ¹Ô¤Î¥Ö¥í¥Ã¥¯¤¬¥ä¥ó¥¯¤µ¤ì¤Þ¤·¤¿" -#: ../ops.c:2523 msgid "1 line yanked" msgstr "1 ¹Ô¤¬¥ä¥ó¥¯¤µ¤ì¤Þ¤·¤¿" -#: ../ops.c:2525 #, c-format -msgid "block of %<PRId64> lines yanked" -msgstr "%<PRId64> ¹Ô¤Î¥Ö¥í¥Ã¥¯¤¬¥ä¥ó¥¯¤µ¤ì¤Þ¤·¤¿" +msgid "block of %ld lines yanked" +msgstr "%ld ¹Ô¤Î¥Ö¥í¥Ã¥¯¤¬¥ä¥ó¥¯¤µ¤ì¤Þ¤·¤¿" -#: ../ops.c:2528 #, c-format -msgid "%<PRId64> lines yanked" -msgstr "%<PRId64> ¹Ô¤¬¥ä¥ó¥¯¤µ¤ì¤Þ¤·¤¿" +msgid "%ld lines yanked" +msgstr "%ld ¹Ô¤¬¥ä¥ó¥¯¤µ¤ì¤Þ¤·¤¿" -#: ../ops.c:2710 #, c-format msgid "E353: Nothing in register %s" msgstr "E353: ¥ì¥¸¥¹¥¿ %s ¤Ë¤Ï²¿¤â¤¢¤ê¤Þ¤»¤ó" #. Highlight title -#: ../ops.c:3185 msgid "" "\n" "--- Registers ---" @@ -4486,11 +4137,9 @@ msgstr "" "\n" "--- ¥ì¥¸¥¹¥¿ ---" -#: ../ops.c:4455 msgid "Illegal register name" msgstr "ÉÔÀµ¤Ê¥ì¥¸¥¹¥¿Ì¾" -#: ../ops.c:4533 msgid "" "\n" "# Registers:\n" @@ -4498,7 +4147,6 @@ msgstr "" "\n" "# ¥ì¥¸¥¹¥¿:\n" -#: ../ops.c:4575 #, c-format msgid "E574: Unknown register type %d" msgstr "E574: ̤ÃΤΥ쥸¥¹¥¿·¿ %d ¤Ç¤¹" @@ -4508,86 +4156,61 @@ msgid "" "lines" msgstr "E883: ¸¡º÷¥Ñ¥¿¡¼¥ó¤È¼°¥ì¥¸¥¹¥¿¤Ë¤Ï2¹Ô°Ê¾å¤ò´Þ¤á¤é¤ì¤Þ¤»¤ó" -#: ../ops.c:5089 #, c-format -msgid "%<PRId64> Cols; " -msgstr "%<PRId64> Îó; " +msgid "%ld Cols; " +msgstr "%ld Îó; " -#: ../ops.c:5097 #, c-format -msgid "" -"Selected %s%<PRId64> of %<PRId64> Lines; %<PRId64> of %<PRId64> Words; " -"%<PRId64> of %<PRId64> Bytes" -msgstr "" -"ÁªÂò %s%<PRId64> / %<PRId64> ¹Ô; %<PRId64> / %<PRId64> ñ¸ì; %<PRId64> / " -"%<PRId64> ¥Ð¥¤¥È" +msgid "Selected %s%ld of %ld Lines; %lld of %lld Words; %lld of %lld Bytes" +msgstr "ÁªÂò %s%ld / %ld ¹Ô; %lld / %lld ñ¸ì; %lld / %lld ¥Ð¥¤¥È" -#: ../ops.c:5105 #, c-format msgid "" -"Selected %s%<PRId64> of %<PRId64> Lines; %<PRId64> of %<PRId64> Words; " -"%<PRId64> of %<PRId64> Chars; %<PRId64> of %<PRId64> Bytes" +"Selected %s%ld of %ld Lines; %lld of %lld Words; %lld of %lld Chars; %lld of " +"%lld Bytes" msgstr "" -"ÁªÂò %s%<PRId64> / %<PRId64> ¹Ô; %<PRId64> / %<PRId64> ñ¸ì; %<PRId64> / " -"%<PRId64> ʸ»ú; %<PRId64> / %<PRId64> ¥Ð¥¤¥È" +"ÁªÂò %s%ld / %ld ¹Ô; %lld / %lld ñ¸ì; %lld / %lld ʸ»ú; %lld / %lld ¥Ð¥¤¥È" -#: ../ops.c:5123 #, c-format -msgid "" -"Col %s of %s; Line %<PRId64> of %<PRId64>; Word %<PRId64> of %<PRId64>; Byte " -"%<PRId64> of %<PRId64>" -msgstr "" -"Îó %s / %s; ¹Ô %<PRId64> of %<PRId64>; ñ¸ì %<PRId64> / %<PRId64>; ¥Ð¥¤¥È " -"%<PRId64> / %<PRId64>" +msgid "Col %s of %s; Line %ld of %ld; Word %lld of %lld; Byte %lld of %lld" +msgstr "Îó %s / %s; ¹Ô %ld of %ld; ñ¸ì %lld / %lld; ¥Ð¥¤¥È %lld / %lld" -#: ../ops.c:5133 #, c-format msgid "" -"Col %s of %s; Line %<PRId64> of %<PRId64>; Word %<PRId64> of %<PRId64>; Char " -"%<PRId64> of %<PRId64>; Byte %<PRId64> of %<PRId64>" +"Col %s of %s; Line %ld of %ld; Word %lld of %lld; Char %lld of %lld; Byte " +"%lld of %lld" msgstr "" -"Îó %s / %s; ¹Ô %<PRId64> / %<PRId64>; ñ¸ì %<PRId64> / %<PRId64>; ʸ»ú " -"%<PRId64> / %<PRId64>; ¥Ð¥¤¥È %<PRId64> of %<PRId64>" +"Îó %s / %s; ¹Ô %ld / %ld; ñ¸ì %lld / %lld; ʸ»ú %lld / %lld; ¥Ð¥¤¥È %lld of " +"%lld" -#: ../ops.c:5146 #, c-format -msgid "(+%<PRId64> for BOM)" -msgstr "(+%<PRId64> for BOM)" +msgid "(+%ld for BOM)" +msgstr "(+%ld for BOM)" -#: ../option.c:1238 msgid "%<%f%h%m%=Page %N" msgstr "%<%f%h%m%=%N ¥Ú¡¼¥¸" -#: ../option.c:1574 msgid "Thanks for flying Vim" msgstr "Vim ¤ò»È¤Ã¤Æ¤¯¤ì¤Æ¤¢¤ê¤¬¤È¤¦" -#. found a mismatch: skip -#: ../option.c:2698 msgid "E518: Unknown option" msgstr "E518: ̤ÃΤΥª¥×¥·¥ç¥ó¤Ç¤¹" -#: ../option.c:2709 msgid "E519: Option not supported" msgstr "E519: ¥ª¥×¥·¥ç¥ó¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" -#: ../option.c:2740 msgid "E520: Not allowed in a modeline" msgstr "E520: modeline ¤Ç¤Ïµö²Ä¤µ¤ì¤Þ¤»¤ó" -#: ../option.c:2815 msgid "E846: Key code not set" msgstr "E846: ¥¡¼¥³¡¼¥É¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó" -#: ../option.c:2924 msgid "E521: Number required after =" msgstr "E521: = ¤Î¸å¤Ë¤Ï¿ô»ú¤¬É¬ÍפǤ¹" -#: ../option.c:3226 ../option.c:3864 msgid "E522: Not found in termcap" msgstr "E522: termcap Æâ¤Ë¸«¤Ä¤«¤ê¤Þ¤»¤ó" -#: ../option.c:3335 #, c-format msgid "E539: Illegal character <%s>" msgstr "E539: ÉÔÀµ¤Êʸ»ú¤Ç¤¹ <%s>" @@ -4596,93 +4219,99 @@ msgstr "E539: ÉÔÀµ¤Êʸ»ú¤Ç¤¹ <%s>" msgid "For option %s" msgstr "¥ª¥×¥·¥ç¥ó: %s" -#: ../option.c:3862 msgid "E529: Cannot set 'term' to empty string" msgstr "E529: 'term' ¤Ë¤Ï¶õʸ»úÎó¤òÀßÄê¤Ç¤¤Þ¤»¤ó" -#: ../option.c:3885 +msgid "E530: Cannot change term in GUI" +msgstr "E530: GUI¤Ç¤Ï 'term' ¤òÊѹ¹¤Ç¤¤Þ¤»¤ó" + +msgid "E531: Use \":gui\" to start the GUI" +msgstr "E531: GUI¤ò¥¹¥¿¡¼¥È¤¹¤ë¤Ë¤Ï \":gui\" ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤" + msgid "E589: 'backupext' and 'patchmode' are equal" msgstr "E589: 'backupext' ¤È 'patchmode' ¤¬Æ±¤¸¤Ç¤¹" -#: ../option.c:3964 msgid "E834: Conflicts with value of 'listchars'" msgstr "E834: 'listchars'¤ÎÃͤËÌ·½â¤¬¤¢¤ê¤Þ¤¹" -#: ../option.c:3966 msgid "E835: Conflicts with value of 'fillchars'" msgstr "E835: 'fillchars'¤ÎÃͤËÌ·½â¤¬¤¢¤ê¤Þ¤¹" -#: ../option.c:4163 +msgid "E617: Cannot be changed in the GTK+ 2 GUI" +msgstr "E617: GTK+2 GUI¤Ç¤ÏÊѹ¹¤Ç¤¤Þ¤»¤ó" + msgid "E524: Missing colon" msgstr "E524: ¥³¥í¥ó¤¬¤¢¤ê¤Þ¤»¤ó" -#: ../option.c:4165 msgid "E525: Zero length string" msgstr "E525: ʸ»úÎó¤ÎŤµ¤¬¥¼¥í¤Ç¤¹" -#: ../option.c:4220 #, c-format msgid "E526: Missing number after <%s>" msgstr "E526: <%s> ¤Î¸å¤Ë¿ô»ú¤¬¤¢¤ê¤Þ¤»¤ó" -#: ../option.c:4232 msgid "E527: Missing comma" msgstr "E527: ¥«¥ó¥Þ¤¬¤¢¤ê¤Þ¤»¤ó" -#: ../option.c:4239 msgid "E528: Must specify a ' value" msgstr "E528: ' ¤ÎÃͤò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó" -#: ../option.c:4271 msgid "E595: contains unprintable or wide character" msgstr "E595: ɽ¼¨¤Ç¤¤Ê¤¤Ê¸»ú¤«¥ï¥¤¥Éʸ»ú¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹" -#: ../option.c:4469 +msgid "E596: Invalid font(s)" +msgstr "E596: ̵¸ú¤Ê¥Õ¥©¥ó¥È¤Ç¤¹" + +msgid "E597: can't select fontset" +msgstr "E597: ¥Õ¥©¥ó¥È¥»¥Ã¥È¤òÁªÂò¤Ç¤¤Þ¤»¤ó" + +msgid "E598: Invalid fontset" +msgstr "E598: ̵¸ú¤Ê¥Õ¥©¥ó¥È¥»¥Ã¥È¤Ç¤¹" + +msgid "E533: can't select wide font" +msgstr "E533: ¥ï¥¤¥É¥Õ¥©¥ó¥È¤òÁªÂò¤Ç¤¤Þ¤»¤ó" + +msgid "E534: Invalid wide font" +msgstr "E534: ̵¸ú¤Ê¥ï¥¤¥É¥Õ¥©¥ó¥È¤Ç¤¹" + #, c-format msgid "E535: Illegal character after <%c>" msgstr "E535: <%c> ¤Î¸å¤ËÉÔÀµ¤Êʸ»ú¤¬¤¢¤ê¤Þ¤¹" -#: ../option.c:4534 msgid "E536: comma required" msgstr "E536: ¥«¥ó¥Þ¤¬É¬ÍפǤ¹" -#: ../option.c:4543 #, c-format msgid "E537: 'commentstring' must be empty or contain %s" msgstr "E537: 'commentstring' ¤Ï¶õ¤Ç¤¢¤ë¤« %s ¤ò´Þ¤àɬÍפ¬¤¢¤ê¤Þ¤¹" -#: ../option.c:4928 +msgid "E538: No mouse support" +msgstr "E538: ¥Þ¥¦¥¹¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó" + msgid "E540: Unclosed expression sequence" msgstr "E540: ¼°¤¬½ªÎ»¤·¤Æ¤¤¤Þ¤»¤ó" -#: ../option.c:4932 msgid "E541: too many items" msgstr "E541: Í×ÁǤ¬Â¿²á¤®¤Þ¤¹" -#: ../option.c:4934 msgid "E542: unbalanced groups" msgstr "E542: ¥°¥ë¡¼¥×¤¬Äà¹ç¤¤¤Þ¤»¤ó" -#: ../option.c:5148 msgid "E590: A preview window already exists" msgstr "E590: ¥×¥ì¥Ó¥å¡¼¥¦¥£¥ó¥É¥¦¤¬´û¤Ë¸ºß¤·¤Þ¤¹" -#: ../option.c:5311 msgid "W17: Arabic requires UTF-8, do ':set encoding=utf-8'" msgstr "" "W17: ¥¢¥é¥Ó¥¢Ê¸»ú¤Ë¤ÏUTF-8¤¬É¬ÍפʤΤÇ, ':set encoding=utf-8' ¤·¤Æ¤¯¤À¤µ¤¤" -#: ../option.c:5623 #, c-format msgid "E593: Need at least %d lines" msgstr "E593: ºÇÄã %d ¤Î¹Ô¿ô¤¬É¬ÍפǤ¹" -#: ../option.c:5631 #, c-format msgid "E594: Need at least %d columns" msgstr "E594: ºÇÄã %d ¤Î¥«¥é¥àÉý¤¬É¬ÍפǤ¹" -#: ../option.c:6011 #, c-format msgid "E355: Unknown option: %s" msgstr "E355: ̤ÃΤΥª¥×¥·¥ç¥ó¤Ç¤¹: %s" @@ -4690,12 +4319,10 @@ msgstr "E355: ̤ÃΤΥª¥×¥·¥ç¥ó¤Ç¤¹: %s" #. There's another character after zeros or the string #. * is empty. In both cases, we are trying to set a #. * num option using a string. -#: ../option.c:6037 #, c-format msgid "E521: Number required: &%s = '%s'" msgstr "E521: ¿ô»ú¤¬É¬ÍפǤ¹: &%s = '%s'" -#: ../option.c:6149 msgid "" "\n" "--- Terminal codes ---" @@ -4703,7 +4330,6 @@ msgstr "" "\n" "--- üËö¥³¡¼¥É ---" -#: ../option.c:6151 msgid "" "\n" "--- Global option values ---" @@ -4711,7 +4337,6 @@ msgstr "" "\n" "--- ¥°¥í¡¼¥Ð¥ë¥ª¥×¥·¥ç¥óÃÍ ---" -#: ../option.c:6153 msgid "" "\n" "--- Local option values ---" @@ -4719,7 +4344,6 @@ msgstr "" "\n" "--- ¥í¡¼¥«¥ë¥ª¥×¥·¥ç¥óÃÍ ---" -#: ../option.c:6155 msgid "" "\n" "--- Options ---" @@ -4727,37 +4351,119 @@ msgstr "" "\n" "--- ¥ª¥×¥·¥ç¥ó ---" -#: ../option.c:6816 msgid "E356: get_varp ERROR" msgstr "E356: get_varp ¥¨¥é¡¼" -#: ../option.c:7696 #, c-format msgid "E357: 'langmap': Matching character missing for %s" msgstr "E357: 'langmap': %s ¤ËÂбþ¤¹¤ëʸ»ú¤¬¤¢¤ê¤Þ¤»¤ó" -#: ../option.c:7715 #, c-format msgid "E358: 'langmap': Extra characters after semicolon: %s" msgstr "E358: 'langmap': ¥»¥ß¥³¥í¥ó¤Î¸å¤Ë;ʬ¤Êʸ»ú¤¬¤¢¤ê¤Þ¤¹: %s" -#: ../os/shell.c:194 -msgid "" -"\n" -"Cannot execute shell " -msgstr "" -"\n" -"¥·¥§¥ë¤ò¼Â¹Ô¤Ç¤¤Þ¤»¤ó " +msgid "cannot open " +msgstr "³«¤±¤Þ¤»¤ó " + +msgid "VIM: Can't open window!\n" +msgstr "VIM: ¥¦¥£¥ó¥É¥¦¤ò³«¤±¤Þ¤»¤ó!\n" + +msgid "Need Amigados version 2.04 or later\n" +msgstr "Amigados¤Î¥Ð¡¼¥¸¥ç¥ó 2.04¤«¤½¤ì°Ê¹ß¤¬É¬ÍפǤ¹\n" + +#, c-format +msgid "Need %s version %ld\n" +msgstr "%s ¤Î¥Ð¡¼¥¸¥ç¥ó %ld ¤¬É¬ÍפǤ¹\n" + +msgid "Cannot open NIL:\n" +msgstr "NIL¤ò³«¤±¤Þ¤»¤ó:\n" + +msgid "Cannot create " +msgstr "ºîÀ®¤Ç¤¤Þ¤»¤ó " + +#, c-format +msgid "Vim exiting with %d\n" +msgstr "Vim¤Ï %d ¤Ç½ªÎ»¤·¤Þ¤¹\n" + +msgid "cannot change console mode ?!\n" +msgstr "¥³¥ó¥½¡¼¥ë¥â¡¼¥É¤òÊѹ¹¤Ç¤¤Þ¤»¤ó?!\n" + +msgid "mch_get_shellsize: not a console??\n" +msgstr "mch_get_shellsize: ¥³¥ó¥½¡¼¥ë¤Ç¤Ï¤Ê¤¤??\n" + +#. if Vim opened a window: Executing a shell may cause crashes +msgid "E360: Cannot execute shell with -f option" +msgstr "E360: -f ¥ª¥×¥·¥ç¥ó¤Ç¥·¥§¥ë¤ò¼Â¹Ô¤Ç¤¤Þ¤»¤ó" + +msgid "Cannot execute " +msgstr "¼Â¹Ô¤Ç¤¤Þ¤»¤ó " + +msgid "shell " +msgstr "¥·¥§¥ë " + +msgid " returned\n" +msgstr " Ìá¤ê¤Þ¤·¤¿\n" + +msgid "ANCHOR_BUF_SIZE too small." +msgstr "ANCHOR_BUF_SIZE ¤¬¾®¤µ²á¤®¤Þ¤¹." + +msgid "I/O ERROR" +msgstr "Æþ½ÐÎÏ¥¨¥é¡¼" + +msgid "Message" +msgstr "¥á¥Ã¥»¡¼¥¸" + +msgid "'columns' is not 80, cannot execute external commands" +msgstr "'columns' ¤¬ 80 ¤Ç¤Ï¤Ê¤¤¤¿¤á¡¢³°Éô¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤Ç¤¤Þ¤»¤ó" + +msgid "E237: Printer selection failed" +msgstr "E237: ¥×¥ê¥ó¥¿¤ÎÁªÂò¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" + +#, c-format +msgid "to %s on %s" +msgstr "%s ¤Ø (%s ¾å¤Î)" + +#, c-format +msgid "E613: Unknown printer font: %s" +msgstr "E613: ̤ÃΤΥץê¥ó¥¿¥ª¥×¥·¥ç¥ó¤Ç¤¹: %s" + +#, c-format +msgid "E238: Print error: %s" +msgstr "E238: °õºþ¥¨¥é¡¼: %s" + +#, c-format +msgid "Printing '%s'" +msgstr "°õºþ¤·¤Æ¤¤¤Þ¤¹: '%s'" + +#, c-format +msgid "E244: Illegal charset name \"%s\" in font name \"%s\"" +msgstr "E244: ʸ»ú¥»¥Ã¥È̾ \"%s\" ¤ÏÉÔÀµ¤Ç¤¹ (¥Õ¥©¥ó¥È̾ \"%s\")" + +#, c-format +msgid "E244: Illegal quality name \"%s\" in font name \"%s\"" +msgstr "E244: ÉʼÁ̾ \"%s\" ¤ÏÉÔÀµ¤Ç¤¹ (¥Õ¥©¥ó¥È̾ \"%s\")" + +#, c-format +msgid "E245: Illegal char '%c' in font name \"%s\"" +msgstr "E245: '%c' ¤ÏÉÔÀµ¤Êʸ»ú¤Ç¤¹ (¥Õ¥©¥ó¥È̾ \"%s\")" + +#, c-format +msgid "Opening the X display took %ld msec" +msgstr "X¥µ¡¼¥Ð¡¼¤Ø¤ÎÀܳ¤Ë %ld ¥ß¥êÉ䫤«¤ê¤Þ¤·¤¿" -#: ../os/shell.c:439 msgid "" "\n" -"shell returned " +"Vim: Got X error\n" msgstr "" "\n" -"¥·¥§¥ë¤¬ÃͤòÊÖ¤·¤Þ¤·¤¿ " +"Vim: X ¤Î¥¨¥é¡¼¤ò¸¡½Ð¤·¤Þ¤·¤¿r\n" + +msgid "Testing the X display failed" +msgstr "X display ¤Î¥Á¥§¥Ã¥¯¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" + +msgid "Opening the X display timed out" +msgstr "X display ¤Î open ¤¬¥¿¥¤¥à¥¢¥¦¥È¤·¤Þ¤·¤¿" -#: ../os_unix.c:465 ../os_unix.c:471 msgid "" "\n" "Could not get security context for " @@ -4765,7 +4471,6 @@ msgstr "" "\n" "¥»¥¥å¥ê¥Æ¥£¥³¥ó¥Æ¥¥¹¥È¤ò¼èÆÀ¤Ç¤¤Þ¤»¤ó " -#: ../os_unix.c:479 msgid "" "\n" "Could not set security context for " @@ -4781,223 +4486,293 @@ msgstr "¥»¥¥å¥ê¥Æ¥£¥³¥ó¥Æ¥¥¹¥È %s ¤ò %s ¤ËÀßÄê¤Ç¤¤Þ¤»¤ó" msgid "Could not get security context %s for %s. Removing it!" msgstr "¥»¥¥å¥ê¥Æ¥£¥³¥ó¥Æ¥¥¹¥È %s ¤ò %s ¤«¤é¼èÆÀ¤Ç¤¤Þ¤»¤ó. ºï½ü¤·¤Þ¤¹!" -#: ../os_unix.c:1558 ../os_unix.c:1647 +msgid "" +"\n" +"Cannot execute shell sh\n" +msgstr "" +"\n" +"sh ¥·¥§¥ë¤ò¼Â¹Ô¤Ç¤¤Þ¤»¤ó\n" + +msgid "" +"\n" +"shell returned " +msgstr "" +"\n" +"¥·¥§¥ë¤¬ÃͤòÊÖ¤·¤Þ¤·¤¿ " + +msgid "" +"\n" +"Cannot create pipes\n" +msgstr "" +"\n" +"¥Ñ¥¤¥×¤òºîÀ®¤Ç¤¤Þ¤»¤ó\n" + +msgid "" +"\n" +"Cannot fork\n" +msgstr "" +"\n" +"fork ¤Ç¤¤Þ¤»¤ó\n" + +msgid "" +"\n" +"Cannot execute shell " +msgstr "" +"\n" +"¥·¥§¥ë¤ò¼Â¹Ô¤Ç¤¤Þ¤»¤ó " + +msgid "" +"\n" +"Command terminated\n" +msgstr "" +"\n" +"¥³¥Þ¥ó¥É¤òÃæÃǤ·¤Þ¤·¤¿\n" + +msgid "XSMP lost ICE connection" +msgstr "XSMP ¤¬ICEÀܳ¤ò¼º¤¤¤Þ¤·¤¿" + #, c-format msgid "dlerror = \"%s\"" msgstr "dlerror = \"%s\"" -#: ../path.c:1449 +msgid "Opening the X display failed" +msgstr "X display ¤Î open ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" + +msgid "XSMP handling save-yourself request" +msgstr "XSMP ¤¬save-yourselfÍ×µá¤ò½èÍý¤·¤Æ¤¤¤Þ¤¹" + +msgid "XSMP opening connection" +msgstr "XSMP ¤¬Àܳ¤ò³«»Ï¤·¤Æ¤¤¤Þ¤¹" + +msgid "XSMP ICE connection watch failed" +msgstr "XSMP ICEÀܳ¤¬¼ºÇÔ¤·¤¿¤è¤¦¤Ç¤¹" + #, c-format -msgid "E447: Can't find file \"%s\" in path" -msgstr "E447: path¤Ë¤Ï \"%s\" ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó" +msgid "XSMP SmcOpenConnection failed: %s" +msgstr "XSMP SmcOpenConnection¤¬¼ºÇÔ¤·¤Þ¤·¤¿: %s" + +msgid "At line" +msgstr "¹Ô" + +msgid "Could not load vim32.dll!" +msgstr "vim32.dll ¤ò¥í¡¼¥É¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿" + +msgid "VIM Error" +msgstr "VIM¥¨¥é¡¼" + +msgid "Could not fix up function pointers to the DLL!" +msgstr "DLL¤«¤é´Ø¿ô¥Ý¥¤¥ó¥¿¤ò¼èÆÀ¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿" + +#, c-format +msgid "Vim: Caught %s event\n" +msgstr "Vim: ¥¤¥Ù¥ó¥È %s ¤ò¸¡ÃÎ\n" + +msgid "close" +msgstr "ÊĤ¸¤ë" + +msgid "logoff" +msgstr "¥í¥°¥ª¥Õ" + +msgid "shutdown" +msgstr "¥·¥ã¥Ã¥È¥À¥¦¥ó" + +msgid "E371: Command not found" +msgstr "E371: ¥³¥Þ¥ó¥É¤¬¤¢¤ê¤Þ¤»¤ó" + +msgid "" +"VIMRUN.EXE not found in your $PATH.\n" +"External commands will not pause after completion.\n" +"See :help win32-vimrun for more information." +msgstr "" +"VIMRUN.EXE¤¬ $PATH ¤ÎÃæ¤Ë¸«¤Ä¤«¤ê¤Þ¤»¤ó.\n" +"³°Éô¥³¥Þ¥ó¥É¤Î½ªÎ»¸å¤Ë°ì»þÄä»ß¤ò¤·¤Þ¤»¤ó.\n" +"¾ÜºÙ¤Ï :help win32-vimrun ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤." + +msgid "Vim Warning" +msgstr "Vim¤Î·Ù¹ð" + +#, c-format +msgid "shell returned %d" +msgstr "¥·¥§¥ë¤¬¥³¡¼¥É %d ¤Ç½ªÎ»¤·¤Þ¤·¤¿" -#: ../quickfix.c:359 #, c-format msgid "E372: Too many %%%c in format string" msgstr "E372: ¥Õ¥©¡¼¥Þ¥Ã¥Èʸ»úÎó¤Ë %%%c ¤¬Â¿²á¤®¤Þ¤¹" -#: ../quickfix.c:371 #, c-format msgid "E373: Unexpected %%%c in format string" msgstr "E373: ¥Õ¥©¡¼¥Þ¥Ã¥Èʸ»úÎó¤Ëͽ´ü¤»¤Ì %%%c ¤¬¤¢¤ê¤Þ¤·¤¿" -#: ../quickfix.c:420 msgid "E374: Missing ] in format string" msgstr "E374: ¥Õ¥©¡¼¥Þ¥Ã¥Èʸ»úÎó¤Ë ] ¤¬¤¢¤ê¤Þ¤»¤ó" -#: ../quickfix.c:431 #, c-format msgid "E375: Unsupported %%%c in format string" msgstr "E375: ¥Õ¥©¡¼¥Þ¥Ã¥Èʸ»úÎó¤Ç¤Ï %%%c ¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó" -#: ../quickfix.c:448 #, c-format msgid "E376: Invalid %%%c in format string prefix" msgstr "E376: ¥Õ¥©¡¼¥Þ¥Ã¥Èʸ»úÎó¤ÎÁ°ÃÖ¤Ë̵¸ú¤Ê %%%c ¤¬¤¢¤ê¤Þ¤¹" -#: ../quickfix.c:454 #, c-format msgid "E377: Invalid %%%c in format string" msgstr "E377: ¥Õ¥©¡¼¥Þ¥Ã¥Èʸ»úÎó¤Ë̵¸ú¤Ê %%%c ¤¬¤¢¤ê¤Þ¤¹" #. nothing found -#: ../quickfix.c:477 msgid "E378: 'errorformat' contains no pattern" msgstr "E378: 'errorformat' ¤Ë¥Ñ¥¿¡¼¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó" -#: ../quickfix.c:695 msgid "E379: Missing or empty directory name" msgstr "E379: ¥Ç¥£¥ì¥¯¥È¥ê̾¤¬Ìµ¤¤¤«¶õ¤Ç¤¹" -#: ../quickfix.c:1305 msgid "E553: No more items" msgstr "E553: Í×ÁǤ¬¤â¤¦¤¢¤ê¤Þ¤»¤ó" -#: ../quickfix.c:1674 +msgid "E924: Current window was closed" +msgstr "E924: ¸½ºß¤Î¥¦¥£¥ó¥É¥¦¤¬ÊĤ¸¤é¤ì¤Þ¤·¤¿" + +msgid "E925: Current quickfix was changed" +msgstr "E925: ¸½ºß¤Î quickfix ¤¬Êѹ¹¤µ¤ì¤Þ¤·¤¿" + +msgid "E926: Current location list was changed" +msgstr "E926: ¸½ºß¤Î¥í¥±¡¼¥·¥ç¥ó¥ê¥¹¥È¤¬Êѹ¹¤µ¤ì¤Þ¤·¤¿" + #, c-format msgid "(%d of %d)%s%s: " msgstr "(%d of %d)%s%s: " -#: ../quickfix.c:1676 msgid " (line deleted)" msgstr " (¹Ô¤¬ºï½ü¤µ¤ì¤Þ¤·¤¿)" -#: ../quickfix.c:1863 +#, c-format +msgid "%serror list %d of %d; %d errors " +msgstr "%s ¥¨¥é¡¼°ìÍ÷ %d of %d; %d ¸Ä¥¨¥é¡¼" + msgid "E380: At bottom of quickfix stack" msgstr "E380: quickfix ¥¹¥¿¥Ã¥¯¤ÎËöÈø¤Ç¤¹" -#: ../quickfix.c:1869 msgid "E381: At top of quickfix stack" msgstr "E381: quickfix ¥¹¥¿¥Ã¥¯¤ÎÀèÆ¬¤Ç¤¹" -#: ../quickfix.c:1880 -#, c-format -msgid "error list %d of %d; %d errors" -msgstr "¥¨¥é¡¼°ìÍ÷ %d of %d; %d ¸Ä¥¨¥é¡¼" +msgid "No entries" +msgstr "¥¨¥ó¥È¥ê¤¬¤¢¤ê¤Þ¤»¤ó" -#: ../quickfix.c:2427 msgid "E382: Cannot write, 'buftype' option is set" msgstr "E382: 'buftype' ¥ª¥×¥·¥ç¥ó¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¤Î¤Ç½ñ¹þ¤ß¤Þ¤»¤ó" -#: ../quickfix.c:2812 +msgid "Error file" +msgstr "¥¨¥é¡¼¥Õ¥¡¥¤¥ë" + msgid "E683: File name missing or invalid pattern" msgstr "E683: ¥Õ¥¡¥¤¥ë̾¤¬Ìµ¤¤¤«Ìµ¸ú¤Ê¥Ñ¥¿¡¼¥ó¤Ç¤¹" -#: ../quickfix.c:2911 #, c-format msgid "Cannot open file \"%s\"" msgstr "¥Õ¥¡¥¤¥ë \"%s\" ¤ò³«¤±¤Þ¤»¤ó" -#: ../quickfix.c:3429 msgid "E681: Buffer is not loaded" msgstr "E681: ¥Ð¥Ã¥Õ¥¡¤ÏÆÉ¤ß¹þ¤Þ¤ì¤Þ¤»¤ó¤Ç¤·¤¿" -#: ../quickfix.c:3487 msgid "E777: String or List expected" msgstr "E777: ʸ»úÎ󤫥ꥹ¥È¤¬É¬ÍפǤ¹" -#: ../regexp.c:359 #, c-format msgid "E369: invalid item in %s%%[]" msgstr "E369: ̵¸ú¤Ê¹àÌܤǤ¹: %s%%[]" # -#: ../regexp.c:374 #, c-format msgid "E769: Missing ] after %s[" msgstr "E769: %s[ ¤Î¸å¤Ë ] ¤¬¤¢¤ê¤Þ¤»¤ó" -#: ../regexp.c:375 #, c-format msgid "E53: Unmatched %s%%(" msgstr "E53: %s%%( ¤¬Äà¤ê¹ç¤Ã¤Æ¤¤¤Þ¤»¤ó" -#: ../regexp.c:376 #, c-format msgid "E54: Unmatched %s(" msgstr "E54: %s( ¤¬Äà¤ê¹ç¤Ã¤Æ¤¤¤Þ¤»¤ó" -#: ../regexp.c:377 #, c-format msgid "E55: Unmatched %s)" msgstr "E55: %s) ¤¬Äà¤ê¹ç¤Ã¤Æ¤¤¤Þ¤»¤ó" # -#: ../regexp.c:378 msgid "E66: \\z( not allowed here" msgstr "E66: \\z( ¤Ï¥³¥³¤Ç¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" # -#: ../regexp.c:379 msgid "E67: \\z1 et al. not allowed here" msgstr "E67: \\z1 ¤½¤Î¾¤Ï¥³¥³¤Ç¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" # -#: ../regexp.c:380 #, c-format msgid "E69: Missing ] after %s%%[" msgstr "E69: %s%%[ ¤Î¸å¤Ë ] ¤¬¤¢¤ê¤Þ¤»¤ó" -#: ../regexp.c:381 #, c-format msgid "E70: Empty %s%%[]" msgstr "E70: %s%%[] ¤¬¶õ¤Ç¤¹" -#: ../regexp.c:1209 ../regexp.c:1224 msgid "E339: Pattern too long" msgstr "E339: ¥Ñ¥¿¡¼¥ó¤¬Ä¹²á¤®¤Þ¤¹" -#: ../regexp.c:1371 msgid "E50: Too many \\z(" msgstr "E50: \\z( ¤¬Â¿²á¤®¤Þ¤¹" -#: ../regexp.c:1378 #, c-format msgid "E51: Too many %s(" msgstr "E51: %s( ¤¬Â¿²á¤®¤Þ¤¹" -#: ../regexp.c:1427 msgid "E52: Unmatched \\z(" msgstr "E52: \\z( ¤¬Äà¤ê¹ç¤Ã¤Æ¤¤¤Þ¤»¤ó" -#: ../regexp.c:1637 #, c-format msgid "E59: invalid character after %s@" msgstr "E59: %s@ ¤Î¸å¤ËÉÔÀµ¤Êʸ»ú¤¬¤¢¤ê¤Þ¤·¤¿" -#: ../regexp.c:1672 #, c-format msgid "E60: Too many complex %s{...}s" msgstr "E60: Ê£»¨¤Ê %s{...} ¤¬Â¿²á¤®¤Þ¤¹" -#: ../regexp.c:1687 #, c-format msgid "E61: Nested %s*" msgstr "E61:%s* ¤¬Æþ¤ì»Ò¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹" -#: ../regexp.c:1690 #, c-format msgid "E62: Nested %s%c" msgstr "E62:%s%c ¤¬Æþ¤ì»Ò¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹" # -#: ../regexp.c:1800 msgid "E63: invalid use of \\_" msgstr "E63: \\_ ¤Î̵¸ú¤Ê»ÈÍÑÊýË¡¤Ç¤¹" -#: ../regexp.c:1850 #, c-format msgid "E64: %s%c follows nothing" msgstr "E64:%s%c ¤Î¸å¤Ë¤Ê¤Ë¤â¤¢¤ê¤Þ¤»¤ó" # -#: ../regexp.c:1902 msgid "E65: Illegal back reference" msgstr "E65: ÉÔÀµ¤Ê¸åÊý»²¾È¤Ç¤¹" # -#: ../regexp.c:1943 msgid "E68: Invalid character after \\z" msgstr "E68: \\z ¤Î¸å¤ËÉÔÀµ¤Êʸ»ú¤¬¤¢¤ê¤Þ¤·¤¿" # -#: ../regexp.c:2049 ../regexp_nfa.c:1296 #, c-format msgid "E678: Invalid character after %s%%[dxouU]" msgstr "E678: %s%%[dxouU] ¤Î¸å¤ËÉÔÀµ¤Êʸ»ú¤¬¤¢¤ê¤Þ¤·¤¿" # -#: ../regexp.c:2107 #, c-format msgid "E71: Invalid character after %s%%" msgstr "E71: %s%% ¤Î¸å¤ËÉÔÀµ¤Êʸ»ú¤¬¤¢¤ê¤Þ¤·¤¿" -#: ../regexp.c:3017 #, c-format msgid "E554: Syntax error in %s{...}" msgstr "E554: %s{...} Æâ¤Ëʸˡ¥¨¥é¡¼¤¬¤¢¤ê¤Þ¤¹" -#: ../regexp.c:3805 msgid "External submatches:\n" msgstr "³°Éô¤ÎÉôʬ³ºÅö:\n" @@ -5005,7 +4780,6 @@ msgstr "³°Éô¤ÎÉôʬ³ºÅö:\n" msgid "E888: (NFA regexp) cannot repeat %s" msgstr "E888: (NFA Àµµ¬É½¸½) ·«¤êÊÖ¤»¤Þ¤»¤ó %s" -#: ../regexp.c:7022 msgid "" "E864: \\%#= can only be followed by 0, 1, or 2. The automatic engine will be " "used " @@ -5016,62 +4790,54 @@ msgstr "" msgid "Switching to backtracking RE engine for pattern: " msgstr "¼¡¤Î¥Ñ¥¿¡¼¥ó¤Ë¥Ð¥Ã¥¯¥È¥é¥Ã¥¥ó¥° RE ¥¨¥ó¥¸¥ó¤òŬÍѤ·¤Þ¤¹: " -#: ../regexp_nfa.c:239 msgid "E865: (NFA) Regexp end encountered prematurely" msgstr "E865: (NFA) ´üÂÔ¤è¤êÁ᤯Àµµ¬É½¸½¤Î½ªÃ¼¤ËÅþ㤷¤Þ¤·¤¿" -#: ../regexp_nfa.c:240 #, c-format msgid "E866: (NFA regexp) Misplaced %c" msgstr "E866: (NFA Àµµ¬É½¸½) °ÌÃÖ¤¬¸í¤Ã¤Æ¤¤¤Þ¤¹: %c" -#: ../regexp_nfa.c:242 +# #, c-format -msgid "E877: (NFA regexp) Invalid character class: %<PRId64>" -msgstr "E877: (NFA Àµµ¬É½¸½) ̵¸ú¤Êʸ»ú¥¯¥é¥¹: %<PRId64>" +msgid "E877: (NFA regexp) Invalid character class: %ld" +msgstr "E877: (NFA Àµµ¬É½¸½) ̵¸ú¤Êʸ»ú¥¯¥é¥¹: %ld" -#: ../regexp_nfa.c:1261 #, c-format msgid "E867: (NFA) Unknown operator '\\z%c'" msgstr "E867: (NFA) ̤ÃΤΥª¥Ú¥ì¡¼¥¿¤Ç¤¹: '\\z%c'" -#: ../regexp_nfa.c:1387 #, c-format msgid "E867: (NFA) Unknown operator '\\%%%c'" msgstr "E867: (NFA) ̤ÃΤΥª¥Ú¥ì¡¼¥¿¤Ç¤¹: '\\%%%c'" -#: ../regexp_nfa.c:1802 +#. should never happen +msgid "E868: Error building NFA with equivalence class!" +msgstr "E868: Åù²Á¥¯¥é¥¹¤ò´Þ¤àNFA¹½Ãۤ˼ºÇÔ¤·¤Þ¤·¤¿!" + #, c-format msgid "E869: (NFA) Unknown operator '\\@%c'" msgstr "E869: (NFA) ̤ÃΤΥª¥Ú¥ì¡¼¥¿¤Ç¤¹: '\\@%c'" -#: ../regexp_nfa.c:1831 msgid "E870: (NFA regexp) Error reading repetition limits" msgstr "E870: (NFA Àµµ¬É½¸½) ·«¤êÊÖ¤·¤ÎÀ©¸Â²ó¿ô¤òÆÉ¹þÃæ¤Ë¥¨¥é¡¼" #. Can't have a multi follow a multi. -#: ../regexp_nfa.c:1895 msgid "E871: (NFA regexp) Can't have a multi follow a multi !" msgstr "E871: (NFA Àµµ¬É½¸½) ·«¤êÊÖ¤· ¤Î¸å¤Ë ·«¤êÊÖ¤· ¤Ï¤Ç¤¤Þ¤»¤ó!" #. Too many `(' -#: ../regexp_nfa.c:2037 msgid "E872: (NFA regexp) Too many '('" msgstr "E872: (NFA Àµµ¬É½¸½) '(' ¤¬Â¿²á¤®¤Þ¤¹" -#: ../regexp_nfa.c:2042 msgid "E879: (NFA regexp) Too many \\z(" msgstr "E879: (NFA Àµµ¬É½¸½) \\z( ¤¬Â¿²á¤®¤Þ¤¹" -#: ../regexp_nfa.c:2066 msgid "E873: (NFA regexp) proper termination error" msgstr "E873: (NFA Àµµ¬É½¸½) ½ªÃ¼µ¹æ¤¬¤¢¤ê¤Þ¤»¤ó" -#: ../regexp_nfa.c:2599 msgid "E874: (NFA) Could not pop the stack !" msgstr "E874: (NFA) ¥¹¥¿¥Ã¥¯¤ò¥Ý¥Ã¥×¤Ç¤¤Þ¤»¤ó!" -#: ../regexp_nfa.c:3298 msgid "" "E875: (NFA regexp) (While converting from postfix to NFA), too many states " "left on stack" @@ -5079,177 +4845,136 @@ msgstr "" "E875: (NFA Àµµ¬É½¸½) (¸åÃÖʸ»úÎó¤òNFA¤ËÊÑ´¹Ãæ¤Ë) ¥¹¥¿¥Ã¥¯¤Ë»Ä¤µ¤ì¤¿¥¹¥Æ¡¼¥È¤¬" "¿²á¤®¤Þ¤¹" -#: ../regexp_nfa.c:3302 msgid "E876: (NFA regexp) Not enough space to store the whole NFA " msgstr "E876: (NFA Àµµ¬É½¸½) NFAÁ´ÂΤòÊݸ¤¹¤ë¤Ë¤Ï¶õ¤¥¹¥Ú¡¼¥¹¤¬Â¤ê¤Þ¤»¤ó" -#: ../regexp_nfa.c:4571 ../regexp_nfa.c:4869 +msgid "E878: (NFA) Could not allocate memory for branch traversal!" +msgstr "E878: (NFA) ¸½ºß²£ÃÇÃæ¤Î¥Ö¥é¥ó¥Á¤Ë½½Ê¬¤Ê¥á¥â¥ê¤ò³ä¤êÅö¤Æ¤é¤ì¤Þ¤»¤ó!" + msgid "" "Could not open temporary log file for writing, displaying on stderr ... " msgstr "" "NFAÀµµ¬É½¸½¥¨¥ó¥¸¥óÍÑ¤Î¥í¥°¥Õ¥¡¥¤¥ë¤ò½ñ¹þÍѤȤ·¤Æ³«¤±¤Þ¤»¤ó¡£¥í¥°¤Ïɸ½à½ÐÎϤË" "½ÐÎϤ·¤Þ¤¹¡£" -#: ../regexp_nfa.c:4840 #, c-format msgid "(NFA) COULD NOT OPEN %s !" msgstr "(NFA) ¥í¥°¥Õ¥¡¥¤¥ë %s ¤ò³«¤±¤Þ¤»¤ó!" -#: ../regexp_nfa.c:6049 msgid "Could not open temporary log file for writing " msgstr "NFAÀµµ¬É½¸½¥¨¥ó¥¸¥óÍÑ¤Î¥í¥°¥Õ¥¡¥¤¥ë¤ò½ñ¹þÍѤȤ·¤Æ³«¤±¤Þ¤»¤ó¡£" -#: ../screen.c:7435 msgid " VREPLACE" msgstr " ²¾ÁÛÃÖ´¹" -#: ../screen.c:7437 msgid " REPLACE" msgstr " ÃÖ´¹" -#: ../screen.c:7440 msgid " REVERSE" msgstr " ȿž" -#: ../screen.c:7441 msgid " INSERT" msgstr " ÁÞÆþ" -#: ../screen.c:7443 msgid " (insert)" msgstr " (ÁÞÆþ)" -#: ../screen.c:7445 msgid " (replace)" msgstr " (ÃÖ´¹)" -#: ../screen.c:7447 msgid " (vreplace)" msgstr " (²¾ÁÛÃÖ´¹)" -#: ../screen.c:7449 msgid " Hebrew" msgstr " ¥Ø¥Ö¥é¥¤" -#: ../screen.c:7454 msgid " Arabic" msgstr " ¥¢¥é¥Ó¥¢" -#: ../screen.c:7456 -msgid " (lang)" -msgstr " (¸À¸ì)" - -#: ../screen.c:7459 msgid " (paste)" msgstr " (ޤêÉÕ¤±)" -#: ../screen.c:7469 msgid " VISUAL" msgstr " ¥Ó¥¸¥å¥¢¥ë" -#: ../screen.c:7470 msgid " VISUAL LINE" msgstr " ¥Ó¥¸¥å¥¢¥ë ¹Ô" -#: ../screen.c:7471 msgid " VISUAL BLOCK" msgstr " ¥Ó¥¸¥å¥¢¥ë ¶ë·Á" -#: ../screen.c:7472 msgid " SELECT" msgstr " ¥»¥ì¥¯¥È" -#: ../screen.c:7473 msgid " SELECT LINE" msgstr " ¹Ô»Ø¸þÁªÂò" -#: ../screen.c:7474 msgid " SELECT BLOCK" msgstr " ¶ë·ÁÁªÂò" -#: ../screen.c:7486 ../screen.c:7541 msgid "recording" msgstr "µÏ¿Ãæ" -#: ../search.c:487 #, c-format msgid "E383: Invalid search string: %s" msgstr "E383: ̵¸ú¤Ê¸¡º÷ʸ»úÎó¤Ç¤¹: %s" -#: ../search.c:832 #, c-format msgid "E384: search hit TOP without match for: %s" msgstr "E384: ¾å¤Þ¤Ç¸¡º÷¤·¤Þ¤·¤¿¤¬³ºÅö²Õ½ê¤Ï¤¢¤ê¤Þ¤»¤ó: %s" -#: ../search.c:835 #, c-format msgid "E385: search hit BOTTOM without match for: %s" msgstr "E385: ²¼¤Þ¤Ç¸¡º÷¤·¤Þ¤·¤¿¤¬³ºÅö²Õ½ê¤Ï¤¢¤ê¤Þ¤»¤ó: %s" -#: ../search.c:1200 msgid "E386: Expected '?' or '/' after ';'" msgstr "E386: ';' ¤Î¤¢¤È¤Ë¤Ï '?' ¤« '/' ¤¬´üÂÔ¤µ¤ì¤Æ¤¤¤ë" -#: ../search.c:4085 msgid " (includes previously listed match)" msgstr " (Á°¤ËÎóµó¤·¤¿³ºÅö²Õ½ê¤ò´Þ¤à)" #. cursor at status line -#: ../search.c:4104 msgid "--- Included files " msgstr "--- ¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë " -#: ../search.c:4106 msgid "not found " msgstr "¸«¤Ä¤«¤ê¤Þ¤»¤ó " -#: ../search.c:4107 msgid "in path ---\n" msgstr "¥Ñ¥¹¤Ë ----\n" -#: ../search.c:4168 msgid " (Already listed)" msgstr " (´û¤ËÎóµó)" -#: ../search.c:4170 msgid " NOT FOUND" msgstr " ¸«¤Ä¤«¤ê¤Þ¤»¤ó" -#: ../search.c:4211 #, c-format msgid "Scanning included file: %s" msgstr "¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò¥¹¥¥ã¥óÃæ: %s" -#: ../search.c:4216 #, c-format msgid "Searching included file %s" msgstr "¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò¥¹¥¥ã¥óÃæ %s" -#: ../search.c:4405 msgid "E387: Match is on current line" msgstr "E387: ¸½ºß¹Ô¤Ë³ºÅö¤¬¤¢¤ê¤Þ¤¹" -#: ../search.c:4517 msgid "All included files were found" msgstr "Á´¤Æ¤Î¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿" -#: ../search.c:4519 msgid "No included files" msgstr "¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤Ï¤¢¤ê¤Þ¤»¤ó" -#: ../search.c:4527 msgid "E388: Couldn't find definition" msgstr "E388: ÄêµÁ¤ò¸«¤Ä¤±¤é¤ì¤Þ¤»¤ó" -#: ../search.c:4529 msgid "E389: Couldn't find pattern" msgstr "E389: ¥Ñ¥¿¡¼¥ó¤ò¸«¤Ä¤±¤é¤ì¤Þ¤»¤ó" -#: ../search.c:4668 msgid "Substitute " msgstr "Substitute " -#: ../search.c:4681 #, c-format msgid "" "\n" @@ -5260,99 +4985,131 @@ msgstr "" "# ºÇ¸å¤Î %s¸¡º÷¥Ñ¥¿¡¼¥ó:\n" "~" -#: ../spell.c:951 -msgid "E759: Format error in spell file" -msgstr "E759: ¥¹¥Ú¥ë¥Õ¥¡¥¤¥ë¤Î½ñ¼°¥¨¥é¡¼¤Ç¤¹" +msgid "E756: Spell checking is not enabled" +msgstr "E756: ¥¹¥Ú¥ë¥Á¥§¥Ã¥¯¤Ï̵¸ú²½¤µ¤ì¤Æ¤¤¤Þ¤¹" + +#, c-format +msgid "Warning: Cannot find word list \"%s_%s.spl\" or \"%s_ascii.spl\"" +msgstr "" +"·Ù¹ð: ñ¸ì¥ê¥¹¥È \"%s_%s.spl\" ¤ª¤è¤Ó \"%s_ascii.spl\" ¤Ï¸«¤Ä¤«¤ê¤Þ¤»¤ó" + +#, c-format +msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\"" +msgstr "" +"·Ù¹ð: ñ¸ì¥ê¥¹¥È \"%s.%s.spl\" ¤ª¤è¤Ó \"%s.ascii.spl\" ¤Ï¸«¤Ä¤«¤ê¤Þ¤»¤ó" + +msgid "E797: SpellFileMissing autocommand deleted buffer" +msgstr "E797: autocommand ¤Î SpellFileMissing ¤¬¥Ð¥Ã¥Õ¥¡¤òºï½ü¤·¤Þ¤·¤¿" + +#, c-format +msgid "Warning: region %s not supported" +msgstr "·Ù¹ð9: %s ¤È¤¤¤¦ÈϰϤϥµ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" + +msgid "Sorry, no suggestions" +msgstr "»Äǰ¤Ç¤¹¤¬, ½¤Àµ¸õÊä¤Ï¤¢¤ê¤Þ¤»¤ó" + +#, c-format +msgid "Sorry, only %ld suggestions" +msgstr "»Äǰ¤Ç¤¹¤¬, ½¤Àµ¸õÊä¤Ï %ld ¸Ä¤·¤«¤¢¤ê¤Þ¤»¤ó" + +#. for when 'cmdheight' > 1 +#. avoid more prompt +#, c-format +msgid "Change \"%.*s\" to:" +msgstr "\"%.*s\" ¤ò¼¡¤ØÊÑ´¹:" + +#, c-format +msgid " < \"%.*s\"" +msgstr " < \"%.*s\"" + +msgid "E752: No previous spell replacement" +msgstr "E752: ¥¹¥Ú¥ëÃÖ´¹¤¬¤Þ¤À¼Â¹Ô¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" + +#, c-format +msgid "E753: Not found: %s" +msgstr "E753: ¸«¤Ä¤«¤ê¤Þ¤»¤ó: %s" -#: ../spell.c:952 msgid "E758: Truncated spell file" msgstr "E758: ¥¹¥Ú¥ë¥Õ¥¡¥¤¥ë¤¬ÀÚ¼è¤é¤ì¤Æ¤¤¤ë¤è¤¦¤Ç¤¹" -#: ../spell.c:953 #, c-format msgid "Trailing text in %s line %d: %s" msgstr "%s (%d ¹ÔÌÜ) ¤Ë³¤¯¥Æ¥¥¹¥È: %s" -#: ../spell.c:954 #, c-format msgid "Affix name too long in %s line %d: %s" msgstr "%s (%d ¹ÔÌÜ) ¤Î affix ̾¤¬Ä¹²á¤®¤Þ¤¹: %s" -#: ../spell.c:955 msgid "E761: Format error in affix file FOL, LOW or UPP" msgstr "" "E761: affix¥Õ¥¡¥¤¥ë¤Î FOL, LOW ¤â¤·¤¯¤Ï UPP ¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ë¥¨¥é¡¼¤¬¤¢¤ê¤Þ¤¹" -#: ../spell.c:957 msgid "E762: Character in FOL, LOW or UPP is out of range" msgstr "E762: FOL, LOW ¤â¤·¤¯¤Ï UPP ¤Îʸ»ú¤¬Èϰϳ°¤Ç¤¹" -#: ../spell.c:958 msgid "Compressing word tree..." msgstr "ñ¸ì¥Ä¥ê¡¼¤ò°µ½Ì¤·¤Æ¤¤¤Þ¤¹..." -#: ../spell.c:1951 -msgid "E756: Spell checking is not enabled" -msgstr "E756: ¥¹¥Ú¥ë¥Á¥§¥Ã¥¯¤Ï̵¸ú²½¤µ¤ì¤Æ¤¤¤Þ¤¹" - -#: ../spell.c:2249 -#, c-format -msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\"" -msgstr "" -"·Ù¹ð: ñ¸ì¥ê¥¹¥È \"%s.%s.spl\" ¤ª¤è¤Ó \"%s.ascii.spl\" ¤Ï¸«¤Ä¤«¤ê¤Þ¤»¤ó" - -#: ../spell.c:2473 #, c-format msgid "Reading spell file \"%s\"" msgstr "¥¹¥Ú¥ë¥Õ¥¡¥¤¥ë \"%s\" ¤òÆÉ¹þÃæ" -#: ../spell.c:2496 msgid "E757: This does not look like a spell file" msgstr "E757: ¥¹¥Ú¥ë¥Õ¥¡¥¤¥ë¤Ç¤Ï¤Ê¤¤¤è¤¦¤Ç¤¹" -#: ../spell.c:2501 msgid "E771: Old spell file, needs to be updated" msgstr "E771: ¸Å¤¤¥¹¥Ú¥ë¥Õ¥¡¥¤¥ë¤Ê¤Î¤Ç, ¥¢¥Ã¥×¥Ç¡¼¥È¤·¤Æ¤¯¤À¤µ¤¤" -#: ../spell.c:2504 msgid "E772: Spell file is for newer version of Vim" msgstr "E772: ¤è¤ê¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Î Vim ÍѤΥ¹¥Ú¥ë¥Õ¥¡¥¤¥ë¤Ç¤¹" -#: ../spell.c:2602 msgid "E770: Unsupported section in spell file" msgstr "E770: ¥¹¥Ú¥ë¥Õ¥¡¥¤¥ë¤Ë¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¥»¥¯¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹" -#: ../spell.c:3762 #, c-format -msgid "Warning: region %s not supported" -msgstr "·Ù¹ð9: %s ¤È¤¤¤¦ÈϰϤϥµ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" +msgid "E778: This does not look like a .sug file: %s" +msgstr "E778: .sug ¥Õ¥¡¥¤¥ë¤Ç¤Ï¤Ê¤¤¤è¤¦¤Ç¤¹: %s" + +#, c-format +msgid "E779: Old .sug file, needs to be updated: %s" +msgstr "E779: ¸Å¤¤ .sug ¥Õ¥¡¥¤¥ë¤Ê¤Î¤Ç, ¥¢¥Ã¥×¥Ç¡¼¥È¤·¤Æ¤¯¤À¤µ¤¤: %s" + +#, c-format +msgid "E780: .sug file is for newer version of Vim: %s" +msgstr "E780: ¤è¤ê¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Î Vim ÍѤΠ.sug ¥Õ¥¡¥¤¥ë¤Ç¤¹: %s" + +#, c-format +msgid "E781: .sug file doesn't match .spl file: %s" +msgstr "E781: .sug ¥Õ¥¡¥¤¥ë¤¬ .spl ¥Õ¥¡¥¤¥ë¤È°ìÃפ·¤Þ¤»¤ó: %s" + +#, c-format +msgid "E782: error while reading .sug file: %s" +msgstr "E782: .sug ¥Õ¥¡¥¤¥ë¤ÎÆÉ¹þÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿: %s" -#: ../spell.c:4550 #, c-format msgid "Reading affix file %s ..." msgstr "affix ¥Õ¥¡¥¤¥ë %s ¤òÆÉ¹þÃæ..." -#: ../spell.c:4589 ../spell.c:5635 ../spell.c:6140 #, c-format msgid "Conversion failure for word in %s line %d: %s" msgstr "%s (%d ¹ÔÌÜ) ¤Îñ¸ì¤òÊÑ´¹¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿: %s" -#: ../spell.c:4630 ../spell.c:6170 #, c-format msgid "Conversion in %s not supported: from %s to %s" msgstr "%s Æâ¤Î¼¡¤ÎÊÑ´¹¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó: %s ¤«¤é %s ¤Ø" -#: ../spell.c:4642 +#, c-format +msgid "Conversion in %s not supported" +msgstr "%s Æâ¤ÎÊÑ´¹¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" + #, c-format msgid "Invalid value for FLAG in %s line %d: %s" msgstr "%s Æâ¤Î %d ¹ÔÌܤΠFLAG ¤Ë̵¸ú¤ÊÃͤ¬¤¢¤ê¤Þ¤¹: %s" -#: ../spell.c:4655 #, c-format msgid "FLAG after using flags in %s line %d: %s" msgstr "%s Æâ¤Î %d ¹ÔÌܤ˥ե饰¤ÎÆó½Å»ÈÍѤ¬¤¢¤ê¤Þ¤¹: %s" -#: ../spell.c:4723 #, c-format msgid "" "Defining COMPOUNDFORBIDFLAG after PFX item may give wrong results in %s line " @@ -5361,7 +5118,6 @@ msgstr "" "%s ¤Î %d ¹ÔÌܤΠPFX ¹àÌܤθå¤Î COMPOUNDFORBIDFLAG ¤ÎÄêµÁ¤Ï¸í¤Ã¤¿·ë²Ì¤òÀ¸¤¸¤ë" "¤³¤È¤¬¤¢¤ê¤Þ¤¹" -#: ../spell.c:4731 #, c-format msgid "" "Defining COMPOUNDPERMITFLAG after PFX item may give wrong results in %s line " @@ -5370,43 +5126,35 @@ msgstr "" "%s ¤Î %d ¹ÔÌܤΠPFX ¹àÌܤθå¤Î COMPOUNDPERMITFLAG ¤ÎÄêµÁ¤Ï¸í¤Ã¤¿·ë²Ì¤òÀ¸¤¸¤ë" "¤³¤È¤¬¤¢¤ê¤Þ¤¹" -#: ../spell.c:4747 #, c-format msgid "Wrong COMPOUNDRULES value in %s line %d: %s" msgstr "COMPOUNDRULES ¤ÎÃͤ˸í¤ê¤¬¤¢¤ê¤Þ¤¹. ¥Õ¥¡¥¤¥ë %s ¤Î %d ¹ÔÌÜ: %s" -#: ../spell.c:4771 #, c-format msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s" msgstr "%s ¤Î %d ¹ÔÌܤΠCOMPOUNDWORDMAX ¤ÎÃͤ˸í¤ê¤¬¤¢¤ê¤Þ¤¹: %s" -#: ../spell.c:4777 #, c-format msgid "Wrong COMPOUNDMIN value in %s line %d: %s" msgstr "%s ¤Î %d ¹ÔÌܤΠCOMPOUNDMIN ¤ÎÃͤ˸í¤ê¤¬¤¢¤ê¤Þ¤¹: %s" -#: ../spell.c:4783 #, c-format msgid "Wrong COMPOUNDSYLMAX value in %s line %d: %s" msgstr "%s ¤Î %d ¹ÔÌܤΠCOMPOUNDSYLMAX ¤ÎÃͤ˸í¤ê¤¬¤¢¤ê¤Þ¤¹: %s" -#: ../spell.c:4795 #, c-format msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s" msgstr "%s ¤Î %d ¹ÔÌܤΠCHECKCOMPOUNDPATTERN ¤ÎÃͤ˸í¤ê¤¬¤¢¤ê¤Þ¤¹: %s" -#: ../spell.c:4847 #, c-format msgid "Different combining flag in continued affix block in %s line %d: %s" msgstr "" "%s ¤Î %d ¹ÔÌܤΠϢ³ affix ¥Ö¥í¥Ã¥¯¤Î¥Õ¥é¥°¤ÎÁȹ礻¤Ë°ã¤¤¤¬¤¢¤ê¤Þ¤¹: %s" -#: ../spell.c:4850 #, c-format msgid "Duplicate affix in %s line %d: %s" msgstr "%s ¤Î %d ¹ÔÌÜ¤Ë ½ÅÊ£¤·¤¿ affix ¤ò¸¡½Ð¤·¤Þ¤·¤¿: %s" -#: ../spell.c:4871 #, c-format msgid "" "Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST in %s " @@ -5415,308 +5163,206 @@ msgstr "" "%s ¤Î %d ¹ÔÌܤΠaffix ¤Ï BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST " "¤Ë»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤: %s" -#: ../spell.c:4893 #, c-format msgid "Expected Y or N in %s line %d: %s" msgstr "%s ¤Î %d ¹ÔÌÜ¤Ç¤Ï Y ¤« N ¤¬É¬ÍפǤ¹: %s" -#: ../spell.c:4968 #, c-format msgid "Broken condition in %s line %d: %s" msgstr "%s ¤Î %d ¹ÔÌܤΠ¾ò·ï¤Ï²õ¤ì¤Æ¤¤¤Þ¤¹: %s" -#: ../spell.c:5091 #, c-format msgid "Expected REP(SAL) count in %s line %d" msgstr "%s ¤Î %d ¹ÔÌÜ¤Ë¤Ï REP(SAL) ¤Î²ó¿ô¤¬É¬ÍפǤ¹" -#: ../spell.c:5120 #, c-format msgid "Expected MAP count in %s line %d" msgstr "%s ¤Î %d ¹ÔÌÜ¤Ë¤Ï MAP ¤Î²ó¿ô¤¬É¬ÍפǤ¹" -#: ../spell.c:5132 #, c-format msgid "Duplicate character in MAP in %s line %d" msgstr "%s ¤Î %d ¹ÔÌܤΠMAP ¤Ë½ÅÊ£¤·¤¿Ê¸»ú¤¬¤¢¤ê¤Þ¤¹" -#: ../spell.c:5176 #, c-format msgid "Unrecognized or duplicate item in %s line %d: %s" msgstr "%s ¤Î %d ¹ÔÌÜ¤Ë Ç§¼±¤Ç¤¤Ê¤¤¤«½ÅÊ£¤·¤¿¹àÌܤ¬¤¢¤ê¤Þ¤¹: %s" -#: ../spell.c:5197 #, c-format msgid "Missing FOL/LOW/UPP line in %s" msgstr "%s ¹ÔÌÜ¤Ë FOL/LOW/UPP ¤¬¤¢¤ê¤Þ¤»¤ó" -#: ../spell.c:5220 msgid "COMPOUNDSYLMAX used without SYLLABLE" msgstr "SYLLABLE ¤¬»ØÄꤵ¤ì¤Ê¤¤ COMPOUNDSYLMAX" -#: ../spell.c:5236 msgid "Too many postponed prefixes" msgstr "ÃÙ±ä¸åÃÖ»Ò¤¬Â¿²á¤®¤Þ¤¹" -#: ../spell.c:5238 msgid "Too many compound flags" msgstr "Ê£¹ç¥Õ¥é¥°¤¬Â¿²á¤®¤Þ¤¹" -#: ../spell.c:5240 msgid "Too many postponed prefixes and/or compound flags" msgstr "ÃÙ±ä¸åÃÖ»Ò ¤È/¤â¤·¤¯¤Ï Ê£¹ç¥Õ¥é¥°¤¬Â¿²á¤®¤Þ¤¹" -#: ../spell.c:5250 #, c-format msgid "Missing SOFO%s line in %s" msgstr "SOFO%s ¹Ô¤¬ %s ¤Ë¤¢¤ê¤Þ¤»¤ó" -#: ../spell.c:5253 #, c-format msgid "Both SAL and SOFO lines in %s" msgstr "SAL¹Ô ¤È SOFO¹Ô ¤¬ %s ¤ÇξÊý»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹" -#: ../spell.c:5331 #, c-format msgid "Flag is not a number in %s line %d: %s" msgstr "%s ¤Î %d ¹Ô¤Î ¥Õ¥é¥°¤¬¿ôÃͤǤϤ¢¤ê¤Þ¤»¤ó: %s" -#: ../spell.c:5334 #, c-format msgid "Illegal flag in %s line %d: %s" msgstr "%s ¤Î %d ¹ÔÌܤΠ¥Õ¥é¥°¤¬ÉÔÀµ¤Ç¤¹: %s" -#: ../spell.c:5493 ../spell.c:5501 #, c-format msgid "%s value differs from what is used in another .aff file" msgstr "ÃÍ %s ¤Ï¾¤Î .aff ¥Õ¥¡¥¤¥ë¤Ç»ÈÍѤµ¤ì¤¿¤Î¤È°Û¤Ê¤ê¤Þ¤¹" -#: ../spell.c:5602 #, c-format msgid "Reading dictionary file %s ..." msgstr "¼½ñ¥Õ¥¡¥¤¥ë %s ¤ò¥¹¥¥ã¥óÃæ..." -#: ../spell.c:5611 #, c-format msgid "E760: No word count in %s" msgstr "E760: %s ¤Ë¤Ïñ¸ì¿ô¤¬¤¢¤ê¤Þ¤»¤ó" -#: ../spell.c:5669 #, c-format msgid "line %6d, word %6d - %s" msgstr "¹Ô %6d, ñ¸ì %6d - %s" -#: ../spell.c:5691 #, c-format msgid "Duplicate word in %s line %d: %s" msgstr "%s ¤Î %d ¹ÔÌÜ¤Ç ½Åʣñ¸ì¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿: %s" -#: ../spell.c:5694 #, c-format msgid "First duplicate word in %s line %d: %s" msgstr "½ÅÊ£¤Î¤¦¤ÁºÇ½é¤Îñ¸ì¤Ï %s ¤Î %d ¹ÔÌܤǤ¹: %s" -#: ../spell.c:5746 #, c-format msgid "%d duplicate word(s) in %s" msgstr "%d ¸Ä¤Îñ¸ì¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿ (%s Æâ)" -#: ../spell.c:5748 #, c-format msgid "Ignored %d word(s) with non-ASCII characters in %s" msgstr "ÈóASCIIʸ»ú¤ò´Þ¤à %d ¸Ä¤Îñ¸ì¤ò̵»ë¤·¤Þ¤·¤¿ (%s Æâ)" -#: ../spell.c:6115 #, c-format msgid "Reading word file %s ..." msgstr "ɸ½àÆþÎϤ«¤éÆÉ¹þ¤ßÃæ %s ..." -#: ../spell.c:6155 #, c-format msgid "Duplicate /encoding= line ignored in %s line %d: %s" msgstr "%s ¤Î %d ¹ÔÌܤΠ½ÅÊ£¤·¤¿ /encoding= ¹Ô¤ò̵»ë¤·¤Þ¤·¤¿: %s" -#: ../spell.c:6159 #, c-format msgid "/encoding= line after word ignored in %s line %d: %s" msgstr "%s ¤Î %d ¹ÔÌܤΠñ¸ì¤Î¸å¤Î /encoding= ¹Ô¤ò̵»ë¤·¤Þ¤·¤¿: %s" -#: ../spell.c:6180 #, c-format msgid "Duplicate /regions= line ignored in %s line %d: %s" msgstr "%s ¤Î %d ¹ÔÌܤΠ½ÅÊ£¤·¤¿ /regions= ¹Ô¤ò̵»ë¤·¤Þ¤·¤¿: %s" -#: ../spell.c:6185 #, c-format msgid "Too many regions in %s line %d: %s" msgstr "%s ¤Î %d ¹ÔÌÜ, ÈϰϻØÄ꤬¿²á¤®¤Þ¤¹: %s" -#: ../spell.c:6198 #, c-format msgid "/ line ignored in %s line %d: %s" msgstr "%s ¤Î %d ¹ÔÌܤΠ½ÅÊ£¤·¤¿ / ¹Ô¤ò̵»ë¤·¤Þ¤·¤¿: %s" -#: ../spell.c:6224 #, c-format msgid "Invalid region nr in %s line %d: %s" msgstr "%s ¤Î %d ¹ÔÌÜ Ìµ¸ú¤Ê nr Îΰè¤Ç¤¹: %s" -#: ../spell.c:6230 #, c-format msgid "Unrecognized flags in %s line %d: %s" msgstr "%s ¤Î %d ¹ÔÌÜ Ç§¼±ÉÔǽ¤Ê¥Õ¥é¥°¤Ç¤¹: %s" -#: ../spell.c:6257 #, c-format msgid "Ignored %d words with non-ASCII characters" msgstr "ÈóASCIIʸ»ú¤ò´Þ¤à %d ¸Ä¤Îñ¸ì¤ò̵»ë¤·¤Þ¤·¤¿" -#: ../spell.c:6656 +msgid "E845: Insufficient memory, word list will be incomplete" +msgstr "E845: ¥á¥â¥ê¤¬Â¤ê¤Ê¤¤¤Î¤Ç¡¢Ã±¸ì¥ê¥¹¥È¤ÏÉÔ´°Á´¤Ç¤¹" + #, c-format msgid "Compressed %d of %d nodes; %d (%d%%) remaining" msgstr "¥Î¡¼¥É %d ¸Ä(Á´ %d ¸ÄÃæ) ¤ò°µ½Ì¤·¤Þ¤·¤¿; »Ä¤ê %d (%d%%)" -#: ../spell.c:7340 msgid "Reading back spell file..." msgstr "¥¹¥Ú¥ë¥Õ¥¡¥¤¥ë¤òµÕÆÉ¹þÃæ" -#. Go through the trie of good words, soundfold each word and add it to -#. the soundfold trie. -#: ../spell.c:7357 +#. +#. * Go through the trie of good words, soundfold each word and add it to +#. * the soundfold trie. +#. msgid "Performing soundfolding..." msgstr "²»À¼¾ö¹þ¤ß¤ò¼Â¹ÔÃæ..." -#: ../spell.c:7368 #, c-format -msgid "Number of words after soundfolding: %<PRId64>" -msgstr "²»À¼¾ö¹þ¤ß¸å¤ÎÁíñ¸ì¿ô: %<PRId64>" +msgid "Number of words after soundfolding: %ld" +msgstr "²»À¼¾ö¹þ¤ß¸å¤ÎÁíñ¸ì¿ô: %ld" -#: ../spell.c:7476 #, c-format msgid "Total number of words: %d" msgstr "Áíñ¸ì¿ô: %d" -#: ../spell.c:7655 #, c-format msgid "Writing suggestion file %s ..." msgstr "½¤Àµ¸õÊä¥Õ¥¡¥¤¥ë \"%s\" ¤ò½ñ¹þ¤ßÃæ..." -#: ../spell.c:7707 ../spell.c:7927 #, c-format msgid "Estimated runtime memory use: %d bytes" msgstr "¿äÄê¥á¥â¥ê»ÈÍÑÎÌ: %d ¥Ð¥¤¥È" -#: ../spell.c:7820 msgid "E751: Output file name must not have region name" msgstr "E751: ½ÐÎÏ¥Õ¥¡¥¤¥ë̾¤Ë¤ÏÈϰÏ̾¤ò´Þ¤á¤é¤ì¤Þ¤»¤ó" -#: ../spell.c:7822 msgid "E754: Only up to 8 regions supported" msgstr "E754: ÈÏ°Ï¤Ï 8 ¸Ä¤Þ¤Ç¤·¤«¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" -#: ../spell.c:7846 #, c-format msgid "E755: Invalid region in %s" msgstr "E755: ̵¸ú¤ÊÈϰϤǤ¹: %s" -#: ../spell.c:7907 msgid "Warning: both compounding and NOBREAK specified" msgstr "·Ù¹ð: Ê£¹ç¥Õ¥é¥°¤È NOBREAK ¤¬Î¾Êý¤È¤â»ØÄꤵ¤ì¤Þ¤·¤¿" -#: ../spell.c:7920 #, c-format msgid "Writing spell file %s ..." msgstr "¥¹¥Ú¥ë¥Õ¥¡¥¤¥ë %s ¤ò½ñ¹þ¤ßÃæ..." -#: ../spell.c:7925 msgid "Done!" msgstr "¼Â¹Ô¤·¤Þ¤·¤¿!" -#: ../spell.c:8034 #, c-format -msgid "E765: 'spellfile' does not have %<PRId64> entries" -msgstr "E765: 'spellfile' ¤Ë¤Ï %<PRId64> ¸Ä¤Î¥¨¥ó¥È¥ê¤Ï¤¢¤ê¤Þ¤»¤ó" +msgid "E765: 'spellfile' does not have %ld entries" +msgstr "E765: 'spellfile' ¤Ë¤Ï %ld ¸Ä¤Î¥¨¥ó¥È¥ê¤Ï¤¢¤ê¤Þ¤»¤ó" -#: ../spell.c:8074 #, c-format msgid "Word '%.*s' removed from %s" msgstr "ñ¸ì '%.*s' ¤¬ %s ¤«¤éºï½ü¤µ¤ì¤Þ¤·¤¿" -#: ../spell.c:8117 #, c-format msgid "Word '%.*s' added to %s" msgstr "ñ¸ì '%.*s' ¤¬ %s ¤ØÄɲ䵤ì¤Þ¤·¤¿" -#: ../spell.c:8381 msgid "E763: Word characters differ between spell files" msgstr "E763: ñ¸ì¤Îʸ»ú¤¬¥¹¥Ú¥ë¥Õ¥¡¥¤¥ë¤È°Û¤Ê¤ê¤Þ¤¹" -#: ../spell.c:8684 -msgid "Sorry, no suggestions" -msgstr "»Äǰ¤Ç¤¹¤¬, ½¤Àµ¸õÊä¤Ï¤¢¤ê¤Þ¤»¤ó" - -#: ../spell.c:8687 -#, c-format -msgid "Sorry, only %<PRId64> suggestions" -msgstr "»Äǰ¤Ç¤¹¤¬, ½¤Àµ¸õÊä¤Ï %<PRId64> ¸Ä¤·¤«¤¢¤ê¤Þ¤»¤ó" - -#. for when 'cmdheight' > 1 -#. avoid more prompt -#: ../spell.c:8704 -#, c-format -msgid "Change \"%.*s\" to:" -msgstr "\"%.*s\" ¤ò¼¡¤ØÊÑ´¹:" - -#: ../spell.c:8737 -#, c-format -msgid " < \"%.*s\"" -msgstr " < \"%.*s\"" - -#: ../spell.c:8882 -msgid "E752: No previous spell replacement" -msgstr "E752: ¥¹¥Ú¥ëÃÖ´¹¤¬¤Þ¤À¼Â¹Ô¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" - -#: ../spell.c:8925 -#, c-format -msgid "E753: Not found: %s" -msgstr "E753: ¸«¤Ä¤«¤ê¤Þ¤»¤ó: %s" - -#: ../spell.c:9276 -#, c-format -msgid "E778: This does not look like a .sug file: %s" -msgstr "E778: .sug ¥Õ¥¡¥¤¥ë¤Ç¤Ï¤Ê¤¤¤è¤¦¤Ç¤¹: %s" - -#: ../spell.c:9282 -#, c-format -msgid "E779: Old .sug file, needs to be updated: %s" -msgstr "E779: ¸Å¤¤ .sug ¥Õ¥¡¥¤¥ë¤Ê¤Î¤Ç, ¥¢¥Ã¥×¥Ç¡¼¥È¤·¤Æ¤¯¤À¤µ¤¤: %s" - -#: ../spell.c:9286 -#, c-format -msgid "E780: .sug file is for newer version of Vim: %s" -msgstr "E780: ¤è¤ê¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Î Vim ÍѤΠ.sug ¥Õ¥¡¥¤¥ë¤Ç¤¹: %s" - -#: ../spell.c:9295 -#, c-format -msgid "E781: .sug file doesn't match .spl file: %s" -msgstr "E781: .sug ¥Õ¥¡¥¤¥ë¤¬ .spl ¥Õ¥¡¥¤¥ë¤È°ìÃפ·¤Þ¤»¤ó: %s" - -#: ../spell.c:9305 -#, c-format -msgid "E782: error while reading .sug file: %s" -msgstr "E782: .sug ¥Õ¥¡¥¤¥ë¤ÎÆÉ¹þÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿: %s" - #. This should have been checked when generating the .spl -#. file. -#: ../spell.c:11575 +#. * file. msgid "E783: duplicate char in MAP entry" msgstr "E783: MAP ¥¨¥ó¥È¥ê¤Ë½Åʣʸ»ú¤¬Â¸ºß¤·¤Þ¤¹" -#: ../syntax.c:266 msgid "No Syntax items defined for this buffer" msgstr "¤³¤Î¥Ð¥Ã¥Õ¥¡¤ËÄêµÁ¤µ¤ì¤¿¹½Ê¸Í×ÁǤϤ¢¤ê¤Þ¤»¤ó" -#: ../syntax.c:3083 ../syntax.c:3104 ../syntax.c:3127 #, c-format msgid "E390: Illegal argument: %s" msgstr "E390: ÉÔÀµ¤Ê°ú¿ô¤Ç¤¹: %s" @@ -5724,28 +5370,22 @@ msgstr "E390: ÉÔÀµ¤Ê°ú¿ô¤Ç¤¹: %s" msgid "syntax iskeyword " msgstr "¥·¥ó¥¿¥Ã¥¯¥¹ÍÑ iskeyword " -#: ../syntax.c:3299 #, c-format msgid "E391: No such syntax cluster: %s" msgstr "E391: ¤½¤Î¤è¤¦¤Ê¹½Ê¸¥¯¥é¥¹¥¿¤Ï¤¢¤ê¤Þ¤»¤ó: %s" -#: ../syntax.c:3433 msgid "syncing on C-style comments" msgstr "C¸À¸ìÉ÷¥³¥á¥ó¥È¤«¤éƱ´üÃæ" -#: ../syntax.c:3439 msgid "no syncing" msgstr "È󯱴ü" -#: ../syntax.c:3441 msgid "syncing starts " msgstr "Ʊ´ü³«»Ï " -#: ../syntax.c:3443 ../syntax.c:3506 msgid " lines before top line" msgstr " ¹ÔÁ°(¥È¥Ã¥×¹Ô¤è¤ê¤â)" -#: ../syntax.c:3448 msgid "" "\n" "--- Syntax sync items ---" @@ -5753,7 +5393,6 @@ msgstr "" "\n" "--- ¹½Ê¸Æ±´üÍ×ÁÇ ---" -#: ../syntax.c:3452 msgid "" "\n" "syncing on items" @@ -5761,7 +5400,6 @@ msgstr "" "\n" "Í×ÁǾå¤ÇƱ´üÃæ" -#: ../syntax.c:3457 msgid "" "\n" "--- Syntax items ---" @@ -5769,53 +5407,41 @@ msgstr "" "\n" "--- ¹½Ê¸Í×ÁÇ ---" -#: ../syntax.c:3475 #, c-format msgid "E392: No such syntax cluster: %s" msgstr "E392: ¤½¤Î¤è¤¦¤Ê¹½Ê¸¥¯¥é¥¹¥¿¤Ï¤¢¤ê¤Þ¤»¤ó: %s" -#: ../syntax.c:3497 msgid "minimal " msgstr "minimal " -#: ../syntax.c:3503 msgid "maximal " msgstr "maximal " -#: ../syntax.c:3513 msgid "; match " msgstr "; ³ºÅö " -#: ../syntax.c:3515 msgid " line breaks" msgstr " ¸Ä¤Î²þ¹Ô" -#: ../syntax.c:4076 msgid "E395: contains argument not accepted here" msgstr "E395: ¤³¤Î¾ì½ê¤Ç¤Ï°ú¿ôcontains¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" -#: ../syntax.c:4096 msgid "E844: invalid cchar value" msgstr "E844: ̵¸ú¤Êcchar¤ÎÃͤǤ¹" -#: ../syntax.c:4107 msgid "E393: group[t]here not accepted here" msgstr "E393: ¤³¤³¤Ç¤Ï¥°¥ë¡¼¥×¤Ïµö²Ä¤µ¤ì¤Þ¤»¤ó" -#: ../syntax.c:4126 #, c-format msgid "E394: Didn't find region item for %s" msgstr "E394: %s ¤ÎÈϰÏÍ×ÁǤ¬¸«¤Ä¤«¤ê¤Þ¤»¤ó" -#: ../syntax.c:4188 msgid "E397: Filename required" msgstr "E397: ¥Õ¥¡¥¤¥ë̾¤¬É¬ÍפǤ¹" -#: ../syntax.c:4221 msgid "E847: Too many syntax includes" msgstr "E847: ¹½Ê¸¤Î¼è¤ê¹þ¤ß(include)¤¬Â¿²á¤®¤Þ¤¹" -#: ../syntax.c:4303 #, c-format msgid "E789: Missing ']': %s" msgstr "E789: ']' ¤¬¤¢¤ê¤Þ¤»¤ó: %s" @@ -5824,221 +5450,173 @@ msgstr "E789: ']' ¤¬¤¢¤ê¤Þ¤»¤ó: %s" msgid "E890: trailing char after ']': %s]%s" msgstr "E890: ']' ¤Î¸å¤í¤Ë;ʬ¤Êʸ»ú¤¬¤¢¤ê¤Þ¤¹: %s]%s" -#: ../syntax.c:4531 #, c-format msgid "E398: Missing '=': %s" msgstr "E398: '=' ¤¬¤¢¤ê¤Þ¤»¤ó: %s" -#: ../syntax.c:4666 #, c-format msgid "E399: Not enough arguments: syntax region %s" msgstr "E399: °ú¿ô¤¬Â¤ê¤Þ¤»¤ó: ¹½Ê¸ÈÏ°Ï %s" -#: ../syntax.c:4870 msgid "E848: Too many syntax clusters" msgstr "E848: ¹½Ê¸¥¯¥é¥¹¥¿¤¬Â¿²á¤®¤Þ¤¹" -#: ../syntax.c:4954 msgid "E400: No cluster specified" msgstr "E400: ¥¯¥é¥¹¥¿¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó" -#. end delimiter not found -#: ../syntax.c:4986 #, c-format msgid "E401: Pattern delimiter not found: %s" msgstr "E401: ¥Ñ¥¿¡¼¥ó¶èÀڤ꤬¸«¤Ä¤«¤ê¤Þ¤»¤ó: %s" -#: ../syntax.c:5049 #, c-format msgid "E402: Garbage after pattern: %s" msgstr "E402: ¥Ñ¥¿¡¼¥ó¤Î¤¢¤È¤Ë¥´¥ß¤¬¤¢¤ê¤Þ¤¹: %s" -#: ../syntax.c:5120 msgid "E403: syntax sync: line continuations pattern specified twice" msgstr "E403: ¹½Ê¸Æ±´ü: Ϣ³¹Ô¥Ñ¥¿¡¼¥ó¤¬2ÅÙ»ØÄꤵ¤ì¤Þ¤·¤¿" -#: ../syntax.c:5169 #, c-format msgid "E404: Illegal arguments: %s" msgstr "E404: ÉÔÀµ¤Ê°ú¿ô¤Ç¤¹: %s" -#: ../syntax.c:5217 #, c-format msgid "E405: Missing equal sign: %s" msgstr "E405: Åù¹æ¤¬¤¢¤ê¤Þ¤»¤ó: %s" -#: ../syntax.c:5222 #, c-format msgid "E406: Empty argument: %s" msgstr "E406: ¶õ¤Î°ú¿ô: %s" -#: ../syntax.c:5240 #, c-format msgid "E407: %s not allowed here" msgstr "E407: %s ¤Ï¥³¥³¤Ç¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" -#: ../syntax.c:5246 #, c-format msgid "E408: %s must be first in contains list" msgstr "E408: %s ¤ÏÆâÍÆ¥ê¥¹¥È¤ÎÀèÆ¬¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤" -#: ../syntax.c:5304 #, c-format msgid "E409: Unknown group name: %s" msgstr "E409: ̤ÃΤΥ°¥ë¡¼¥×̾: %s" -#: ../syntax.c:5512 #, c-format msgid "E410: Invalid :syntax subcommand: %s" msgstr "E410: ̵¸ú¤Ê :syntax ¤Î¥µ¥Ö¥³¥Þ¥ó¥É: %s" -#: ../syntax.c:5854 msgid "" " TOTAL COUNT MATCH SLOWEST AVERAGE NAME PATTERN" msgstr "" " TOTAL COUNT MATCH SLOWEST AVERAGE NAME PATTERN" -#: ../syntax.c:6146 msgid "E679: recursive loop loading syncolor.vim" msgstr "E679: syncolor.vim ¤ÎºÆµ¢¸Æ¤Ó½Ð¤·¤ò¸¡½Ð¤·¤Þ¤·¤¿" -#: ../syntax.c:6256 #, c-format msgid "E411: highlight group not found: %s" msgstr "E411: ¥Ï¥¤¥é¥¤¥È¥°¥ë¡¼¥×¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: %s" -#: ../syntax.c:6278 #, c-format msgid "E412: Not enough arguments: \":highlight link %s\"" msgstr "E412: °ú¿ô¤¬½¼Ê¬¤Ç¤Ï¤Ê¤¤: \":highlight link %s\"" -#: ../syntax.c:6284 #, c-format msgid "E413: Too many arguments: \":highlight link %s\"" msgstr "E413: °ú¿ô¤¬Â¿²á¤®¤Þ¤¹: \":highlight link %s\"" -#: ../syntax.c:6302 msgid "E414: group has settings, highlight link ignored" msgstr "E414: ¥°¥ë¡¼¥×¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¤Î¤Ç¥Ï¥¤¥é¥¤¥È¥ê¥ó¥¯¤Ï̵»ë¤µ¤ì¤Þ¤¹" -#: ../syntax.c:6367 #, c-format msgid "E415: unexpected equal sign: %s" msgstr "E415: ͽ´ü¤»¤ÌÅù¹æ¤Ç¤¹: %s" -#: ../syntax.c:6395 #, c-format msgid "E416: missing equal sign: %s" msgstr "E416: Åù¹æ¤¬¤¢¤ê¤Þ¤»¤ó: %s" -#: ../syntax.c:6418 #, c-format msgid "E417: missing argument: %s" msgstr "E417: °ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó: %s" -#: ../syntax.c:6446 #, c-format msgid "E418: Illegal value: %s" msgstr "E418: ÉÔÀµ¤ÊÃͤǤ¹: %s" -#: ../syntax.c:6496 msgid "E419: FG color unknown" msgstr "E419: ̤ÃΤÎÁ°·Ê¿§¤Ç¤¹" -#: ../syntax.c:6504 msgid "E420: BG color unknown" msgstr "E420: ̤ÃΤÎÇØ·Ê¿§¤Ç¤¹" -#: ../syntax.c:6564 #, c-format msgid "E421: Color name or number not recognized: %s" msgstr "E421: ¥«¥é¡¼Ì¾¤äÈÖ¹æ¤òǧ¼±¤Ç¤¤Þ¤»¤ó: %s" -#: ../syntax.c:6714 #, c-format msgid "E422: terminal code too long: %s" msgstr "E422: ½ªÃ¼¥³¡¼¥É¤¬Ä¹²á¤®¤Þ¤¹: %s" -#: ../syntax.c:6753 #, c-format msgid "E423: Illegal argument: %s" msgstr "E423: ÉÔÀµ¤Ê°ú¿ô¤Ç¤¹: %s" -#: ../syntax.c:6925 msgid "E424: Too many different highlighting attributes in use" msgstr "E424: ¿¤¯¤Î°Û¤Ê¤ë¥Ï¥¤¥é¥¤¥È°À¤¬»È¤ï¤ì²á¤®¤Æ¤¤¤Þ¤¹" -#: ../syntax.c:7427 msgid "E669: Unprintable character in group name" msgstr "E669: ¥°¥ë¡¼¥×̾¤Ë°õºþÉÔ²Äǽ¤Êʸ»ú¤¬¤¢¤ê¤Þ¤¹" -#: ../syntax.c:7434 msgid "W18: Invalid character in group name" msgstr "W18: ¥°¥ë¡¼¥×̾¤ËÉÔÀµ¤Êʸ»ú¤¬¤¢¤ê¤Þ¤¹" -#: ../syntax.c:7448 msgid "E849: Too many highlight and syntax groups" msgstr "E849: ¥Ï¥¤¥é¥¤¥È¤È¹½Ê¸¥°¥ë¡¼¥×¤¬Â¿²á¤®¤Þ¤¹" -#: ../tag.c:104 msgid "E555: at bottom of tag stack" msgstr "E555: ¥¿¥°¥¹¥¿¥Ã¥¯¤ÎËöÈø¤Ç¤¹" -#: ../tag.c:105 msgid "E556: at top of tag stack" msgstr "E556: ¥¿¥°¥¹¥¿¥Ã¥¯¤ÎÀèÆ¬¤Ç¤¹" -#: ../tag.c:380 msgid "E425: Cannot go before first matching tag" msgstr "E425: ºÇ½é¤Î³ºÅö¥¿¥°¤òͤ¨¤ÆÌá¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó" -#: ../tag.c:504 #, c-format msgid "E426: tag not found: %s" msgstr "E426: ¥¿¥°¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: %s" -#: ../tag.c:528 msgid " # pri kind tag" msgstr " # pri kind tag" -#: ../tag.c:531 msgid "file\n" msgstr "¥Õ¥¡¥¤¥ë\n" -#: ../tag.c:829 msgid "E427: There is only one matching tag" msgstr "E427: ³ºÅö¥¿¥°¤¬1¤Ä¤À¤±¤·¤«¤¢¤ê¤Þ¤»¤ó" -#: ../tag.c:831 msgid "E428: Cannot go beyond last matching tag" msgstr "E428: ºÇ¸å¤Ë³ºÅö¤¹¤ë¥¿¥°¤òͤ¨¤Æ¿Ê¤à¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó" -#: ../tag.c:850 #, c-format msgid "File \"%s\" does not exist" msgstr "¥Õ¥¡¥¤¥ë \"%s\" ¤¬¤¢¤ê¤Þ¤»¤ó" #. Give an indication of the number of matching tags -#: ../tag.c:859 #, c-format msgid "tag %d of %d%s" msgstr "¥¿¥° %d (Á´%d%s)" -#: ../tag.c:862 msgid " or more" msgstr " ¤«¤½¤ì°Ê¾å" -#: ../tag.c:864 msgid " Using tag with different case!" msgstr " ¥¿¥°¤ò°Û¤Ê¤ëcase¤Ç»ÈÍѤ·¤Þ¤¹!" -#: ../tag.c:909 #, c-format msgid "E429: File \"%s\" does not exist" msgstr "E429: ¥Õ¥¡¥¤¥ë \"%s\" ¤¬¤¢¤ê¤Þ¤»¤ó" #. Highlight title -#: ../tag.c:960 msgid "" "\n" " # TO tag FROM line in file/text" @@ -6046,79 +5624,66 @@ msgstr "" "\n" " # TO ¥¿¥° FROM ¹Ô in file/text" -#: ../tag.c:1303 #, c-format msgid "Searching tags file %s" msgstr "¥¿¥°¥Õ¥¡¥¤¥ë %s ¤ò¸¡º÷Ãæ" -#: ../tag.c:1545 +#, c-format +msgid "E430: Tag file path truncated for %s\n" +msgstr "E430: ¥¿¥°¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤¬ %s ¤ËÀÚ¤ê¼Î¤Æ¤é¤ì¤Þ¤·¤¿\n" + msgid "Ignoring long line in tags file" msgstr "¥¿¥°¥Õ¥¡¥¤¥ëÆâ¤ÎŤ¤¹Ô¤ò̵»ë¤·¤Þ¤¹" -#: ../tag.c:1915 #, c-format msgid "E431: Format error in tags file \"%s\"" msgstr "E431: ¥¿¥°¥Õ¥¡¥¤¥ë \"%s\" ¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ë¥¨¥é¡¼¤¬¤¢¤ê¤Þ¤¹" -#: ../tag.c:1917 #, c-format -msgid "Before byte %<PRId64>" -msgstr "ľÁ°¤Î %<PRId64> ¥Ð¥¤¥È" +msgid "Before byte %ld" +msgstr "ľÁ°¤Î %ld ¥Ð¥¤¥È" -#: ../tag.c:1929 #, c-format msgid "E432: Tags file not sorted: %s" msgstr "E432: ¥¿¥°¥Õ¥¡¥¤¥ë¤¬¥½¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó: %s" #. never opened any tags file -#: ../tag.c:1960 msgid "E433: No tags file" msgstr "E433: ¥¿¥°¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó" -#: ../tag.c:2536 msgid "E434: Can't find tag pattern" msgstr "E434: ¥¿¥°¥Ñ¥¿¡¼¥ó¤ò¸«¤Ä¤±¤é¤ì¤Þ¤»¤ó" -#: ../tag.c:2544 msgid "E435: Couldn't find tag, just guessing!" msgstr "E435: ¥¿¥°¤ò¸«¤Ä¤±¤é¤ì¤Ê¤¤¤Î¤Çñ¤Ë¿ä¬¤·¤Þ¤¹!" -#: ../tag.c:2797 #, c-format msgid "Duplicate field name: %s" msgstr "½ÅÊ£¤·¤¿¥Õ¥£¡¼¥ë¥É̾: %s" -#: ../term.c:1442 msgid "' not known. Available builtin terminals are:" msgstr "' ¤Ï̤ÃΤǤ¹. ¸½¹Ô¤ÎÁȤ߹þ¤ßüËö¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹:" -#: ../term.c:1463 msgid "defaulting to '" msgstr "¾ÊάÃͤò¼¡¤Î¤è¤¦¤ËÀßÄꤷ¤Þ¤¹ '" -#: ../term.c:1731 msgid "E557: Cannot open termcap file" msgstr "E557: termcap¥Õ¥¡¥¤¥ë¤ò³«¤±¤Þ¤»¤ó" -#: ../term.c:1735 msgid "E558: Terminal entry not found in terminfo" msgstr "E558: terminfo¤ËüËö¥¨¥ó¥È¥ê¤ò¸«¤Ä¤±¤é¤ì¤Þ¤»¤ó" -#: ../term.c:1737 msgid "E559: Terminal entry not found in termcap" msgstr "E559: termcap¤ËüËö¥¨¥ó¥È¥ê¤ò¸«¤Ä¤±¤é¤ì¤Þ¤»¤ó" -#: ../term.c:1878 #, c-format msgid "E436: No \"%s\" entry in termcap" msgstr "E436: termcap¤Ë \"%s\" ¤Î¥¨¥ó¥È¥ê¤¬¤¢¤ê¤Þ¤»¤ó" -#: ../term.c:2249 msgid "E437: terminal capability \"cm\" required" msgstr "E437: üËö¤Ë \"cm\" µ¡Ç½¤¬É¬ÍפǤ¹" #. Highlight title -#: ../term.c:4376 msgid "" "\n" "--- Terminal keys ---" @@ -6126,168 +5691,347 @@ msgstr "" "\n" "--- üËö¥¡¼ ---" -#: ../ui.c:481 +msgid "Cannot open $VIMRUNTIME/rgb.txt" +msgstr "$VIMRUNTIME/rgb.txt¤ò³«¤±¤Þ¤»¤ó" + +msgid "new shell started\n" +msgstr "¿·¤·¤¤¥·¥§¥ë¤òµ¯Æ°¤·¤Þ¤¹\n" + msgid "Vim: Error reading input, exiting...\n" msgstr "Vim: ÆþÎϤòÆÉ¹þ¤ßÃæ¤Î¥¨¥é¡¼¤Ë¤è¤ê½ªÎ»¤·¤Þ¤¹...\n" +msgid "Used CUT_BUFFER0 instead of empty selection" +msgstr "¶õ¤ÎÁªÂòÎΰè¤Î¤«¤ï¤ê¤ËCUT_BUFFER0¤¬»ÈÍѤµ¤ì¤Þ¤·¤¿" + #. This happens when the FileChangedRO autocommand changes the #. * file in a way it becomes shorter. -#: ../undo.c:379 msgid "E881: Line count changed unexpectedly" msgstr "E881: ͽ´ü¤»¤º¹Ô¥«¥¦¥ó¥È¤¬ÊѤï¤ê¤Þ¤·¤¿" -#: ../undo.c:627 +#. must display the prompt +msgid "No undo possible; continue anyway" +msgstr "²Äǽ¤Ê¥¢¥ó¥É¥¥¤Ï¤¢¤ê¤Þ¤»¤ó: ¤È¤ê¤¢¤¨¤ºÂ³¤±¤Þ¤¹" + #, c-format msgid "E828: Cannot open undo file for writing: %s" msgstr "E828: ½ñ¹þ¤ßÍѤ˥¢¥ó¥É¥¥¥Õ¥¡¥¤¥ë¤ò³«¤±¤Þ¤»¤ó: %s" -#: ../undo.c:717 #, c-format msgid "E825: Corrupted undo file (%s): %s" msgstr "E825: ¥¢¥ó¥É¥¥¥Õ¥¡¥¤¥ë¤¬²õ¤ì¤Æ¤¤¤Þ¤¹ (%s): %s" -#: ../undo.c:1039 msgid "Cannot write undo file in any directory in 'undodir'" msgstr "'undodir'¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥¢¥ó¥É¥¥¥Õ¥¡¥¤¥ë¤ò½ñ¤¹þ¤á¤Þ¤»¤ó" -#: ../undo.c:1074 #, c-format msgid "Will not overwrite with undo file, cannot read: %s" msgstr "¥¢¥ó¥É¥¥¥Õ¥¡¥¤¥ë¤È¤·¤ÆÆÉ¤ß¹þ¤á¤Ê¤¤¤Î¤Ç¾å½ñ¤¤·¤Þ¤»¤ó: %s" -#: ../undo.c:1092 #, c-format msgid "Will not overwrite, this is not an undo file: %s" msgstr "¥¢¥ó¥É¥¥¥Õ¥¡¥¤¥ë¤Ç¤Ï¤Ê¤¤¤Î¤Ç¾å½ñ¤¤·¤Þ¤»¤ó: %s" -#: ../undo.c:1108 msgid "Skipping undo file write, nothing to undo" msgstr "Âоݤ¬¤Ê¤¤¤Î¤Ç¥¢¥ó¥É¥¥¥Õ¥¡¥¤¥ë¤Î½ñ¤¹þ¤ß¤ò¥¹¥¥Ã¥×¤·¤Þ¤¹" -#: ../undo.c:1121 #, c-format msgid "Writing undo file: %s" msgstr "¥¢¥ó¥É¥¥¥Õ¥¡¥¤¥ë½ñ¤¹þ¤ßÃæ: %s" -#: ../undo.c:1213 #, c-format msgid "E829: write error in undo file: %s" msgstr "E829: ¥¢¥ó¥É¥¥¥Õ¥¡¥¤¥ë¤Î½ñ¤¹þ¤ß¥¨¥é¡¼¤Ç¤¹: %s" -#: ../undo.c:1280 #, c-format msgid "Not reading undo file, owner differs: %s" msgstr "¥ª¡¼¥Ê¡¼¤¬°Û¤Ê¤ë¤Î¤Ç¥¢¥ó¥É¥¥¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤ß¤Þ¤»¤ó: %s" -#: ../undo.c:1292 #, c-format msgid "Reading undo file: %s" msgstr "¥¢¥ó¥É¥¥¥Õ¥¡¥¤¥ëÆÉ¹þÃæ: %s" -#: ../undo.c:1299 #, c-format msgid "E822: Cannot open undo file for reading: %s" msgstr "E822: ¥¢¥ó¥É¥¥¥Õ¥¡¥¤¥ë¤òÆÉ¹þÍѤȤ·¤Æ³«¤±¤Þ¤»¤ó: %s" -#: ../undo.c:1308 #, c-format msgid "E823: Not an undo file: %s" msgstr "E823: ¥¢¥ó¥É¥¥¥Õ¥¡¥¤¥ë¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó: %s" -#: ../undo.c:1313 +#, c-format +msgid "E832: Non-encrypted file has encrypted undo file: %s" +msgstr "E832: Èó°Å¹æ²½¥Õ¥¡¥¤¥ë¤¬°Å¹æ²½¤µ¤ì¤¿¥¢¥ó¥É¥¥¥Õ¥¡¥¤¥ë¤ò»È¤Ã¤Æ¤Þ¤¹: %s" + +#, c-format +msgid "E826: Undo file decryption failed: %s" +msgstr "E826: °Å¹æ²½¤µ¤ì¤¿¥¢¥ó¥É¥¥¥Õ¥¡¥¤¥ë¤Î²òÆÉ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s" + +#, c-format +msgid "E827: Undo file is encrypted: %s" +msgstr "E827: ¥¢¥ó¥É¥¥¥Õ¥¡¥¤¥ë¤¬°Å¹æ²½¤µ¤ì¤Æ¤¤¤Þ¤¹: %s" + #, c-format msgid "E824: Incompatible undo file: %s" msgstr "E824: ¸ß´¹À¤Î̵¤¤¥¢¥ó¥É¥¥¥Õ¥¡¥¤¥ë¤Ç¤¹: %s" -#: ../undo.c:1328 msgid "File contents changed, cannot use undo info" msgstr "¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤¬ÊѤï¤Ã¤Æ¤¤¤ë¤¿¤á¡¢¥¢¥ó¥É¥¥¾ðÊó¤òÍøÍѤǤ¤Þ¤»¤ó" -#: ../undo.c:1497 #, c-format msgid "Finished reading undo file %s" msgstr "¥¢¥ó¥É¥¥¥Õ¥¡¥¤¥ë %s ¤Î¼è¹þ¤ò´°Î»" -#: ../undo.c:1586 ../undo.c:1812 msgid "Already at oldest change" msgstr "´û¤Ë°ìÈָŤ¤Êѹ¹¤Ç¤¹" -#: ../undo.c:1597 ../undo.c:1814 msgid "Already at newest change" msgstr "´û¤Ë°ìÈÖ¿·¤·¤¤Êѹ¹¤Ç¤¹" -#: ../undo.c:1806 #, c-format -msgid "E830: Undo number %<PRId64> not found" -msgstr "E830: ¥¢¥ó¥É¥¥ÈÖ¹æ %<PRId64> ¤Ï¸«¤Ä¤«¤ê¤Þ¤»¤ó" +msgid "E830: Undo number %ld not found" +msgstr "E830: ¥¢¥ó¥É¥¥ÈÖ¹æ %ld ¤Ï¸«¤Ä¤«¤ê¤Þ¤»¤ó" -#: ../undo.c:1979 msgid "E438: u_undo: line numbers wrong" msgstr "E438: u_undo: ¹ÔÈֹ椬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹" -#: ../undo.c:2183 msgid "more line" msgstr "¹Ô Äɲä·¤Þ¤·¤¿" -#: ../undo.c:2185 msgid "more lines" msgstr "¹Ô Äɲä·¤Þ¤·¤¿" -#: ../undo.c:2187 msgid "line less" msgstr "¹Ô ºï½ü¤·¤Þ¤·¤¿" -#: ../undo.c:2189 msgid "fewer lines" msgstr "¹Ô ºï½ü¤·¤Þ¤·¤¿" -#: ../undo.c:2193 msgid "change" msgstr "²Õ½êÊѹ¹¤·¤Þ¤·¤¿" -#: ../undo.c:2195 msgid "changes" msgstr "²Õ½êÊѹ¹¤·¤Þ¤·¤¿" -#: ../undo.c:2225 #, c-format -msgid "%<PRId64> %s; %s #%<PRId64> %s" -msgstr "%<PRId64> %s; %s #%<PRId64> %s" +msgid "%ld %s; %s #%ld %s" +msgstr "%ld %s; %s #%ld %s" -#: ../undo.c:2228 msgid "before" msgstr "Á°Êý" -#: ../undo.c:2228 msgid "after" msgstr "¸åÊý" -#: ../undo.c:2325 msgid "Nothing to undo" msgstr "¥¢¥ó¥É¥¥Âоݤ¬¤¢¤ê¤Þ¤»¤ó" -#: ../undo.c:2330 msgid "number changes when saved" msgstr "ÄÌÈÖ Êѹ¹¿ô Êѹ¹»þ´ü ÊݸºÑ" -#: ../undo.c:2360 #, c-format -msgid "%<PRId64> seconds ago" -msgstr "%<PRId64> É÷вᤷ¤Æ¤¤¤Þ¤¹" +msgid "%ld seconds ago" +msgstr "%ld É÷вᤷ¤Æ¤¤¤Þ¤¹" -#: ../undo.c:2372 msgid "E790: undojoin is not allowed after undo" msgstr "E790: undo ¤Îľ¸å¤Ë undojoin ¤Ï¤Ç¤¤Þ¤»¤ó" -#: ../undo.c:2466 msgid "E439: undo list corrupt" msgstr "E439: ¥¢¥ó¥É¥¥¥ê¥¹¥È¤¬²õ¤ì¤Æ¤¤¤Þ¤¹" -#: ../undo.c:2495 msgid "E440: undo line missing" msgstr "E440: ¥¢¥ó¥É¥¥¹Ô¤¬¤¢¤ê¤Þ¤»¤ó" -#: ../version.c:600 +#, c-format +msgid "E122: Function %s already exists, add ! to replace it" +msgstr "E122: ´Ø¿ô %s ¤ÏÄêµÁºÑ¤Ç¤¹, ºÆÄêµÁ¤¹¤ë¤Ë¤Ï ! ¤òÄɲ䷤Ƥ¯¤À¤µ¤¤" + +msgid "E717: Dictionary entry already exists" +msgstr "E717: ¼½ñ·¿Æâ¤Ë¥¨¥ó¥È¥ê¤¬´û¤Ë¸ºß¤·¤Þ¤¹" + +msgid "E718: Funcref required" +msgstr "E718: ´Ø¿ô»²¾È·¿¤¬Í׵ᤵ¤ì¤Þ¤¹" + +#, c-format +msgid "E130: Unknown function: %s" +msgstr "E130: ̤ÃΤδؿô¤Ç¤¹: %s" + +#, c-format +msgid "E125: Illegal argument: %s" +msgstr "E125: ÉÔÀµ¤Ê°ú¿ô¤Ç¤¹: %s" + +#, c-format +msgid "E853: Duplicate argument name: %s" +msgstr "E853: °ú¿ô̾¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹: %s" + +#, c-format +msgid "E740: Too many arguments for function %s" +msgstr "E740: ´Ø¿ô¤Î°ú¿ô¤¬Â¿²á¤®¤Þ¤¹: %s" + +#, c-format +msgid "E116: Invalid arguments for function %s" +msgstr "E116: ´Ø¿ô¤Î̵¸ú¤Ê°ú¿ô¤Ç¤¹: %s" + +msgid "E132: Function call depth is higher than 'maxfuncdepth'" +msgstr "E132: ´Ø¿ô¸Æ½Ð¤ÎÆþ¤ì»Ò¿ô¤¬ 'maxfuncdepth' ¤òͤ¨¤Þ¤·¤¿" + +#, c-format +msgid "calling %s" +msgstr "%s ¤ò¼Â¹ÔÃæ¤Ç¤¹" + +#, c-format +msgid "%s aborted" +msgstr "%s ¤¬ÃæÃǤµ¤ì¤Þ¤·¤¿" + +#, c-format +msgid "%s returning #%ld" +msgstr "%s ¤¬ #%ld ¤òÊÖ¤·¤Þ¤·¤¿" + +#, c-format +msgid "%s returning %s" +msgstr "%s ¤¬ %s ¤òÊÖ¤·¤Þ¤·¤¿" + +msgid "E699: Too many arguments" +msgstr "E699: °ú¿ô¤¬Â¿²á¤®¤Þ¤¹" + +#, c-format +msgid "E117: Unknown function: %s" +msgstr "E117: ̤ÃΤδؿô¤Ç¤¹: %s" + +#, c-format +msgid "E933: Function was deleted: %s" +msgstr "E933: ´Ø¿ô¤Ïºï½ü¤µ¤ì¤Þ¤·¤¿: %s" + +#, c-format +msgid "E119: Not enough arguments for function: %s" +msgstr "E119: ´Ø¿ô¤Î°ú¿ô¤¬Â¤ê¤Þ¤»¤ó: %s" + +#, c-format +msgid "E120: Using <SID> not in a script context: %s" +msgstr "E120: ¥¹¥¯¥ê¥×¥È°Ê³°¤Ç<SID>¤¬»È¤ï¤ì¤Þ¤·¤¿: %s" + +#, c-format +msgid "E725: Calling dict function without Dictionary: %s" +msgstr "E725: ¼½ñÍÑ´Ø¿ô¤¬¸Æ¤Ð¤ì¤Þ¤·¤¿¤¬¼½ñ¤¬¤¢¤ê¤Þ¤»¤ó: %s" + +msgid "E129: Function name required" +msgstr "E129: ´Ø¿ô̾¤¬Í׵ᤵ¤ì¤Þ¤¹" + +#, c-format +msgid "E128: Function name must start with a capital or \"s:\": %s" +msgstr "E128: ´Ø¿ô̾¤ÏÂçʸ»ú¤« \"s:\" ¤Ç»Ï¤Þ¤é¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó: %s" + +#, c-format +msgid "E884: Function name cannot contain a colon: %s" +msgstr "E884: ´Ø¿ô̾¤Ë¤Ï¥³¥í¥ó¤Ï´Þ¤á¤é¤ì¤Þ¤»¤ó: %s" + +#, c-format +msgid "E123: Undefined function: %s" +msgstr "E123: ̤ÄêµÁ¤Î´Ø¿ô¤Ç¤¹: %s" + +#, c-format +msgid "E124: Missing '(': %s" +msgstr "E124: '(' ¤¬¤¢¤ê¤Þ¤»¤ó: %s" + +msgid "E862: Cannot use g: here" +msgstr "E862: ¤³¤³¤Ç¤Ï g: ¤Ï»È¤¨¤Þ¤»¤ó" + +#, c-format +msgid "E932: Closure function should not be at top level: %s" +msgstr "E932: ¥¯¥í¡¼¥¸¥ã¡¼´Ø¿ô¤Ï¥È¥Ã¥×¥ì¥Ù¥ë¤Ëµ½Ò¤Ç¤¤Þ¤»¤ó: %s" + +msgid "E126: Missing :endfunction" +msgstr "E126: :endfunction ¤¬¤¢¤ê¤Þ¤»¤ó" + +#, c-format +msgid "E707: Function name conflicts with variable: %s" +msgstr "E707: ´Ø¿ô̾¤¬ÊÑ¿ô̾¤È¾×ÆÍ¤·¤Þ¤¹: %s" + +#, c-format +msgid "E127: Cannot redefine function %s: It is in use" +msgstr "E127: ´Ø¿ô %s ¤òºÆÄêµÁ¤Ç¤¤Þ¤»¤ó: »ÈÍÑÃæ¤Ç¤¹" + +#, c-format +msgid "E746: Function name does not match script file name: %s" +msgstr "E746: ´Ø¿ô̾¤¬¥¹¥¯¥ê¥×¥È¤Î¥Õ¥¡¥¤¥ë̾¤È°ìÃפ·¤Þ¤»¤ó: %s" + +#, c-format +msgid "E131: Cannot delete function %s: It is in use" +msgstr "E131: ´Ø¿ô %s ¤òºï½ü¤Ç¤¤Þ¤»¤ó: »ÈÍÑÃæ¤Ç¤¹" + +msgid "E133: :return not inside a function" +msgstr "E133: ´Ø¿ô³°¤Ë :return ¤¬¤¢¤ê¤Þ¤·¤¿" + +#, c-format +msgid "E107: Missing parentheses: %s" +msgstr "E107: ¥«¥Ã¥³ '(' ¤¬¤¢¤ê¤Þ¤»¤ó: %s" + +#. Only MS VC 4.1 and earlier can do Win32s +msgid "" +"\n" +"MS-Windows 16/32-bit GUI version" +msgstr "" +"\n" +"MS-Windows 16/32 ¥Ó¥Ã¥È GUI ÈÇ" + +msgid "" +"\n" +"MS-Windows 64-bit GUI version" +msgstr "" +"\n" +"MS-Windows 64 ¥Ó¥Ã¥È GUI ÈÇ" + +msgid "" +"\n" +"MS-Windows 32-bit GUI version" +msgstr "" +"\n" +"MS-Windows 32 ¥Ó¥Ã¥È GUI ÈÇ" + +msgid " with OLE support" +msgstr " with OLE ¥µ¥Ý¡¼¥È" + +msgid "" +"\n" +"MS-Windows 64-bit console version" +msgstr "" +"\n" +"MS-Windows 64 ¥Ó¥Ã¥È ¥³¥ó¥½¡¼¥ë ÈÇ" + +msgid "" +"\n" +"MS-Windows 32-bit console version" +msgstr "" +"\n" +"MS-Windows 32 ¥Ó¥Ã¥È ¥³¥ó¥½¡¼¥ë ÈÇ" + +msgid "" +"\n" +"MacOS X (unix) version" +msgstr "" +"\n" +"MacOS X (unix) ÈÇ" + +msgid "" +"\n" +"MacOS X version" +msgstr "" +"\n" +"MacOS X ÈÇ" + +msgid "" +"\n" +"MacOS version" +msgstr "" +"\n" +"MacOS ÈÇ" + +msgid "" +"\n" +"OpenVMS version" +msgstr "" +"\n" +"OpenVMS ÈÇ" + msgid "" "\n" "Included patches: " @@ -6295,7 +6039,6 @@ msgstr "" "\n" "ŬÍѺѥѥåÁ: " -#: ../version.c:627 msgid "" "\n" "Extra patches: " @@ -6303,11 +6046,9 @@ msgstr "" "\n" "ÄɲóÈÄ¥¥Ñ¥Ã¥Á: " -#: ../version.c:639 ../version.c:864 msgid "Modified by " msgstr "Modified by " -#: ../version.c:646 msgid "" "\n" "Compiled " @@ -6315,11 +6056,9 @@ msgstr "" "\n" "Compiled " -#: ../version.c:649 msgid "by " msgstr "by " -#: ../version.c:660 msgid "" "\n" "Huge version " @@ -6327,1886 +6066,926 @@ msgstr "" "\n" "Huge ÈÇ " -#: ../version.c:661 +msgid "" +"\n" +"Big version " +msgstr "" +"\n" +"Big ÈÇ " + +msgid "" +"\n" +"Normal version " +msgstr "" +"\n" +"Ä̾ï ÈÇ " + +msgid "" +"\n" +"Small version " +msgstr "" +"\n" +"Small ÈÇ " + +msgid "" +"\n" +"Tiny version " +msgstr "" +"\n" +"Tiny ÈÇ " + msgid "without GUI." msgstr "without GUI." -#: ../version.c:662 +msgid "with GTK3 GUI." +msgstr "with GTK3 GUI." + +msgid "with GTK2-GNOME GUI." +msgstr "with GTK2-GNOME GUI." + +msgid "with GTK2 GUI." +msgstr "with GTK2 GUI." + +msgid "with X11-Motif GUI." +msgstr "with X11-Motif GUI." + +msgid "with X11-neXtaw GUI." +msgstr "with X11-neXtaw GUI." + +msgid "with X11-Athena GUI." +msgstr "with X11-Athena GUI." + +msgid "with Photon GUI." +msgstr "with Photon GUI." + +msgid "with GUI." +msgstr "with GUI." + +msgid "with Carbon GUI." +msgstr "with Carbon GUI." + +msgid "with Cocoa GUI." +msgstr "with Cocoa GUI." + +msgid "with (classic) GUI." +msgstr "with (¥¯¥é¥·¥Ã¥¯) GUI." + msgid " Features included (+) or not (-):\n" msgstr " µ¡Ç½¤Î°ìÍ÷ ͸ú(+)/̵¸ú(-)\n" -#: ../version.c:667 msgid " system vimrc file: \"" msgstr " ¥·¥¹¥Æ¥à vimrc: \"" -#: ../version.c:672 msgid " user vimrc file: \"" msgstr " ¥æ¡¼¥¶¡¼ vimrc: \"" -#: ../version.c:677 msgid " 2nd user vimrc file: \"" msgstr " Âè2¥æ¡¼¥¶¡¼ vimrc: \"" -#: ../version.c:682 msgid " 3rd user vimrc file: \"" msgstr " Âè3¥æ¡¼¥¶¡¼ vimrc: \"" -#: ../version.c:687 msgid " user exrc file: \"" msgstr " ¥æ¡¼¥¶¡¼ exrc: \"" -#: ../version.c:692 msgid " 2nd user exrc file: \"" msgstr " Âè2¥æ¡¼¥¶¡¼ exrc: \"" -#: ../version.c:699 +msgid " system gvimrc file: \"" +msgstr " ¥·¥¹¥Æ¥à gvimrc: \"" + +msgid " user gvimrc file: \"" +msgstr " ¥æ¡¼¥¶¡¼ gvimrc: \"" + +msgid "2nd user gvimrc file: \"" +msgstr " Âè2¥æ¡¼¥¶¡¼ gvimrc: \"" + +msgid "3rd user gvimrc file: \"" +msgstr " Âè3¥æ¡¼¥¶¡¼ gvimrc: \"" + +msgid " defaults file: \"" +msgstr " ¥Ç¥Õ¥©¥ë¥È¥Õ¥¡¥¤¥ë: \"" + +msgid " system menu file: \"" +msgstr " ¥·¥¹¥Æ¥à¥á¥Ë¥å¡¼: \"" + msgid " fall-back for $VIM: \"" msgstr " ¾Êά»þ¤Î $VIM: \"" -#: ../version.c:705 msgid " f-b for $VIMRUNTIME: \"" msgstr "¾Êά»þ¤Î $VIMRUNTIME: \"" -#: ../version.c:709 msgid "Compilation: " msgstr "¥³¥ó¥Ñ¥¤¥ë: " -#: ../version.c:712 +msgid "Compiler: " +msgstr "¥³¥ó¥Ñ¥¤¥é: " + msgid "Linking: " msgstr "¥ê¥ó¥¯: " -#: ../version.c:717 msgid " DEBUG BUILD" msgstr "¥Ç¥Ð¥Ã¥°¥Ó¥ë¥É" -#: ../version.c:767 msgid "VIM - Vi IMproved" msgstr "VIM - Vi IMproved" -#: ../version.c:769 msgid "version " msgstr "version " -#: ../version.c:770 msgid "by Bram Moolenaar et al." msgstr "by Bram Moolenaar ¾." -#: ../version.c:774 msgid "Vim is open source and freely distributable" msgstr "Vim ¤Ï¥ª¡¼¥×¥ó¥½¡¼¥¹¤Ç¤¢¤ê¼«Í³¤ËÇÛÉÛ²Äǽ¤Ç¤¹" -#: ../version.c:776 msgid "Help poor children in Uganda!" msgstr "¥¦¥¬¥ó¥À¤Î·Ã¤Þ¤ì¤Ê¤¤»Ò¶¡¤¿¤Á¤Ë±ç½õ¤ò!" -#: ../version.c:777 msgid "type :help iccf<Enter> for information " msgstr "¾ÜºÙ¤Ê¾ðÊó¤Ï :help iccf<Enter> " -#: ../version.c:779 msgid "type :q<Enter> to exit " msgstr "½ªÎ»¤¹¤ë¤Ë¤Ï :q<Enter> " -#: ../version.c:780 msgid "type :help<Enter> or <F1> for on-line help" msgstr "¥ª¥ó¥é¥¤¥ó¥Ø¥ë¥×¤Ï :help<Enter> ¤« <F1> " -#: ../version.c:781 -msgid "type :help version7<Enter> for version info" -msgstr "¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤Ï :help version7<Enter> " +msgid "type :help version8<Enter> for version info" +msgstr "¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤Ï :help version8<Enter> " -#: ../version.c:784 msgid "Running in Vi compatible mode" msgstr "Vi¸ß´¹¥â¡¼¥É¤ÇưºîÃæ" -#: ../version.c:785 msgid "type :set nocp<Enter> for Vim defaults" msgstr "Vim¿ä¾©Ãͤˤ¹¤ë¤Ë¤Ï :set nocp<Enter> " -#: ../version.c:786 msgid "type :help cp-default<Enter> for info on this" msgstr "¾ÜºÙ¤Ê¾ðÊó¤Ï :help cp-default<Enter>" -#: ../version.c:827 +msgid "menu Help->Orphans for information " +msgstr "¾ÜºÙ¤Ï¥á¥Ë¥å¡¼¤Î ¥Ø¥ë¥×->¸É»ù ¤ò»²¾È¤·¤Æ²¼¤µ¤¤ " + +msgid "Running modeless, typed text is inserted" +msgstr "¥â¡¼¥É̵¤Ç¼Â¹ÔÃæ, ¥¿¥¤¥×¤·¤¿Ê¸»ú¤¬ÁÞÆþ¤µ¤ì¤Þ¤¹" + +msgid "menu Edit->Global Settings->Toggle Insert Mode " +msgstr "¥á¥Ë¥å¡¼¤Î ÊÔ½¸->Á´ÂÎÀßÄê->ÁÞÆþ(½é¿´¼Ô)¥â¡¼¥ÉÀÚÂØ " + +msgid " for two modes " +msgstr " ¤Ç¥â¡¼¥ÉÍ¤Ë " + +msgid "menu Edit->Global Settings->Toggle Vi Compatible" +msgstr "¥á¥Ë¥å¡¼¤Î ÊÔ½¸->Á´ÂÎÀßÄê->Vi¸ß´¹¥â¡¼¥ÉÀÚÂØ " + +msgid " for Vim defaults " +msgstr " ¤ÇVim¤È¤·¤ÆÆ°ºî " + msgid "Sponsor Vim development!" msgstr "Vim¤Î³«È¯¤ò±þ±ç¤·¤Æ¤¯¤À¤µ¤¤!" -#: ../version.c:828 msgid "Become a registered Vim user!" msgstr "Vim¤ÎÅÐÏ¿¥æ¡¼¥¶¡¼¤Ë¤Ê¤Ã¤Æ¤¯¤À¤µ¤¤!" -#: ../version.c:831 msgid "type :help sponsor<Enter> for information " msgstr "¾ÜºÙ¤Ê¾ðÊó¤Ï :help sponsor<Enter> " -#: ../version.c:832 msgid "type :help register<Enter> for information " msgstr "¾ÜºÙ¤Ê¾ðÊó¤Ï :help register<Enter> " -#: ../version.c:834 msgid "menu Help->Sponsor/Register for information " msgstr "¾ÜºÙ¤Ï¥á¥Ë¥å¡¼¤Î ¥Ø¥ë¥×->¥¹¥Ý¥ó¥µ¡¼/ÅÐÏ¿ ¤ò»²¾È¤·¤Æ²¼¤µ¤¤" -#: ../window.c:119 +msgid "WARNING: Windows 95/98/ME detected" +msgstr "·Ù¹ð: Windows 95/98/ME ¤ò¸¡½Ð¤·¤Þ¤·¤¿" + +msgid "type :help windows95<Enter> for info on this" +msgstr "¾ÜºÙ¤Ê¾ðÊó¤Ï :help windows95<Enter>" + msgid "Already only one window" msgstr "´û¤Ë¥¦¥£¥ó¥É¥¦¤Ï1¤Ä¤·¤«¤¢¤ê¤Þ¤»¤ó" -#: ../window.c:224 msgid "E441: There is no preview window" msgstr "E441: ¥×¥ì¥Ó¥å¡¼¥¦¥£¥ó¥É¥¦¤¬¤¢¤ê¤Þ¤»¤ó" -#: ../window.c:559 msgid "E442: Can't split topleft and botright at the same time" msgstr "E442: º¸¾å¤È±¦²¼¤òƱ»þ¤Ëʬ³ä¤¹¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó" -#: ../window.c:1228 msgid "E443: Cannot rotate when another window is split" msgstr "E443: ¾¤Î¥¦¥£¥ó¥É¥¦¤¬Ê¬³ä¤µ¤ì¤Æ¤¤¤ë»þ¤Ë¤Ï½ç²ó¤Ç¤¤Þ¤»¤ó" -#: ../window.c:1803 msgid "E444: Cannot close last window" msgstr "E444: ºÇ¸å¤Î¥¦¥£¥ó¥É¥¦¤òÊĤ¸¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó" -#: ../window.c:1810 msgid "E813: Cannot close autocmd window" msgstr "E813: autocmd¥¦¥£¥ó¥É¥¦¤ÏÊĤ¸¤é¤ì¤Þ¤»¤ó" -#: ../window.c:1814 msgid "E814: Cannot close window, only autocmd window would remain" msgstr "E814: autocmd¥¦¥£¥ó¥É¥¦¤·¤«»Ä¤é¤Ê¤¤¤¿¤á¡¢¥¦¥£¥ó¥É¥¦¤ÏÊĤ¸¤é¤ì¤Þ¤»¤ó" -#: ../window.c:2717 msgid "E445: Other window contains changes" msgstr "E445: ¾¤Î¥¦¥£¥ó¥É¥¦¤Ë¤ÏÊѹ¹¤¬¤¢¤ê¤Þ¤¹" -#: ../window.c:4805 msgid "E446: No file name under cursor" msgstr "E446: ¥«¡¼¥½¥ë¤Î²¼¤Ë¥Õ¥¡¥¤¥ë̾¤¬¤¢¤ê¤Þ¤»¤ó" -msgid "List or number required" -msgstr "¥ê¥¹¥È¤«¿ôÃͤ¬É¬ÍפǤ¹" - -#~ msgid "E831: bf_key_init() called with empty password" -#~ msgstr "E831: bf_key_init() ¤¬¶õ¥Ñ¥¹¥ï¡¼¥É¤Ç¸Æ¤Ó½Ð¤µ¤ì¤Þ¤·¤¿" - -#~ msgid "E820: sizeof(uint32_t) != 4" -#~ msgstr "E820: sizeof(uint32_t) != 4" - -#~ msgid "E817: Blowfish big/little endian use wrong" -#~ msgstr "E817: Blowfish°Å¹æ¤Î¥Ó¥Ã¥°/¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹" - -#~ msgid "E818: sha256 test failed" -#~ msgstr "E818: sha256¤Î¥Æ¥¹¥È¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" - -#~ msgid "E819: Blowfish test failed" -#~ msgstr "E819: Blowfish°Å¹æ¤Î¥Æ¥¹¥È¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" - -#~ msgid "Patch file" -#~ msgstr "¥Ñ¥Ã¥Á¥Õ¥¡¥¤¥ë" - -#~ msgid "" -#~ "&OK\n" -#~ "&Cancel" -#~ msgstr "" -#~ "·èÄê(&O)\n" -#~ "¥¥ã¥ó¥»¥ë(&C)" - -#~ msgid "E240: No connection to Vim server" -#~ msgstr "E240: Vim ¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤¬¤¢¤ê¤Þ¤»¤ó" - -#~ msgid "E241: Unable to send to %s" -#~ msgstr "E241: %s ¤ØÁ÷¤ë¤³¤È¤¬¤Ç¤¤Þ¤»¤ó" - -#~ msgid "E277: Unable to read a server reply" -#~ msgstr "E277: ¥µ¡¼¥Ð¤Î±þÅú¤¬¤¢¤ê¤Þ¤»¤ó" - -#~ msgid "E258: Unable to send to client" -#~ msgstr "E258: ¥¯¥é¥¤¥¢¥ó¥È¤ØÁ÷¤ë¤³¤È¤¬¤Ç¤¤Þ¤»¤ó" - -#~ msgid "Save As" -#~ msgstr "ÊÌ̾¤ÇÊݸ" - -#~ msgid "Edit File" -#~ msgstr "¥Õ¥¡¥¤¥ë¤òÊÔ½¸" - -# Added at 27-Jan-2004. -#~ msgid " (NOT FOUND)" -#~ msgstr " (¸«¤Ä¤«¤ê¤Þ¤»¤ó)" - -#~ msgid "Source Vim script" -#~ msgstr "Vim¥¹¥¯¥ê¥×¥È¤Î¼è¹þ¤ß" - -#~ msgid "unknown" -#~ msgstr "ÉÔÌÀ" - -#~ msgid "Edit File in new window" -#~ msgstr "¿·¤·¤¤¥¦¥£¥ó¥É¥¦¤Ç¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤·¤Þ¤¹" - -#~ msgid "Append File" -#~ msgstr "Äɲåե¡¥¤¥ë" - -#~ msgid "Window position: X %d, Y %d" -#~ msgstr "¥¦¥£¥ó¥É¥¦°ÌÃÖ: X %d, Y %d" - -#~ msgid "Save Redirection" -#~ msgstr "¥ê¥À¥¤¥ì¥¯¥È¤òÊݸ¤·¤Þ¤¹" - -#~ msgid "Save View" -#~ msgstr "¥Ó¥å¡¼¤òÊݸ¤·¤Þ¤¹" - -#~ msgid "Save Session" -#~ msgstr "¥»¥Ã¥·¥ç¥ó¾ðÊó¤òÊݸ¤·¤Þ¤¹" - -#~ msgid "Save Setup" -#~ msgstr "ÀßÄê¤òÊݸ¤·¤Þ¤¹" - -#~ msgid "E809: #< is not available without the +eval feature" -#~ msgstr "E809: #< ¤Ï +eval µ¡Ç½¤¬Ìµ¤¤¤ÈÍøÍѤǤ¤Þ¤»¤ó" - -#~ msgid "E196: No digraphs in this version" -#~ msgstr "E196: ¤³¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë¹ç»ú¤Ï¤¢¤ê¤Þ¤»¤ó" - -#~ msgid "is a device (disabled with 'opendevice' option)" -#~ msgstr " ¤Ï¥Ç¥Ð¥¤¥¹¤Ç¤¹ ('opendevice' ¥ª¥×¥·¥ç¥ó¤Ç²óÈò¤Ç¤¤Þ¤¹)" - -#~ msgid "Reading from stdin..." -#~ msgstr "ɸ½àÆþÎϤ«¤éÆÉ¹þ¤ßÃæ..." - -#~ msgid "[blowfish]" -#~ msgstr "[blowfish°Å¹æ²½]" - -#~ msgid "[crypted]" -#~ msgstr "[°Å¹æ²½]" - -#~ msgid "E821: File is encrypted with unknown method" -#~ msgstr "E821: ¥Õ¥¡¥¤¥ë¤¬Ì¤ÃΤÎÊýË¡¤Ç°Å¹æ²½¤µ¤ì¤Æ¤¤¤Þ¤¹" - -# Added at 19-Jan-2004. -#~ msgid "NetBeans disallows writes of unmodified buffers" -#~ msgstr "NetBeans¤Ï̤Êѹ¹¤Î¥Ð¥Ã¥Õ¥¡¤ò¾å½ñ¤¹¤ë¤³¤È¤Ïµö²Ä¤·¤Æ¤¤¤Þ¤»¤ó" - -#~ msgid "Partial writes disallowed for NetBeans buffers" -#~ msgstr "NetBeans¥Ð¥Ã¥Õ¥¡¤Î°ìÉô¤ò½ñ¤½Ð¤¹¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó" - -#~ msgid "writing to device disabled with 'opendevice' option" -#~ msgstr "'opendevice' ¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê¥Ç¥Ð¥¤¥¹¤Ø¤Î½ñ¤¹þ¤ß¤Ï¤Ç¤¤Þ¤»¤ó" - -#~ msgid "E460: The resource fork would be lost (add ! to override)" -#~ msgstr "E460: ¥ê¥½¡¼¥¹¥Õ¥©¡¼¥¯¤¬¼º¤ï¤ì¤ë¤«¤â¤·¤ì¤Þ¤»¤ó (! ¤òÄɲäǶ¯À©)" - -#~ msgid "E851: Failed to create a new process for the GUI" -#~ msgstr "E851: GUIÍÑ¤Î¥×¥í¥»¥¹¤Îµ¯Æ°¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" - -#~ msgid "E852: The child process failed to start the GUI" -#~ msgstr "E852: »Ò¥×¥í¥»¥¹¤¬GUI¤Îµ¯Æ°¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" - -#~ msgid "E229: Cannot start the GUI" -#~ msgstr "E229: GUI¤ò³«»Ï¤Ç¤¤Þ¤»¤ó" - -#~ msgid "E230: Cannot read from \"%s\"" -#~ msgstr "E230: \"%s\"¤«¤éÆÉ¹þ¤à¤³¤È¤¬¤Ç¤¤Þ¤»¤ó" - -#~ msgid "E665: Cannot start GUI, no valid font found" -#~ msgstr "E665: ͸ú¤Ê¥Õ¥©¥ó¥È¤¬¸«¤Ä¤«¤é¤Ê¤¤¤Î¤Ç, GUI¤ò³«»Ï¤Ç¤¤Þ¤»¤ó" - -#~ msgid "E231: 'guifontwide' invalid" -#~ msgstr "E231: 'guifontwide' ¤¬Ìµ¸ú¤Ç¤¹" - -#~ msgid "E599: Value of 'imactivatekey' is invalid" -#~ msgstr "E599: 'imactivatekey' ¤ËÀßÄꤵ¤ì¤¿Ãͤ¬Ìµ¸ú¤Ç¤¹" - -#~ msgid "E254: Cannot allocate color %s" -#~ msgstr "E254: %s ¤Î¿§¤ò³ä¤êÅö¤Æ¤é¤ì¤Þ¤»¤ó" - -#~ msgid "No match at cursor, finding next" -#~ msgstr "¥«¡¼¥½¥ë¤Î°ÌÃ֤˥ޥåÁ¤Ï¤¢¤ê¤Þ¤»¤ó, ¼¡¤ò¸¡º÷¤·¤Æ¤¤¤Þ¤¹" - -#~ msgid "<cannot open> " -#~ msgstr "<³«¤±¤Þ¤»¤ó> " - -#~ msgid "E616: vim_SelFile: can't get font %s" -#~ msgstr "E616: vim_SelFile: ¥Õ¥©¥ó¥È %s ¤ò¼èÆÀ¤Ç¤¤Þ¤»¤ó" - -#~ msgid "E614: vim_SelFile: can't return to current directory" -#~ msgstr "E614: vim_SelFile: ¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÌá¤ì¤Þ¤»¤ó" - -#~ msgid "Pathname:" -#~ msgstr "¥Ñ¥¹Ì¾:" - -#~ msgid "E615: vim_SelFile: can't get current directory" -#~ msgstr "E615: vim_SelFile: ¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò¼èÆÀ¤Ç¤¤Þ¤»¤ó" - -#~ msgid "OK" -#~ msgstr "OK" - -#~ msgid "Cancel" -#~ msgstr "¥¥ã¥ó¥»¥ë" - -#~ msgid "Scrollbar Widget: Could not get geometry of thumb pixmap." -#~ msgstr "¥¹¥¯¥í¡¼¥ë¥Ð¡¼: ²èÁü¤ò¼èÆÀ¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿." - -#~ msgid "Vim dialog" -#~ msgstr "Vim ¥À¥¤¥¢¥í¥°" - -#~ msgid "E232: Cannot create BalloonEval with both message and callback" -#~ msgstr "E232: ¥á¥Ã¥»¡¼¥¸¤È¥³¡¼¥ë¥Ð¥Ã¥¯¤Î¤¢¤ë BalloonEval ¤òºîÀ®¤Ç¤¤Þ¤»¤ó" - -#~ msgid "Input _Methods" -#~ msgstr "¥¤¥ó¥×¥Ã¥È¥á¥½¥Ã¥É" - -#~ msgid "VIM - Search and Replace..." -#~ msgstr "VIM - ¸¡º÷¤ÈÃÖ´¹..." - -#~ msgid "VIM - Search..." -#~ msgstr "VIM - ¸¡º÷..." - -#~ msgid "Find what:" -#~ msgstr "¸¡º÷ʸ»úÎó:" - -#~ msgid "Replace with:" -#~ msgstr "ÃÖ´¹Ê¸»úÎó:" - -#~ msgid "Match whole word only" -#~ msgstr "Àµ³Î¤Ë³ºÅö¤¹¤ë¤â¤Î¤À¤±" - -#~ msgid "Match case" -#~ msgstr "Âçʸ»ú/¾®Ê¸»ú¤ò¶èÊ̤¹¤ë" - -#~ msgid "Direction" -#~ msgstr "Êý¸þ" - -#~ msgid "Up" -#~ msgstr "¾å" - -#~ msgid "Down" -#~ msgstr "²¼" - -#~ msgid "Find Next" -#~ msgstr "¼¡¤ò¸¡º÷" - -#~ msgid "Replace" -#~ msgstr "ÃÖ´¹" - -#~ msgid "Replace All" -#~ msgstr "Á´¤ÆÃÖ´¹" - -#~ msgid "Vim: Received \"die\" request from session manager\n" -#~ msgstr "Vim: ¥»¥Ã¥·¥ç¥ó¥Þ¥Í¡¼¥¸¥ã¤«¤é \"die\" Í×µá¤ò¼õ¤±¼è¤ê¤Þ¤·¤¿\n" - -#~ msgid "Close" -#~ msgstr "ÊĤ¸¤ë" - -#~ msgid "New tab" -#~ msgstr "¿·µ¬¥¿¥Ö¥Ú¡¼¥¸" - -#~ msgid "Open Tab..." -#~ msgstr "¥¿¥Ö¥Ú¡¼¥¸¤ò³«¤¯..." - -#~ msgid "Vim: Main window unexpectedly destroyed\n" -#~ msgstr "Vim: ¥á¥¤¥ó¥¦¥£¥ó¥É¥¦¤¬ÉÔ°Õ¤ËÇ˲õ¤µ¤ì¤Þ¤·¤¿\n" - -#~ msgid "&Filter" -#~ msgstr "¥Õ¥£¥ë¥¿(&F)" - -#~ msgid "&Cancel" -#~ msgstr "¥¥ã¥ó¥»¥ë(&C)" - -#~ msgid "Directories" -#~ msgstr "¥Ç¥£¥ì¥¯¥È¥ê" - -#~ msgid "Filter" -#~ msgstr "¥Õ¥£¥ë¥¿" - -#~ msgid "&Help" -#~ msgstr "¥Ø¥ë¥×(&H)" - -#~ msgid "Files" -#~ msgstr "¥Õ¥¡¥¤¥ë" - -#~ msgid "&OK" -#~ msgstr "&OK" - -#~ msgid "Selection" -#~ msgstr "ÁªÂò" - -#~ msgid "Find &Next" -#~ msgstr "¼¡¤ò¸¡º÷(&N)" - -#~ msgid "&Replace" -#~ msgstr "ÃÖ´¹(&R)" - -#~ msgid "Replace &All" -#~ msgstr "Á´¤ÆÃÖ´¹(&A)" - -#~ msgid "&Undo" -#~ msgstr "¥¢¥ó¥É¥¥(&U)" - -#~ msgid "E671: Cannot find window title \"%s\"" -#~ msgstr "E671: ¥¿¥¤¥È¥ë¤¬ \"%s\" ¤Î¥¦¥£¥ó¥É¥¦¤Ï¸«¤Ä¤«¤ê¤Þ¤»¤ó" - -#~ msgid "E243: Argument not supported: \"-%s\"; Use the OLE version." -#~ msgstr "E243: °ú¿ô¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó: \"-%s\"; OLEÈǤò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤." - -#~ msgid "E672: Unable to open window inside MDI application" -#~ msgstr "E672: MDI¥¢¥×¥ê¤ÎÃæ¤Ç¤Ï¥¦¥£¥ó¥É¥¦¤ò³«¤±¤Þ¤»¤ó" - -#~ msgid "Close tab" -#~ msgstr "¥¿¥Ö¥Ú¡¼¥¸¤òÊĤ¸¤ë" - -#~ msgid "Open tab..." -#~ msgstr "¥¿¥Ö¥Ú¡¼¥¸¤ò³«¤¯" - -#~ msgid "Find string (use '\\\\' to find a '\\')" -#~ msgstr "¸¡º÷ʸ»úÎó ('\\' ¤ò¸¡º÷¤¹¤ë¤Ë¤Ï '\\\\')" - -#~ msgid "Find & Replace (use '\\\\' to find a '\\')" -#~ msgstr "¸¡º÷¡¦ÃÖ´¹ ('\\' ¤ò¸¡º÷¤¹¤ë¤Ë¤Ï '\\\\')" - -#~ msgid "Not Used" -#~ msgstr "»È¤ï¤ì¤Þ¤»¤ó" - -#~ msgid "Directory\t*.nothing\n" -#~ msgstr "¥Ç¥£¥ì¥¯¥È¥ê\t*.nothing\n" - -#~ msgid "" -#~ "Vim E458: Cannot allocate colormap entry, some colors may be incorrect" -#~ msgstr "Vim E458: ¿§»ØÄ꤬Àµ¤·¤¯¤Ê¤¤¤Î¤Ç¥¨¥ó¥È¥ê¤ò³ä¤êÅö¤Æ¤é¤ì¤Þ¤»¤ó" - -#~ msgid "E250: Fonts for the following charsets are missing in fontset %s:" -#~ msgstr "E250: °Ê²¼¤Îʸ»ú¥»¥Ã¥È¤Î¥Õ¥©¥ó¥È¤¬¤¢¤ê¤Þ¤»¤ó %s:" - -#~ msgid "E252: Fontset name: %s" -#~ msgstr "E252: ¥Õ¥©¥ó¥È¥»¥Ã¥È̾: %s" - -#~ msgid "Font '%s' is not fixed-width" -#~ msgstr "¥Õ¥©¥ó¥È '%s' ¤Ï¸ÇÄêÉý¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó" - -#~ msgid "E253: Fontset name: %s" -#~ msgstr "E253: ¥Õ¥©¥ó¥È¥»¥Ã¥È̾: %s" - -#~ msgid "Font0: %s" -#~ msgstr "¥Õ¥©¥ó¥È0: %s" - -#~ msgid "Font1: %s" -#~ msgstr "¥Õ¥©¥ó¥È1: %s" - -#~ msgid "Font%<PRId64> width is not twice that of font0" -#~ msgstr "¥Õ¥©¥ó¥È%<PRId64> ¤ÎÉý¤¬¥Õ¥©¥ó¥È0¤Î2ÇܤǤϤ¢¤ê¤Þ¤»¤ó" - -#~ msgid "Font0 width: %<PRId64>" -#~ msgstr "¥Õ¥©¥ó¥È0¤ÎÉý: %<PRId64>" - -#~ msgid "Font1 width: %<PRId64>" -#~ msgstr "¥Õ¥©¥ó¥È1¤ÎÉý: %<PRId64>" - -#~ msgid "Invalid font specification" -#~ msgstr "̵¸ú¤Ê¥Õ¥©¥ó¥È»ØÄê¤Ç¤¹" - -#~ msgid "&Dismiss" -#~ msgstr "µÑ²¼¤¹¤ë(&D)" - -#~ msgid "no specific match" -#~ msgstr "¥Þ¥Ã¥Á¤¹¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤»¤ó" - -#~ msgid "Vim - Font Selector" -#~ msgstr "Vim - ¥Õ¥©¥ó¥ÈÁªÂò" - -#~ msgid "Name:" -#~ msgstr "̾Á°:" - -#~ msgid "Show size in Points" -#~ msgstr "¥µ¥¤¥º¤ò¥Ý¥¤¥ó¥È¤Çɽ¼¨¤¹¤ë" - -#~ msgid "Encoding:" -#~ msgstr "¥¨¥ó¥³¡¼¥É:" - -#~ msgid "Font:" -#~ msgstr "¥Õ¥©¥ó¥È:" - -#~ msgid "Style:" -#~ msgstr "¥¹¥¿¥¤¥ë:" - -#~ msgid "Size:" -#~ msgstr "¥µ¥¤¥º:" - -#~ msgid "E256: Hangul automata ERROR" -#~ msgstr "E256: ¥Ï¥ó¥°¥ë¥ª¡¼¥È¥Þ¥È¥ó¥¨¥é¡¼" - -#~ msgid "E563: stat error" -#~ msgstr "E563: stat ¥¨¥é¡¼" - -#~ msgid "E625: cannot open cscope database: %s" -#~ msgstr "E625: cscope¥Ç¡¼¥¿¥Ù¡¼¥¹: %s ¤ò³«¤¯¤³¤È¤¬¤Ç¤¤Þ¤»¤ó" - -#~ msgid "E626: cannot get cscope database information" -#~ msgstr "E626: cscope¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¾ðÊó¤ò¼èÆÀ¤Ç¤¤Þ¤»¤ó" - -#~ msgid "Lua library cannot be loaded." -#~ msgstr "Lua¥é¥¤¥Ö¥é¥ê¤ò¥í¡¼¥É¤Ç¤¤Þ¤»¤ó." - -#~ msgid "cannot save undo information" -#~ msgstr "¥¢¥ó¥É¥¥¾ðÊó¤¬Êݸ¤Ç¤¤Þ¤»¤ó" - -#~ msgid "" -#~ "E815: Sorry, this command is disabled, the MzScheme libraries could not " -#~ "be loaded." -#~ msgstr "" -#~ "E815: ¤³¤Î¥³¥Þ¥ó¥É¤Ï̵¸ú¤Ç¤¹. MzScheme ¥é¥¤¥Ö¥é¥ê¤ò¥í¡¼¥É¤Ç¤¤Þ¤»¤ó." - -#~ msgid "invalid expression" -#~ msgstr "̵¸ú¤Ê¼°¤Ç¤¹" - -#~ msgid "expressions disabled at compile time" -#~ msgstr "¼°¤Ï¥³¥ó¥Ñ¥¤¥ë»þ¤Ë̵¸ú¤Ë¤µ¤ì¤Æ¤¤¤Þ¤¹" - -#~ msgid "hidden option" -#~ msgstr "±£¤·¥ª¥×¥·¥ç¥ó" - -#~ msgid "unknown option" -#~ msgstr "̤ÃΤΥª¥×¥·¥ç¥ó¤Ç¤¹" - -#~ msgid "window index is out of range" -#~ msgstr "Èϰϳ°¤Î¥¦¥£¥ó¥É¥¦ÈÖ¹æ¤Ç¤¹" - -#~ msgid "couldn't open buffer" -#~ msgstr "¥Ð¥Ã¥Õ¥¡¤ò³«¤±¤Þ¤»¤ó" - -#~ msgid "cannot delete line" -#~ msgstr "¹Ô¤ò¾Ã¤»¤Þ¤»¤ó" - -#~ msgid "cannot replace line" -#~ msgstr "¹Ô¤òÃÖ´¹¤Ç¤¤Þ¤»¤ó" - -#~ msgid "cannot insert line" -#~ msgstr "¹Ô¤òÁÞÆþ¤Ç¤¤Þ¤»¤ó" - -#~ msgid "string cannot contain newlines" -#~ msgstr "ʸ»úÎó¤Ë¤Ï²þ¹Ôʸ»ú¤ò´Þ¤á¤é¤ì¤Þ¤»¤ó" - -#~ msgid "error converting Scheme values to Vim" -#~ msgstr "SchemeÃͤÎVim¤Ø¤ÎÊÑ´¹¥¨¥é¡¼" - -#~ msgid "Vim error: ~a" -#~ msgstr "Vim ¥¨¥é¡¼: ~a" - -#~ msgid "Vim error" -#~ msgstr "Vim ¥¨¥é¡¼" - -#~ msgid "buffer is invalid" -#~ msgstr "¥Ð¥Ã¥Õ¥¡¤Ï̵¸ú¤Ç¤¹" - -#~ msgid "window is invalid" -#~ msgstr "¥¦¥£¥ó¥É¥¦¤Ï̵¸ú¤Ç¤¹" - -#~ msgid "linenr out of range" -#~ msgstr "Èϰϳ°¤Î¹ÔÈÖ¹æ¤Ç¤¹" - -#~ msgid "not allowed in the Vim sandbox" -#~ msgstr "¥µ¥ó¥É¥Ü¥Ã¥¯¥¹¤Ç¤Ïµö¤µ¤ì¤Þ¤»¤ó" - -#~ msgid "E370: Could not load library %s" -#~ msgstr "E370: ¥é¥¤¥Ö¥é¥ê %s ¤ò¥í¡¼¥É¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿" - -#~ msgid "" -#~ "Sorry, this command is disabled: the Perl library could not be loaded." -#~ msgstr "" -#~ "¤³¤Î¥³¥Þ¥ó¥É¤Ï̵¸ú¤Ç¤¹, ¤´¤á¤ó¤Ê¤µ¤¤: Perl¥é¥¤¥Ö¥é¥ê¤ò¥í¡¼¥É¤Ç¤¤Þ¤»¤ó¤Ç¤·" -#~ "¤¿." - -#~ msgid "E299: Perl evaluation forbidden in sandbox without the Safe module" -#~ msgstr "" -#~ "E299: ¥µ¥ó¥É¥Ü¥Ã¥¯¥¹¤Ç¤Ï Safe ¥â¥¸¥å¡¼¥ë¤ò»ÈÍѤ·¤Ê¤¤Perl¥¹¥¯¥ê¥×¥È¤Ï¶Ø¤¸¤é" -#~ "¤ì¤Æ¤¤¤Þ¤¹" - -#~ msgid "E836: This Vim cannot execute :python after using :py3" -#~ msgstr "E836: ¤³¤ÎVim¤Ç¤Ï :py3 ¤ò»È¤Ã¤¿¸å¤Ë :python ¤ò»È¤¨¤Þ¤»¤ó" - -#~ msgid "" -#~ "E263: Sorry, this command is disabled, the Python library could not be " -#~ "loaded." -#~ msgstr "" -#~ "E263: ¤³¤Î¥³¥Þ¥ó¥É¤Ï̵¸ú¤Ç¤¹,¤´¤á¤ó¤Ê¤µ¤¤: Python¥é¥¤¥Ö¥é¥ê¤ò¥í¡¼¥É¤Ç¤¤Þ" -#~ "¤»¤ó¤Ç¤·¤¿." - -# Added at 07-Feb-2004. -#~ msgid "E659: Cannot invoke Python recursively" -#~ msgstr "E659: Python ¤òºÆµ¢Åª¤Ë¼Â¹Ô¤¹¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó" - -#~ msgid "E837: This Vim cannot execute :py3 after using :python" -#~ msgstr "E837: ¤³¤ÎVim¤Ç¤Ï :python ¤ò»È¤Ã¤¿¸å¤Ë :py3 ¤ò»È¤¨¤Þ¤»¤ó" - -#~ msgid "E265: $_ must be an instance of String" -#~ msgstr "E265: $_ ¤Ïʸ»úÎó¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó" - -#~ msgid "" -#~ "E266: Sorry, this command is disabled, the Ruby library could not be " -#~ "loaded." -#~ msgstr "" -#~ "E266: ¤³¤Î¥³¥Þ¥ó¥É¤Ï̵¸ú¤Ç¤¹,¤´¤á¤ó¤Ê¤µ¤¤: Ruby¥é¥¤¥Ö¥é¥ê¤ò¥í¡¼¥É¤Ç¤¤Þ¤»" -#~ "¤ó¤Ç¤·¤¿." - -#~ msgid "E267: unexpected return" -#~ msgstr "E267: ͽ´ü¤»¤Ì return ¤Ç¤¹" - -#~ msgid "E268: unexpected next" -#~ msgstr "E268: ͽ´ü¤»¤Ì next ¤Ç¤¹" - -#~ msgid "E269: unexpected break" -#~ msgstr "E269: ͽ´ü¤»¤Ì break ¤Ç¤¹" - -#~ msgid "E270: unexpected redo" -#~ msgstr "E270: ͽ´ü¤»¤Ì redo ¤Ç¤¹" - -#~ msgid "E271: retry outside of rescue clause" -#~ msgstr "E271: rescue ¤Î³°¤Î retry ¤Ç¤¹" - -#~ msgid "E272: unhandled exception" -#~ msgstr "E272: ¼è¤ê°·¤ï¤ì¤Ê¤«¤Ã¤¿Îã³°¤¬¤¢¤ê¤Þ¤¹" - -#~ msgid "E273: unknown longjmp status %d" -#~ msgstr "E273: ̤ÃΤÎlongjmp¾õÂÖ: %d" - -#~ msgid "Toggle implementation/definition" -#~ msgstr "¼ÂÁõ¤ÈÄêµÁ¤òÀÚ¤êÂØ¤¨¤ë" - -#~ msgid "Show base class of" -#~ msgstr "¼¡¤Î¥¯¥é¥¹¤Î´ðÄì¤òɽ¼¨" - -#~ msgid "Show overridden member function" -#~ msgstr "¥ª¡¼¥Ð¡¼¥é¥¤¥É¤µ¤ì¤¿¥á¥ó¥Ð´Ø¿ô¤òɽ¼¨" - -#~ msgid "Retrieve from file" -#~ msgstr "¥Õ¥¡¥¤¥ë¤«¤é²óÉü¤¹¤ë" - -#~ msgid "Retrieve from project" -#~ msgstr "¥×¥í¥¸¥§¥¯¥È¤«¤é²óÉü¤¹¤ë" - -#~ msgid "Retrieve from all projects" -#~ msgstr "Á´¤Æ¤Î¥×¥í¥¸¥§¥¯¥È¤«¤é²óÉü¤¹¤ë" - -#~ msgid "Retrieve" -#~ msgstr "²óÉü" - -#~ msgid "Show source of" -#~ msgstr "¼¡¤Î¥½¡¼¥¹¤òɽ¼¨¤¹¤ë" - -#~ msgid "Find symbol" -#~ msgstr "¸«¤Ä¤±¤¿¥·¥ó¥Ü¥ë" - -#~ msgid "Browse class" -#~ msgstr "¥¯¥é¥¹¤ò»²¾È" - -#~ msgid "Show class in hierarchy" -#~ msgstr "³¬Áؤǥ¯¥é¥¹¤òɽ¼¨" - -#~ msgid "Show class in restricted hierarchy" -#~ msgstr "¸ÂÄꤵ¤ì¤¿³¬Áؤǥ¯¥é¥¹¤òɽ¼¨" - -#~ msgid "Xref refers to" -#~ msgstr "Xref ¤Î»²¾ÈÀè" - -#~ msgid "Xref referred by" -#~ msgstr "Xref ¤¬»²¾È¤µ¤ì¤ë" - -#~ msgid "Xref has a" -#~ msgstr "Xref ¤¬¼¡¤Î¤â¤Î¤ò¤â¤Ã¤Æ¤¤¤Þ¤¹" - -#~ msgid "Xref used by" -#~ msgstr "Xref ¤¬»ÈÍѤµ¤ì¤ë" - -#~ msgid "Show docu of" -#~ msgstr "¼¡¤Îʸ¾Ï¤òɽ¼¨" - -#~ msgid "Generate docu for" -#~ msgstr "¼¡¤Îʸ¾Ï¤òÀ¸À®" - -#~ msgid "" -#~ "Cannot connect to SNiFF+. Check environment (sniffemacs must be found in " -#~ "$PATH).\n" -#~ msgstr "" -#~ "SNiFF+¤ËÀܳ¤Ç¤¤Þ¤»¤ó. ´Ä¶¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤(sniffemacs ¤¬ $PATH ¤Ë" -#~ "¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó).\n" - -#~ msgid "E274: Sniff: Error during read. Disconnected" -#~ msgstr "E274: Sniff: ÆÉ¹þÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿. ÀÚÃǤ·¤Þ¤·¤¿" - -#~ msgid "SNiFF+ is currently " -#~ msgstr "¸½ºßSNiFF+ ¤Î¾õÂ֤ϡÖ" - -#~ msgid "not " -#~ msgstr "̤" - -#~ msgid "connected" -#~ msgstr "Àܳ¡×¤Ç¤¹" - -#~ msgid "E275: Unknown SNiFF+ request: %s" -#~ msgstr "E275: ̤ÃΤΠSNiFF+ ¥ê¥¯¥¨¥¹¥È¤Ç¤¹: %s" - -#~ msgid "E276: Error connecting to SNiFF+" -#~ msgstr "E276: SNiFF+ ¤Ø¤ÎÀÜÂ³Ãæ¤Î¥¨¥é¡¼¤Ç¤¹" - -#~ msgid "E278: SNiFF+ not connected" -#~ msgstr "E278: SNiFF+ ¤ËÀܳ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" - -#~ msgid "E279: Not a SNiFF+ buffer" -#~ msgstr "E279: SNiFF+ ¥Ð¥Ã¥Õ¥¡¤¬¤¢¤ê¤Þ¤»¤ó" - -#~ msgid "Sniff: Error during write. Disconnected" -#~ msgstr "Sniff: ½ñ¹þ¤ßÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤¿¤Î¤ÇÀÚÃǤ·¤Þ¤·¤¿" - -#~ msgid "invalid buffer number" -#~ msgstr "̵¸ú¤Ê¥Ð¥Ã¥Õ¥¡ÈÖ¹æ¤Ç¤¹" - -#~ msgid "not implemented yet" -#~ msgstr "¤Þ¤À¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" - -#~ msgid "cannot set line(s)" -#~ msgstr "¹Ô¤òÀßÄê¤Ç¤¤Þ¤»¤ó" - -#~ msgid "invalid mark name" -#~ msgstr "̵¸ú¤Ê¥Þ¡¼¥¯Ì¾¤Ç¤¹" - -#~ msgid "mark not set" -#~ msgstr "¥Þ¡¼¥¯¤ÏÀßÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó" - -#~ msgid "row %d column %d" -#~ msgstr "¹Ô %d Îó %d" - -#~ msgid "cannot insert/append line" -#~ msgstr "¹Ô¤ÎÁÞÆþ/Äɲäò¤Ç¤¤Þ¤»¤ó" - -#~ msgid "line number out of range" -#~ msgstr "Èϰϳ°¤Î¹ÔÈÖ¹æ¤Ç¤¹" - -#~ msgid "unknown flag: " -#~ msgstr "̤ÃΤΥե饰: " - -#~ msgid "unknown vimOption" -#~ msgstr "̤ÃΤΠvimOption ¤Ç¤¹" - -#~ msgid "keyboard interrupt" -#~ msgstr "¥¡¼¥Ü¡¼¥É³ä¹þ¤ß" - -#~ msgid "vim error" -#~ msgstr "vim ¥¨¥é¡¼" - -#~ msgid "cannot create buffer/window command: object is being deleted" -#~ msgstr "" -#~ "¥Ð¥Ã¥Õ¥¡/¥¦¥£¥ó¥É¥¦ºîÀ®¥³¥Þ¥ó¥É¤òºîÀ®¤Ç¤¤Þ¤»¤ó: ¥ª¥Ö¥¸¥§¥¯¥È¤¬¾Ãµî¤µ¤ì¤Æ" -#~ "¤¤¤Þ¤·¤¿" - -#~ msgid "" -#~ "cannot register callback command: buffer/window is already being deleted" -#~ msgstr "" -#~ "¥³¡¼¥ë¥Ð¥Ã¥¯¥³¥Þ¥ó¥É¤òÅÐÏ¿¤Ç¤¤Þ¤»¤ó: ¥Ð¥Ã¥Õ¥¡/¥¦¥£¥ó¥É¥¦¤¬´û¤Ë¾Ãµî¤µ¤ì¤Þ" -#~ "¤·¤¿" - -#~ msgid "" -#~ "E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-" -#~ "dev@vim.org" -#~ msgstr "" -#~ "E280: TCL Ã×̿Ū¥¨¥é¡¼: reflist ±øÀ÷!? vim-dev@vim.org ¤ËÊó¹ð¤·¤Æ¤¯¤À¤µ¤¤" - -#~ msgid "cannot register callback command: buffer/window reference not found" -#~ msgstr "" -#~ "¥³¡¼¥ë¥Ð¥Ã¥¯¥³¥Þ¥ó¥É¤òÅÐÏ¿¤Ç¤¤Þ¤»¤ó: ¥Ð¥Ã¥Õ¥¡/¥¦¥£¥ó¥É¥¦¤Î»²¾È¤¬¸«¤Ä¤«¤ê" -#~ "¤Þ¤»¤ó" - -#~ msgid "" -#~ "E571: Sorry, this command is disabled: the Tcl library could not be " -#~ "loaded." -#~ msgstr "" -#~ "E571: ¤³¤Î¥³¥Þ¥ó¥É¤Ï̵¸ú¤Ç¤¹,¤´¤á¤ó¤Ê¤µ¤¤: Tcl¥é¥¤¥Ö¥é¥ê¤ò¥í¡¼¥É¤Ç¤¤Þ¤»¤ó" -#~ "¤Ç¤·¤¿." - -#~ msgid "E572: exit code %d" -#~ msgstr "E572: ½ªÎ»¥³¡¼¥É %d" - -#~ msgid "cannot get line" -#~ msgstr "¹Ô¤ò¼èÆÀ¤Ç¤¤Þ¤»¤ó" - -#~ msgid "Unable to register a command server name" -#~ msgstr "Ì¿Î᥵¡¼¥Ð¤Î̾Á°¤òÅÐÏ¿¤Ç¤¤Þ¤»¤ó" - -#~ msgid "E248: Failed to send command to the destination program" -#~ msgstr "E248: ÌÜŪ¤Î¥×¥í¥°¥é¥à¤Ø¤Î¥³¥Þ¥ó¥ÉÁ÷¿®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" - -#~ msgid "E573: Invalid server id used: %s" -#~ msgstr "E573: ̵¸ú¤Ê¥µ¡¼¥ÐID¤¬»È¤ï¤ì¤Þ¤·¤¿: %s" - -#~ msgid "E251: VIM instance registry property is badly formed. Deleted!" -#~ msgstr "E251: VIM ¼ÂÂΤÎÅÐÏ¿¥×¥í¥Ñ¥Æ¥£¤¬ÉÔÀµ¤Ç¤¹. ¾Ãµî¤·¤Þ¤·¤¿!" - -#~ msgid "netbeans is not supported with this GUI\n" -#~ msgstr "netbeans ¤Ï¤³¤ÎGUI¤Ç¤ÏÍøÍѤǤ¤Þ¤»¤ó\n" - -#~ msgid "This Vim was not compiled with the diff feature." -#~ msgstr "¤³¤ÎVim¤Ë¤Ïdiffµ¡Ç½¤¬¤¢¤ê¤Þ¤»¤ó(¥³¥ó¥Ñ¥¤¥ë»þÀßÄê)." - -#~ msgid "'-nb' cannot be used: not enabled at compile time\n" -#~ msgstr "'-nb' »ÈÍÑÉÔ²Äǽ¤Ç¤¹: ¥³¥ó¥Ñ¥¤¥ë»þ¤Ë̵¸ú¤Ë¤µ¤ì¤Æ¤¤¤Þ¤¹\n" - -#~ msgid "Vim: Error: Failure to start gvim from NetBeans\n" -#~ msgstr "Vim: ¥¨¥é¡¼: NetBeans¤«¤égvim¤ò¥¹¥¿¡¼¥È¤Ç¤¤Þ¤»¤ó\n" - -#~ msgid "" -#~ "\n" -#~ "Where case is ignored prepend / to make flag upper case" -#~ msgstr "" -#~ "\n" -#~ "Â羮ʸ»ú¤¬Ìµ»ë¤µ¤ì¤ë¾ì¹ç¤ÏÂçʸ»ú¤Ë¤¹¤ë¤¿¤á¤Ë / ¤òÁ°ÃÖ¤·¤Æ¤¯¤À¤µ¤¤" - -#~ msgid "-register\t\tRegister this gvim for OLE" -#~ msgstr "-register\t\t¤³¤Îgvim¤òOLE¤È¤·¤ÆÅÐÏ¿¤¹¤ë" - -#~ msgid "-unregister\t\tUnregister gvim for OLE" -#~ msgstr "-unregister\t\tgvim¤ÎOLEÅÐÏ¿¤ò²ò½ü¤¹¤ë" - -#~ msgid "-g\t\t\tRun using GUI (like \"gvim\")" -#~ msgstr "-g\t\t\tGUI¤Çµ¯Æ°¤¹¤ë (\"gvim\" ¤ÈƱ¤¸)" - -#~ msgid "-f or --nofork\tForeground: Don't fork when starting GUI" -#~ msgstr "-f or --nofork\t¥Õ¥©¥¢¥°¥é¥¦¥ó¥É: GUI¤ò»Ï¤á¤ë¤È¤¤Ëfork¤·¤Ê¤¤" - -#~ msgid "-f\t\t\tDon't use newcli to open window" -#~ msgstr "-f\t\t\t¥¦¥£¥ó¥É¥¦¤ò³«¤¯¤Î¤Ë newcli ¤ò»ÈÍѤ·¤Ê¤¤" - -#~ msgid "-dev <device>\t\tUse <device> for I/O" -#~ msgstr "-dev <device>\t\tI/O¤Ë <device> ¤ò»ÈÍѤ¹¤ë" - -#~ msgid "-U <gvimrc>\t\tUse <gvimrc> instead of any .gvimrc" -#~ msgstr "-U <gvimrc>\t\t.gvimrc¤ÎÂå¤ï¤ê¤Ë <gvimrc> ¤ò»È¤¦" - -#~ msgid "-x\t\t\tEdit encrypted files" -#~ msgstr "-x\t\t\t°Å¹æ²½¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤¹¤ë" - -#~ msgid "-display <display>\tConnect vim to this particular X-server" -#~ msgstr "-display <display>\tvim¤ò»ØÄꤷ¤¿ X ¥µ¡¼¥Ð¤ËÀܳ¤¹¤ë" - -#~ msgid "-X\t\t\tDo not connect to X server" -#~ msgstr "-X\t\t\tX¥µ¡¼¥Ð¤ËÀܳ¤·¤Ê¤¤" - -#~ msgid "--remote <files>\tEdit <files> in a Vim server if possible" -#~ msgstr "--remote <files>\t²Äǽ¤Ê¤é¤ÐVim¥µ¡¼¥Ð¤Ç <files> ¤òÊÔ½¸¤¹¤ë" - -#~ msgid "--remote-silent <files> Same, don't complain if there is no server" -#~ msgstr "--remote-silent <files> Ʊ¾å, ¥µ¡¼¥Ð¤¬Ìµ¤¯¤Æ¤â·Ù¹ðʸ¤ò½ÐÎϤ·¤Ê¤¤" - -#~ msgid "" -#~ "--remote-wait <files> As --remote but wait for files to have been edited" -#~ msgstr "--remote-wait <files>\t--remote¸å ¥Õ¥¡¥¤¥ë¤ÎÊÔ½¸¤¬½ª¤ï¤ë¤Î¤òÂÔ¤Ä" - -#~ msgid "" -#~ "--remote-wait-silent <files> Same, don't complain if there is no server" -#~ msgstr "" -#~ "--remote-wait-silent <files> Ʊ¾å, ¥µ¡¼¥Ð¤¬Ìµ¤¯¤Æ¤â·Ù¹ðʸ¤ò½ÐÎϤ·¤Ê¤¤" - -#~ msgid "" -#~ "--remote-tab[-wait][-silent] <files> As --remote but use tab page per " -#~ "file" -#~ msgstr "" -#~ "--remote-tab[-wait][-silent] <files> --remote¤Ç¥Õ¥¡¥¤¥ë1¤Ä¤Ë¤Ä¤1¤Ä¤Î¥¿¥Ö" -#~ "¥Ú¡¼¥¸¤ò³«¤¯" - -#~ msgid "--remote-send <keys>\tSend <keys> to a Vim server and exit" -#~ msgstr "--remote-send <keys>\tVim¥µ¡¼¥Ð¤Ë <keys> ¤òÁ÷¿®¤·¤Æ½ªÎ»¤¹¤ë" - -#~ msgid "" -#~ "--remote-expr <expr>\tEvaluate <expr> in a Vim server and print result" -#~ msgstr "--remote-expr <expr>\t¥µ¡¼¥Ð¤Ç <expr> ¤ò¼Â¹Ô¤·¤Æ·ë²Ì¤òɽ¼¨¤¹¤ë" - -#~ msgid "--serverlist\t\tList available Vim server names and exit" -#~ msgstr "--serverlist\t\tVim¥µ¡¼¥Ð̾¤Î°ìÍ÷¤òɽ¼¨¤·¤Æ½ªÎ»¤¹¤ë" - -#~ msgid "--servername <name>\tSend to/become the Vim server <name>" -#~ msgstr "--servername <name>\tVim¥µ¡¼¥Ð <name> ¤ËÁ÷¿®/̾Á°ÀßÄꤹ¤ë" - -#~ msgid "" -#~ "\n" -#~ "Arguments recognised by gvim (Motif version):\n" -#~ msgstr "" -#~ "\n" -#~ "gvim¤Ë¤è¤Ã¤Æ²ò¼á¤µ¤ì¤ë°ú¿ô(Motif¥Ð¡¼¥¸¥ç¥ó):\n" - -#~ msgid "" -#~ "\n" -#~ "Arguments recognised by gvim (neXtaw version):\n" -#~ msgstr "" -#~ "\n" -#~ "gvim¤Ë¤è¤Ã¤Æ²ò¼á¤µ¤ì¤ë°ú¿ô(neXtaw¥Ð¡¼¥¸¥ç¥ó):\n" - -#~ msgid "" -#~ "\n" -#~ "Arguments recognised by gvim (Athena version):\n" -#~ msgstr "" -#~ "\n" -#~ "gvim¤Ë¤è¤Ã¤Æ²ò¼á¤µ¤ì¤ë°ú¿ô(Athena¥Ð¡¼¥¸¥ç¥ó):\n" - -#~ msgid "-display <display>\tRun vim on <display>" -#~ msgstr "-display <display>\t<display> ¤Çvim¤ò¼Â¹Ô¤¹¤ë" - -#~ msgid "-iconic\t\tStart vim iconified" -#~ msgstr "-iconic\t\tºÇ¾®²½¤·¤¿¾õÂÖ¤Çvim¤òµ¯Æ°¤¹¤ë" - -#~ msgid "-background <color>\tUse <color> for the background (also: -bg)" -#~ msgstr "-background <color>\tÇØ·Ê¿§¤Ë <color> ¤ò»È¤¦(ƱµÁ: -bg)" - -#~ msgid "-foreground <color>\tUse <color> for normal text (also: -fg)" -#~ msgstr "-foreground <color>\tÁ°·Ê¿§¤Ë <color> ¤ò»È¤¦(ƱµÁ: -fg)" - -#~ msgid "-font <font>\t\tUse <font> for normal text (also: -fn)" -#~ msgstr "-font <font>\t\t¥Æ¥¥¹¥Èɽ¼¨¤Ë <font> ¤ò»È¤¦(ƱµÁ: -fn)" - -#~ msgid "-boldfont <font>\tUse <font> for bold text" -#~ msgstr "-boldfont <font>\tÂÀ»ú¤Ë <font> ¤ò»È¤¦" - -#~ msgid "-italicfont <font>\tUse <font> for italic text" -#~ msgstr "-italicfont <for>\t¼ÐÂλú¤Ë <font> ¤ò»È¤¦" - -#~ msgid "-geometry <geom>\tUse <geom> for initial geometry (also: -geom)" -#~ msgstr "-geometry <geom>\t½é´üÇÛÃÖ¤Ë <geom> ¤ò»È¤¦(ƱµÁ: -geom)" - -#~ msgid "-borderwidth <width>\tUse a border width of <width> (also: -bw)" -#~ msgstr "-borderwidth <width>\t¶³¦¤ÎÉý¤ò <width> ¤Ë¤¹¤ë(ƱµÁ: -bw)" - -#~ msgid "" -#~ "-scrollbarwidth <width> Use a scrollbar width of <width> (also: -sw)" -#~ msgstr "" -#~ "-scrollbarwidth <width> ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤ÎÉý¤ò <width> ¤Ë¤¹¤ë(ƱµÁ: -sw)" - -#~ msgid "-menuheight <height>\tUse a menu bar height of <height> (also: -mh)" -#~ msgstr "" -#~ "-menuheight <height>\t¥á¥Ë¥å¡¼¥Ð¡¼¤Î¹â¤µ¤ò <height> ¤Ë¤¹¤ë(ƱµÁ: -mh)" - -#~ msgid "-reverse\t\tUse reverse video (also: -rv)" -#~ msgstr "-reverse\t\tȿž±ÇÁü¤ò»ÈÍѤ¹¤ë(ƱµÁ: -rv)" - -#~ msgid "+reverse\t\tDon't use reverse video (also: +rv)" -#~ msgstr "+reverse\t\tȿž±ÇÁü¤ò»ÈÍѤ·¤Ê¤¤(ƱµÁ: +rv)" - -#~ msgid "-xrm <resource>\tSet the specified resource" -#~ msgstr "-xrm <resource>\tÆÃÄê¤Î¥ê¥½¡¼¥¹¤ò»ÈÍѤ¹¤ë" - -#~ msgid "" -#~ "\n" -#~ "Arguments recognised by gvim (GTK+ version):\n" -#~ msgstr "" -#~ "\n" -#~ "gvim¤Ë¤è¤Ã¤Æ²ò¼á¤µ¤ì¤ë°ú¿ô(GTK+¥Ð¡¼¥¸¥ç¥ó):\n" - -#~ msgid "-display <display>\tRun vim on <display> (also: --display)" -#~ msgstr "-display <display>\t<display> ¤Çvim¤ò¼Â¹Ô¤¹¤ë(ƱµÁ: --display)" - -#~ msgid "--role <role>\tSet a unique role to identify the main window" -#~ msgstr "--role <role>\t¥á¥¤¥ó¥¦¥£¥ó¥É¥¦¤ò¼±Ê̤¹¤ë°ì°Õ¤ÊÌò³ä(role)¤òÀßÄꤹ¤ë" - -#~ msgid "--socketid <xid>\tOpen Vim inside another GTK widget" -#~ msgstr "--socketid <xid>\t°Û¤Ê¤ëGTK widget¤ÇVim¤ò³«¤¯" - -#~ msgid "--echo-wid\t\tMake gvim echo the Window ID on stdout" -#~ msgstr "--echo-wid\t\t¥¦¥£¥ó¥É¥¦ID¤òɸ½à½ÐÎϤ˽ÐÎϤ¹¤ë" - -#~ msgid "-P <parent title>\tOpen Vim inside parent application" -#~ msgstr "-P <¿Æ¤Î¥¿¥¤¥È¥ë>\tVim¤ò¿Æ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎÃæ¤Çµ¯Æ°¤¹¤ë" - -#~ msgid "--windowid <HWND>\tOpen Vim inside another win32 widget" -#~ msgstr "--windowid <HWND>\t°Û¤Ê¤ëWin32 widget¤ÎÆâÉô¤ËVim¤ò³«¤¯" - -#~ msgid "No display" -#~ msgstr "¥Ç¥£¥¹¥×¥ì¥¤¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó" - -#~ msgid ": Send failed.\n" -#~ msgstr ": Á÷¿®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿.\n" - -#~ msgid ": Send failed. Trying to execute locally\n" -#~ msgstr ": Á÷¿®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿. ¥í¡¼¥«¥ë¤Ç¤Î¼Â¹Ô¤ò»î¤ß¤Æ¤¤¤Þ¤¹\n" - -#~ msgid "%d of %d edited" -#~ msgstr "%d ¸Ä (%d ¸ÄÃæ) ¤Î¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤·¤Þ¤·¤¿" - -#~ msgid "No display: Send expression failed.\n" -#~ msgstr "¥Ç¥£¥¹¥×¥ì¥¤¤¬¤¢¤ê¤Þ¤»¤ó: ¼°¤ÎÁ÷¿®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿.\n" - -#~ msgid ": Send expression failed.\n" -#~ msgstr ": ¼°¤ÎÁ÷¿®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿.\n" - -#~ msgid "E543: Not a valid codepage" -#~ msgstr "E543: ̵¸ú¤Ê¥³¡¼¥É¥Ú¡¼¥¸¤Ç¤¹" - -#~ msgid "E284: Cannot set IC values" -#~ msgstr "E284: IC¤ÎÃͤòÀßÄê¤Ç¤¤Þ¤»¤ó" - -#~ msgid "E285: Failed to create input context" -#~ msgstr "E285: ¥¤¥ó¥×¥Ã¥È¥³¥ó¥Æ¥¥¹¥È¤ÎºîÀ®¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" - -#~ msgid "E286: Failed to open input method" -#~ msgstr "E286: ¥¤¥ó¥×¥Ã¥È¥á¥½¥Ã¥É¤Î¥ª¡¼¥×¥ó¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" - -#~ msgid "E287: Warning: Could not set destroy callback to IM" -#~ msgstr "E287: ·Ù¹ð: IM¤ÎÇ˲õ¥³¡¼¥ë¥Ð¥Ã¥¯¤òÀßÄê¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿" - -#~ msgid "E288: input method doesn't support any style" -#~ msgstr "E288: ¥¤¥ó¥×¥Ã¥È¥á¥½¥Ã¥É¤Ï¤É¤ó¤Ê¥¹¥¿¥¤¥ë¤â¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó" - -#~ msgid "E289: input method doesn't support my preedit type" -#~ msgstr "E289: ¥¤¥ó¥×¥Ã¥È¥á¥½¥Ã¥É¤Ï my preedit type ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó" +#, c-format +msgid "E447: Can't find file \"%s\" in path" +msgstr "E447: path¤Ë¤Ï \"%s\" ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó" -#~ msgid "E843: Error while updating swap file crypt" -#~ msgstr "E843: ¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤Î°Å¹æ¤ò¹¹¿·Ãæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿" +#, c-format +msgid "E799: Invalid ID: %ld (must be greater than or equal to 1)" +msgstr "E799: ̵¸ú¤Ê ID: %ld (1 °Ê¾å¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó)" -#~ msgid "" -#~ "E833: %s is encrypted and this version of Vim does not support encryption" -#~ msgstr "" -#~ "E833: %s ¤Ï¤³¤Î¥Ð¡¼¥¸¥ç¥ó¤ÎVim¤Ç¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤·Á¼°¤Ç°Å¹æ²½¤µ¤ì¤Æ¤¤¤Þ¤¹" +#, c-format +msgid "E801: ID already taken: %ld" +msgstr "E801: ID ¤Ï¤¹¤Ç¤ËÍøÍÑÃæ¤Ç¤¹: %ld" -#~ msgid "Swap file is encrypted: \"%s\"" -#~ msgstr "¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤Ï°Å¹æ²½¤µ¤ì¤Æ¤¤¤Þ¤¹: \"%s\"" +msgid "List or number required" +msgstr "¥ê¥¹¥È¤«¿ôÃͤ¬É¬ÍפǤ¹" -#~ msgid "" -#~ "\n" -#~ "If you entered a new crypt key but did not write the text file," -#~ msgstr "" -#~ "\n" -#~ "¿·¤·¤¤°Å¹æ¥¡¼¤òÆþÎϤ·¤¿¤¢¤È¤Ë¥Æ¥¥¹¥È¥Õ¥¡¥¤¥ë¤òÊݸ¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï," +#, c-format +msgid "E802: Invalid ID: %ld (must be greater than or equal to 1)" +msgstr "E802: ̵¸ú¤Ê ID: %ld (1 °Ê¾å¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó)" -#~ msgid "" -#~ "\n" -#~ "enter the new crypt key." -#~ msgstr "" -#~ "\n" -#~ "¿·¤·¤¤°Å¹æ¥¡¼¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤." +#, c-format +msgid "E803: ID not found: %ld" +msgstr "E803: ID ¤Ï¤¢¤ê¤Þ¤»¤ó: %ld" -#~ msgid "" -#~ "\n" -#~ "If you wrote the text file after changing the crypt key press enter" -#~ msgstr "" -#~ "\n" -#~ "°Å¹æ¥¡¼¤òÊѤ¨¤¿¤¢¤È¤Ë¥Æ¥¥¹¥È¥Õ¥¡¥¤¥ë¤òÊݸ¤·¤¿¾ì¹ç¤Ï, ¥Æ¥¥¹¥È¥Õ¥¡¥¤¥ë¤È" +#, c-format +msgid "E370: Could not load library %s" +msgstr "E370: ¥é¥¤¥Ö¥é¥ê %s ¤ò¥í¡¼¥É¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿" -#~ msgid "" -#~ "\n" -#~ "to use the same key for text file and swap file" -#~ msgstr "" -#~ "\n" -#~ "¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤ËƱ¤¸°Å¹æ¥¡¼¤ò»È¤¦¤¿¤á¤Ëenter¤À¤±¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤." +msgid "Sorry, this command is disabled: the Perl library could not be loaded." +msgstr "" +"¤³¤Î¥³¥Þ¥ó¥É¤Ï̵¸ú¤Ç¤¹, ¤´¤á¤ó¤Ê¤µ¤¤: Perl¥é¥¤¥Ö¥é¥ê¤ò¥í¡¼¥É¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿." -#~ msgid "Using crypt key from swap file for the text file.\n" -#~ msgstr "¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤«¤é¼èÆÀ¤·¤¿°Å¹æ¥¡¼¤ò¥Æ¥¥¹¥È¥Õ¥¡¥¤¥ë¤Ë»È¤¤¤Þ¤¹.\n" +msgid "E299: Perl evaluation forbidden in sandbox without the Safe module" +msgstr "" +"E299: ¥µ¥ó¥É¥Ü¥Ã¥¯¥¹¤Ç¤Ï Safe ¥â¥¸¥å¡¼¥ë¤ò»ÈÍѤ·¤Ê¤¤Perl¥¹¥¯¥ê¥×¥È¤Ï¶Ø¤¸¤é¤ì" +"¤Æ¤¤¤Þ¤¹" -#~ msgid "" -#~ "\n" -#~ " [not usable with this version of Vim]" -#~ msgstr "" -#~ "\n" -#~ " [¤³¤ÎVim¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï»ÈÍѤǤ¤Þ¤»¤ó]" +msgid "Edit with &multiple Vims" +msgstr "Ê£¿ô¤ÎVim¤ÇÊÔ½¸¤¹¤ë (&M)" -#~ msgid "Tear off this menu" -#~ msgstr "¤³¤Î¥á¥Ë¥å¡¼¤òÀÚ¤ê¼è¤ë" +msgid "Edit with single &Vim" +msgstr "1¤Ä¤ÎVim¤ÇÊÔ½¸¤¹¤ë (&V)" -#~ msgid "Select Directory dialog" -#~ msgstr "¥Ç¥£¥ì¥¯¥È¥êÁªÂò¥À¥¤¥¢¥í¥°" +msgid "Diff with Vim" +msgstr "Vim¤Çº¹Ê¬¤òɽ¼¨¤¹¤ë" -#~ msgid "Save File dialog" -#~ msgstr "¥Õ¥¡¥¤¥ëÊݸ¥À¥¤¥¢¥í¥°" +msgid "Edit with &Vim" +msgstr "Vim¤ÇÊÔ½¸¤¹¤ë (&V)" -#~ msgid "Open File dialog" -#~ msgstr "¥Õ¥¡¥¤¥ëÆÉ¹þ¥À¥¤¥¢¥í¥°" +#. Now concatenate +msgid "Edit with existing Vim - " +msgstr "µ¯Æ°ºÑ¤ÎVim¤ÇÊÔ½¸¤¹¤ë - " -#~ msgid "E338: Sorry, no file browser in console mode" -#~ msgstr "" -#~ "E338: ¥³¥ó¥½¡¼¥ë¥â¡¼¥É¤Ç¤Ï¥Õ¥¡¥¤¥ë¥Ö¥é¥¦¥¶¤ò»È¤¨¤Þ¤»¤ó, ¤´¤á¤ó¤Ê¤µ¤¤" +msgid "Edits the selected file(s) with Vim" +msgstr "ÁªÂò¤·¤¿¥Õ¥¡¥¤¥ë¤òVim¤ÇÊÔ½¸¤¹¤ë" -#~ msgid "Vim: preserving files...\n" -#~ msgstr "Vim: ¥Õ¥¡¥¤¥ë¤òÊÝÂ¸Ãæ...\n" +msgid "Error creating process: Check if gvim is in your path!" +msgstr "¥×¥í¥»¥¹¤ÎºîÀ®¤Ë¼ºÇÔ: gvim¤¬´Ä¶ÊÑ¿ôPATH¾å¤Ë¤¢¤ë¤«³Îǧ¤·¤Æ¤¯¤À¤µ¤¤!" -#~ msgid "Vim: Finished.\n" -#~ msgstr "Vim: ½ªÎ»¤·¤Þ¤·¤¿.\n" +msgid "gvimext.dll error" +msgstr "gvimext.dll ¥¨¥é¡¼" -#~ msgid "ERROR: " -#~ msgstr "¥¨¥é¡¼: " +msgid "Path length too long!" +msgstr "¥Ñ¥¹¤¬Ä¹²á¤®¤Þ¤¹!" -#~ msgid "" -#~ "\n" -#~ "[bytes] total alloc-freed %<PRIu64>-%<PRIu64>, in use %<PRIu64>, peak use " -#~ "%<PRIu64>\n" -#~ msgstr "" -#~ "\n" -#~ "[¥á¥â¥ê(¥Ð¥¤¥È)] Áí³äÅö-²òÊüÎÌ %<PRIu64>-%<PRIu64>, »ÈÍÑÎÌ %<PRIu64>, ¥Ô¡¼" -#~ "¥¯»þ %<PRIu64>\n" +msgid "--No lines in buffer--" +msgstr "--¥Ð¥Ã¥Õ¥¡¤Ë¹Ô¤¬¤¢¤ê¤Þ¤»¤ó--" -#~ msgid "" -#~ "[calls] total re/malloc()'s %<PRIu64>, total free()'s %<PRIu64>\n" -#~ "\n" -#~ msgstr "" -#~ "[¸Æ½Ð] Áí re/malloc() ²ó¿ô %<PRIu64>, Áí free() ²ó¿ô %<PRIu64>\n" -#~ "\n" +#. +#. * The error messages that can be shared are included here. +#. * Excluded are errors that are only used once and debugging messages. +#. +msgid "E470: Command aborted" +msgstr "E470: ¥³¥Þ¥ó¥É¤¬ÃæÃǤµ¤ì¤Þ¤·¤¿" -#~ msgid "E340: Line is becoming too long" -#~ msgstr "E340: ¹Ô¤¬Ä¹¤¯¤Ê¤ê²á¤®¤Þ¤·¤¿" +msgid "E471: Argument required" +msgstr "E471: °ú¿ô¤¬É¬ÍפǤ¹" -#~ msgid "E341: Internal error: lalloc(%<PRId64>, )" -#~ msgstr "E341: ÆâÉô¥¨¥é¡¼: lalloc(%<PRId64>,)" +msgid "E10: \\ should be followed by /, ? or &" +msgstr "E10: \\ ¤Î¸å¤Ï / ¤« ? ¤« & ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó" -#~ msgid "E547: Illegal mouseshape" -#~ msgstr "E547: ÉÔÀµ¤Ê 'mouseshape' ¤Ç¤¹" +msgid "E11: Invalid in command-line window; <CR> executes, CTRL-C quits" +msgstr "E11: ¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç¤Ï̵¸ú¤Ç¤¹; <CR>¤Ç¼Â¹Ô, CTRL-C¤Ç¤ä¤á¤ë" -#~ msgid "Enter encryption key: " -#~ msgstr "°Å¹æ²½ÍѤΥ¡¼¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤: " +msgid "E12: Command not allowed from exrc/vimrc in current dir or tag search" +msgstr "" +"E12: ¸½ºß¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ä¥¿¥°¸¡º÷¤Ç¤Ïexrc/vimrc¤Î¥³¥Þ¥ó¥É¤Ïµö²Ä¤µ¤ì¤Þ¤»¤ó" -#~ msgid "Enter same key again: " -#~ msgstr "¤â¤¦°ìÅÙÆ±¤¸¥¡¼¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤: " +msgid "E171: Missing :endif" +msgstr "E171: :endif ¤¬¤¢¤ê¤Þ¤»¤ó" -#~ msgid "Keys don't match!" -#~ msgstr "¥¡¼¤¬°ìÃפ·¤Þ¤»¤ó" +msgid "E600: Missing :endtry" +msgstr "E600: :endtry ¤¬¤¢¤ê¤Þ¤»¤ó" -#~ msgid "Cannot connect to Netbeans #2" -#~ msgstr "Netbeans #2 ¤ËÀܳ¤Ç¤¤Þ¤»¤ó" +msgid "E170: Missing :endwhile" +msgstr "E170: :endwhile ¤¬¤¢¤ê¤Þ¤»¤ó" -#~ msgid "Cannot connect to Netbeans" -#~ msgstr "Netbeans ¤ËÀܳ¤Ç¤¤Þ¤»¤ó" +msgid "E170: Missing :endfor" +msgstr "E170: :endfor ¤¬¤¢¤ê¤Þ¤»¤ó" -#~ msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\"" -#~ msgstr "" -#~ "E668: NetBeans¤ÎÀܳ¾ðÊó¥Õ¥¡¥¤¥ë¤Î¥¢¥¯¥»¥¹¥â¡¼¥É¤ËÌäÂ꤬¤¢¤ê¤Þ¤¹: \"%s\"" +msgid "E588: :endwhile without :while" +msgstr "E588: :while ¤Î¤Ê¤¤ :endwhile ¤¬¤¢¤ê¤Þ¤¹" -#~ msgid "read from Netbeans socket" -#~ msgstr "Netbeans ¤Î¥½¥±¥Ã¥È¤òÆÉ¹þ¤ß" +msgid "E588: :endfor without :for" +msgstr "E588: :endfor ¤Î¤Ê¤¤ :for ¤¬¤¢¤ê¤Þ¤¹" -#~ msgid "E658: NetBeans connection lost for buffer %<PRId64>" -#~ msgstr "E658: ¥Ð¥Ã¥Õ¥¡ %<PRId64> ¤Î NetBeans Àܳ¤¬¼º¤ï¤ì¤Þ¤·¤¿" +msgid "E13: File exists (add ! to override)" +msgstr "E13: ¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Þ¤¹ (! ¤òÄɲäǾå½ñ)" -#~ msgid "E838: netbeans is not supported with this GUI" -#~ msgstr "E838: NetBeans¤Ï¤³¤ÎGUI¤Ë¤ÏÂбþ¤·¤Æ¤¤¤Þ¤»¤ó" +msgid "E472: Command failed" +msgstr "E472: ¥³¥Þ¥ó¥É¤¬¼ºÇÔ¤·¤Þ¤·¤¿" -#~ msgid "E511: netbeans already connected" -#~ msgstr "E511: NetBeans¤Ï´û¤ËÀܳ¤·¤Æ¤¤¤Þ¤¹" +#, c-format +msgid "E234: Unknown fontset: %s" +msgstr "E234: ̤ÃΤΥե©¥ó¥È¥»¥Ã¥È: %s" -#~ msgid "E505: %s is read-only (add ! to override)" -#~ msgstr "E505: %s ¤ÏÆÉ¹þÀìÍѤǤ¹ (¶¯À©½ñ¹þ¤Ë¤Ï ! ¤òÄɲÃ)" +#, c-format +msgid "E235: Unknown font: %s" +msgstr "E235: ̤ÃΤΥե©¥ó¥È: %s" -#~ msgid "E775: Eval feature not available" -#~ msgstr "E775: ¼°É¾²Áµ¡Ç½¤¬Ìµ¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹" +#, c-format +msgid "E236: Font \"%s\" is not fixed-width" +msgstr "E236: ¥Õ¥©¥ó¥È \"%s\" ¤Ï¸ÇÄêÉý¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó" -#~ msgid "freeing %<PRId64> lines" -#~ msgstr "%<PRId64> ¹Ô¤ò²òÊüÃæ" +msgid "E473: Internal error" +msgstr "E473: ÆâÉô¥¨¥é¡¼¤Ç¤¹" -#~ msgid "E530: Cannot change term in GUI" -#~ msgstr "E530: GUI¤Ç¤Ï 'term' ¤òÊѹ¹¤Ç¤¤Þ¤»¤ó" +msgid "Interrupted" +msgstr "³ä¹þ¤Þ¤ì¤Þ¤·¤¿" -#~ msgid "E531: Use \":gui\" to start the GUI" -#~ msgstr "E531: GUI¤ò¥¹¥¿¡¼¥È¤¹¤ë¤Ë¤Ï \":gui\" ¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤" +msgid "E14: Invalid address" +msgstr "E14: ̵¸ú¤Ê¥¢¥É¥ì¥¹¤Ç¤¹" -#~ msgid "E617: Cannot be changed in the GTK+ 2 GUI" -#~ msgstr "E617: GTK+2 GUI¤Ç¤ÏÊѹ¹¤Ç¤¤Þ¤»¤ó" +msgid "E474: Invalid argument" +msgstr "E474: ̵¸ú¤Ê°ú¿ô¤Ç¤¹" -#~ msgid "E596: Invalid font(s)" -#~ msgstr "E596: ̵¸ú¤Ê¥Õ¥©¥ó¥È¤Ç¤¹" +#, c-format +msgid "E475: Invalid argument: %s" +msgstr "E475: ̵¸ú¤Ê°ú¿ô¤Ç¤¹: %s" -#~ msgid "E597: can't select fontset" -#~ msgstr "E597: ¥Õ¥©¥ó¥È¥»¥Ã¥È¤òÁªÂò¤Ç¤¤Þ¤»¤ó" +#, c-format +msgid "E15: Invalid expression: %s" +msgstr "E15: ̵¸ú¤Ê¼°¤Ç¤¹: %s" -#~ msgid "E598: Invalid fontset" -#~ msgstr "E598: ̵¸ú¤Ê¥Õ¥©¥ó¥È¥»¥Ã¥È¤Ç¤¹" +msgid "E16: Invalid range" +msgstr "E16: ̵¸ú¤ÊÈϰϤǤ¹" -#~ msgid "E533: can't select wide font" -#~ msgstr "E533: ¥ï¥¤¥É¥Õ¥©¥ó¥È¤òÁªÂò¤Ç¤¤Þ¤»¤ó" +msgid "E476: Invalid command" +msgstr "E476: ̵¸ú¤Ê¥³¥Þ¥ó¥É¤Ç¤¹" -#~ msgid "E534: Invalid wide font" -#~ msgstr "E534: ̵¸ú¤Ê¥ï¥¤¥É¥Õ¥©¥ó¥È¤Ç¤¹" +#, c-format +msgid "E17: \"%s\" is a directory" +msgstr "E17: \"%s\" ¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹" -#~ msgid "E538: No mouse support" -#~ msgstr "E538: ¥Þ¥¦¥¹¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó" +#, c-format +msgid "E364: Library call failed for \"%s()\"" +msgstr "E364: \"%s\"() ¤Î¥é¥¤¥Ö¥é¥ê¸Æ½Ð¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" -#~ msgid "cannot open " -#~ msgstr "³«¤±¤Þ¤»¤ó " +#, c-format +msgid "E448: Could not load library function %s" +msgstr "E448: ¥é¥¤¥Ö¥é¥ê¤Î´Ø¿ô %s ¤ò¥í¡¼¥É¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿" -#~ msgid "VIM: Can't open window!\n" -#~ msgstr "VIM: ¥¦¥£¥ó¥É¥¦¤ò³«¤±¤Þ¤»¤ó!\n" +msgid "E19: Mark has invalid line number" +msgstr "E19: ¥Þ¡¼¥¯¤Ë̵¸ú¤Ê¹ÔÈֹ椬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤·¤¿" -#~ msgid "Need Amigados version 2.04 or later\n" -#~ msgstr "Amigados¤Î¥Ð¡¼¥¸¥ç¥ó 2.04¤«¤½¤ì°Ê¹ß¤¬É¬ÍפǤ¹\n" +msgid "E20: Mark not set" +msgstr "E20: ¥Þ¡¼¥¯¤ÏÀßÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó" -#~ msgid "Need %s version %<PRId64>\n" -#~ msgstr "%s ¤Î¥Ð¡¼¥¸¥ç¥ó %<PRId64> ¤¬É¬ÍפǤ¹\n" +msgid "E21: Cannot make changes, 'modifiable' is off" +msgstr "E21: 'modifiable' ¤¬¥ª¥Õ¤Ê¤Î¤Ç, Êѹ¹¤Ç¤¤Þ¤»¤ó" -#~ msgid "Cannot open NIL:\n" -#~ msgstr "NIL¤ò³«¤±¤Þ¤»¤ó:\n" +msgid "E22: Scripts nested too deep" +msgstr "E22: ¥¹¥¯¥ê¥×¥È¤ÎÆþ¤ì»Ò¤¬¿¼²á¤®¤Þ¤¹" -#~ msgid "Cannot create " -#~ msgstr "ºîÀ®¤Ç¤¤Þ¤»¤ó " +msgid "E23: No alternate file" +msgstr "E23: Éû¥Õ¥¡¥¤¥ë¤Ï¤¢¤ê¤Þ¤»¤ó" -#~ msgid "Vim exiting with %d\n" -#~ msgstr "Vim¤Ï %d ¤Ç½ªÎ»¤·¤Þ¤¹\n" +msgid "E24: No such abbreviation" +msgstr "E24: ¤½¤Î¤è¤¦¤Êû½ÌÆþÎϤϤ¢¤ê¤Þ¤»¤ó" -#~ msgid "cannot change console mode ?!\n" -#~ msgstr "¥³¥ó¥½¡¼¥ë¥â¡¼¥É¤òÊѹ¹¤Ç¤¤Þ¤»¤ó?!\n" +msgid "E477: No ! allowed" +msgstr "E477: ! ¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" -#~ msgid "mch_get_shellsize: not a console??\n" -#~ msgstr "mch_get_shellsize: ¥³¥ó¥½¡¼¥ë¤Ç¤Ï¤Ê¤¤??\n" +msgid "E25: GUI cannot be used: Not enabled at compile time" +msgstr "E25: GUI¤Ï»ÈÍÑÉÔ²Äǽ¤Ç¤¹: ¥³¥ó¥Ñ¥¤¥ë»þ¤Ë̵¸ú¤Ë¤µ¤ì¤Æ¤¤¤Þ¤¹" -#~ msgid "E360: Cannot execute shell with -f option" -#~ msgstr "E360: -f ¥ª¥×¥·¥ç¥ó¤Ç¥·¥§¥ë¤ò¼Â¹Ô¤Ç¤¤Þ¤»¤ó" +msgid "E26: Hebrew cannot be used: Not enabled at compile time\n" +msgstr "E26: ¥Ø¥Ö¥é¥¤¸ì¤Ï»ÈÍÑÉÔ²Äǽ¤Ç¤¹: ¥³¥ó¥Ñ¥¤¥ë»þ¤Ë̵¸ú¤Ë¤µ¤ì¤Æ¤¤¤Þ¤¹\n" -#~ msgid "Cannot execute " -#~ msgstr "¼Â¹Ô¤Ç¤¤Þ¤»¤ó " +msgid "E27: Farsi cannot be used: Not enabled at compile time\n" +msgstr "E27: ¥Ú¥ë¥·¥¢¸ì¤Ï»ÈÍÑÉÔ²Äǽ¤Ç¤¹: ¥³¥ó¥Ñ¥¤¥ë»þ¤Ë̵¸ú¤Ë¤µ¤ì¤Æ¤¤¤Þ¤¹\n" -#~ msgid "shell " -#~ msgstr "¥·¥§¥ë " +msgid "E800: Arabic cannot be used: Not enabled at compile time\n" +msgstr "E800: ¥¢¥é¥Ó¥¢¸ì¤Ï»ÈÍÑÉÔ²Äǽ¤Ç¤¹: ¥³¥ó¥Ñ¥¤¥ë»þ¤Ë̵¸ú¤Ë¤µ¤ì¤Æ¤¤¤Þ¤¹\n" -#~ msgid " returned\n" -#~ msgstr " Ìá¤ê¤Þ¤·¤¿\n" +#, c-format +msgid "E28: No such highlight group name: %s" +msgstr "E28: ¤½¤Î¤è¤¦¤Ê̾¤Î¥Ï¥¤¥é¥¤¥È¥°¥ë¡¼¥×¤Ï¤¢¤ê¤Þ¤»¤ó: %s" -#~ msgid "ANCHOR_BUF_SIZE too small." -#~ msgstr "ANCHOR_BUF_SIZE ¤¬¾®¤µ²á¤®¤Þ¤¹." +msgid "E29: No inserted text yet" +msgstr "E29: ¤Þ¤À¥Æ¥¥¹¥È¤¬ÁÞÆþ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" -#~ msgid "I/O ERROR" -#~ msgstr "Æþ½ÐÎÏ¥¨¥é¡¼" +msgid "E30: No previous command line" +msgstr "E30: °ÊÁ°¤Ë¥³¥Þ¥ó¥É¹Ô¤¬¤¢¤ê¤Þ¤»¤ó" -#~ msgid "Message" -#~ msgstr "¥á¥Ã¥»¡¼¥¸" +msgid "E31: No such mapping" +msgstr "E31: ¤½¤Î¤è¤¦¤Ê¥Þ¥Ã¥Ô¥ó¥°¤Ï¤¢¤ê¤Þ¤»¤ó" -#~ msgid "'columns' is not 80, cannot execute external commands" -#~ msgstr "'columns' ¤¬80¤Ç¤Ï¤Ê¤¤¤¿¤á, ³°Éô¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤Ç¤¤Þ¤»¤ó" +msgid "E479: No match" +msgstr "E479: ³ºÅö¤Ï¤¢¤ê¤Þ¤»¤ó" -#~ msgid "E237: Printer selection failed" -#~ msgstr "E237: ¥×¥ê¥ó¥¿¤ÎÁªÂò¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" +#, c-format +msgid "E480: No match: %s" +msgstr "E480: ³ºÅö¤Ï¤¢¤ê¤Þ¤»¤ó: %s" -#~ msgid "to %s on %s" -#~ msgstr "%s ¤Ø (%s ¾å¤Î)" +msgid "E32: No file name" +msgstr "E32: ¥Õ¥¡¥¤¥ë̾¤¬¤¢¤ê¤Þ¤»¤ó" -#~ msgid "E613: Unknown printer font: %s" -#~ msgstr "E613: ̤ÃΤΥץê¥ó¥¿¥ª¥×¥·¥ç¥ó¤Ç¤¹: %s" +msgid "E33: No previous substitute regular expression" +msgstr "E33: Àµµ¬É½¸½ÃÖ´¹¤¬¤Þ¤À¼Â¹Ô¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" -#~ msgid "E238: Print error: %s" -#~ msgstr "E238: °õºþ¥¨¥é¡¼: %s" +msgid "E34: No previous command" +msgstr "E34: ¥³¥Þ¥ó¥É¤¬¤Þ¤À¼Â¹Ô¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" -#~ msgid "Printing '%s'" -#~ msgstr "°õºþ¤·¤Æ¤¤¤Þ¤¹: '%s'" +msgid "E35: No previous regular expression" +msgstr "E35: Àµµ¬É½¸½¤¬¤Þ¤À¼Â¹Ô¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" -#~ msgid "E244: Illegal charset name \"%s\" in font name \"%s\"" -#~ msgstr "E244: ʸ»ú¥»¥Ã¥È̾ \"%s\" ¤ÏÉÔÀµ¤Ç¤¹ (¥Õ¥©¥ó¥È̾ \"%s\")" +msgid "E481: No range allowed" +msgstr "E481: ÈϰϻØÄê¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" -#~ msgid "E245: Illegal char '%c' in font name \"%s\"" -#~ msgstr "E245: '%c' ¤ÏÉÔÀµ¤Êʸ»ú¤Ç¤¹ (¥Õ¥©¥ó¥È̾ \"%s\")" +msgid "E36: Not enough room" +msgstr "E36: ¥¦¥£¥ó¥É¥¦¤Ë½½Ê¬¤Ê¹â¤µ¤â¤·¤¯¤ÏÉý¤¬¤¢¤ê¤Þ¤»¤ó" -#~ msgid "Vim: Double signal, exiting\n" -#~ msgstr "Vim: 2½Å¤Î¥·¥°¥Ê¥ë¤Î¤¿¤á, ½ªÎ»¤·¤Þ¤¹\n" +#, c-format +msgid "E247: no registered server named \"%s\"" +msgstr "E247: %s ¤È¤¤¤¦Ì¾Á°¤ÎÅÐÏ¿¤µ¤ì¤¿¥µ¡¼¥Ð¡¼¤Ï¤¢¤ê¤Þ¤»¤ó" -#~ msgid "Vim: Caught deadly signal %s\n" -#~ msgstr "Vim: Ã×̿Ū¥·¥°¥Ê¥ë %s ¤ò¸¡ÃΤ·¤Þ¤·¤¿\n" +#, c-format +msgid "E482: Can't create file %s" +msgstr "E482: ¥Õ¥¡¥¤¥ë %s ¤òºîÀ®¤Ç¤¤Þ¤»¤ó" -#~ msgid "Vim: Caught deadly signal\n" -#~ msgstr "Vim: Ã×̿Ū¥·¥°¥Ê¥ë¤ò¸¡ÃΤ·¤Þ¤·¤¿\n" +msgid "E483: Can't get temp file name" +msgstr "E483: °ì»þ¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò¼èÆÀ¤Ç¤¤Þ¤»¤ó" -#~ msgid "Opening the X display took %<PRId64> msec" -#~ msgstr "X¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤Ë %<PRId64> ¥ß¥êÉ䫤«¤ê¤Þ¤·¤¿" +#, c-format +msgid "E484: Can't open file %s" +msgstr "E484: ¥Õ¥¡¥¤¥ë \"%s\" ¤ò³«¤±¤Þ¤»¤ó" -#~ msgid "" -#~ "\n" -#~ "Vim: Got X error\n" -#~ msgstr "" -#~ "\n" -#~ "Vim: X ¤Î¥¨¥é¡¼¤ò¸¡½Ð¤·¤Þ¤·¤¿r\n" +#, c-format +msgid "E485: Can't read file %s" +msgstr "E485: ¥Õ¥¡¥¤¥ë %s ¤òÆÉ¹þ¤á¤Þ¤»¤ó" -#~ msgid "Testing the X display failed" -#~ msgstr "X display ¤Î¥Á¥§¥Ã¥¯¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" +msgid "E37: No write since last change (add ! to override)" +msgstr "E37: ºÇ¸å¤ÎÊѹ¹¤¬Êݸ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó (! ¤òÄɲäÇÊѹ¹¤òÇË´þ)" -#~ msgid "Opening the X display timed out" -#~ msgstr "X display ¤Î open ¤¬¥¿¥¤¥à¥¢¥¦¥È¤·¤Þ¤·¤¿" +msgid "E37: No write since last change" +msgstr "E37: ºÇ¸å¤ÎÊѹ¹¤¬Êݸ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" -#~ msgid "" -#~ "\n" -#~ "Cannot execute shell sh\n" -#~ msgstr "" -#~ "\n" -#~ "sh ¥·¥§¥ë¤ò¼Â¹Ô¤Ç¤¤Þ¤»¤ó\n" +msgid "E38: Null argument" +msgstr "E38: °ú¿ô¤¬¶õ¤Ç¤¹" -#~ msgid "" -#~ "\n" -#~ "Cannot create pipes\n" -#~ msgstr "" -#~ "\n" -#~ "¥Ñ¥¤¥×¤òºîÀ®¤Ç¤¤Þ¤»¤ó\n" +msgid "E39: Number expected" +msgstr "E39: ¿ôÃͤ¬Í׵ᤵ¤ì¤Æ¤¤¤Þ¤¹" -#~ msgid "" -#~ "\n" -#~ "Cannot fork\n" -#~ msgstr "" -#~ "\n" -#~ "fork ¤Ç¤¤Þ¤»¤ó\n" +#, c-format +msgid "E40: Can't open errorfile %s" +msgstr "E40: ¥¨¥é¡¼¥Õ¥¡¥¤¥ë %s ¤ò³«¤±¤Þ¤»¤ó" -#~ msgid "" -#~ "\n" -#~ "Command terminated\n" -#~ msgstr "" -#~ "\n" -#~ "¥³¥Þ¥ó¥É¤òÃæÃǤ·¤Þ¤·¤¿\n" +msgid "E233: cannot open display" +msgstr "E233: ¥Ç¥£¥¹¥×¥ì¥¤¤ò³«¤±¤Þ¤»¤ó" -#~ msgid "XSMP lost ICE connection" -#~ msgstr "XSMP ¤¬ICEÀܳ¤ò¼º¤¤¤Þ¤·¤¿" +msgid "E41: Out of memory!" +msgstr "E41: ¥á¥â¥ê¤¬¿Ô¤²Ì¤Æ¤Þ¤·¤¿!" -#~ msgid "Opening the X display failed" -#~ msgstr "X display ¤Î open ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" +msgid "Pattern not found" +msgstr "¥Ñ¥¿¡¼¥ó¤Ï¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿" -#~ msgid "XSMP handling save-yourself request" -#~ msgstr "XSMP ¤¬save-yourselfÍ×µá¤ò½èÍý¤·¤Æ¤¤¤Þ¤¹" +#, c-format +msgid "E486: Pattern not found: %s" +msgstr "E486: ¥Ñ¥¿¡¼¥ó¤Ï¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿: %s" -#~ msgid "XSMP opening connection" -#~ msgstr "XSMP ¤¬Àܳ¤ò³«»Ï¤·¤Æ¤¤¤Þ¤¹" +msgid "E487: Argument must be positive" +msgstr "E487: °ú¿ô¤ÏÀµ¤ÎÃͤǤʤ±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó" -#~ msgid "XSMP ICE connection watch failed" -#~ msgstr "XSMP ICEÀܳ¤¬¼ºÇÔ¤·¤¿¤è¤¦¤Ç¤¹" +msgid "E459: Cannot go back to previous directory" +msgstr "E459: Á°¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÌá¤ì¤Þ¤»¤ó" -#~ msgid "XSMP SmcOpenConnection failed: %s" -#~ msgstr "XSMP SmcOpenConnection¤¬¼ºÇÔ¤·¤Þ¤·¤¿: %s" +msgid "E42: No Errors" +msgstr "E42: ¥¨¥é¡¼¤Ï¤¢¤ê¤Þ¤»¤ó" -#~ msgid "At line" -#~ msgstr "¹Ô" +msgid "E776: No location list" +msgstr "E776: ¥í¥±¡¼¥·¥ç¥ó¥ê¥¹¥È¤Ï¤¢¤ê¤Þ¤»¤ó" -#~ msgid "Could not load vim32.dll!" -#~ msgstr "vim32.dll ¤ò¥í¡¼¥É¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿" +msgid "E43: Damaged match string" +msgstr "E43: ³ºÅöʸ»úÎó¤¬ÇË»¤·¤Æ¤¤¤Þ¤¹" -#~ msgid "VIM Error" -#~ msgstr "VIM¥¨¥é¡¼" +msgid "E44: Corrupted regexp program" +msgstr "E44: ÉÔÀµ¤ÊÀµµ¬É½¸½¥×¥í¥°¥é¥à¤Ç¤¹" -#~ msgid "Could not fix up function pointers to the DLL!" -#~ msgstr "DLL¤«¤é´Ø¿ô¥Ý¥¤¥ó¥¿¤ò¼èÆÀ¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿" +msgid "E45: 'readonly' option is set (add ! to override)" +msgstr "E45: 'readonly' ¥ª¥×¥·¥ç¥ó¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹ (! ¤òÄɲäǾå½ñ¤)" -#~ msgid "shell returned %d" -#~ msgstr "¥·¥§¥ë¤¬¥³¡¼¥É %d ¤Ç½ªÎ»¤·¤Þ¤·¤¿" +#, c-format +msgid "E46: Cannot change read-only variable \"%s\"" +msgstr "E46: ÆÉ¼èÀìÍÑÊÑ¿ô \"%s\" ¤Ë¤ÏÃͤòÀßÄê¤Ç¤¤Þ¤»¤ó" -#~ msgid "Vim: Caught %s event\n" -#~ msgstr "Vim: ¥¤¥Ù¥ó¥È %s ¤ò¸¡ÃÎ\n" +#, c-format +msgid "E794: Cannot set variable in the sandbox: \"%s\"" +msgstr "E794: ¥µ¥ó¥É¥Ü¥Ã¥¯¥¹¤Ç¤ÏÊÑ¿ô \"%s\" ¤ËÃͤòÀßÄê¤Ç¤¤Þ¤»¤ó" -#~ msgid "close" -#~ msgstr "ÊĤ¸¤ë" +msgid "E713: Cannot use empty key for Dictionary" +msgstr "E713: ¼½ñ·¿¤Ë¶õ¤Î¥¡¼¤ò»È¤¦¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó" -#~ msgid "logoff" -#~ msgstr "¥í¥°¥ª¥Õ" +msgid "E715: Dictionary required" +msgstr "E715: ¼½ñ·¿¤¬É¬ÍפǤ¹" -#~ msgid "shutdown" -#~ msgstr "¥·¥ã¥Ã¥È¥À¥¦¥ó" +#, c-format +msgid "E684: list index out of range: %ld" +msgstr "E684: ¥ê¥¹¥È¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬Èϰϳ°¤Ç¤¹: %ld" -#~ msgid "E371: Command not found" -#~ msgstr "E371: ¥³¥Þ¥ó¥É¤¬¤¢¤ê¤Þ¤»¤ó" - -#~ msgid "" -#~ "VIMRUN.EXE not found in your $PATH.\n" -#~ "External commands will not pause after completion.\n" -#~ "See :help win32-vimrun for more information." -#~ msgstr "" -#~ "VIMRUN.EXE¤¬ $PATH ¤ÎÃæ¤Ë¸«¤Ä¤«¤ê¤Þ¤»¤ó.\n" -#~ "³°Éô¥³¥Þ¥ó¥É¤Î½ªÎ»¸å¤Ë°ì»þÄä»ß¤ò¤·¤Þ¤»¤ó.\n" -#~ "¾ÜºÙ¤Ï :help win32-vimrun ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤." - -#~ msgid "Vim Warning" -#~ msgstr "Vim¤Î·Ù¹ð" - -#~ msgid "Error file" -#~ msgstr "¥¨¥é¡¼¥Õ¥¡¥¤¥ë" - -#~ msgid "E868: Error building NFA with equivalence class!" -#~ msgstr "E868: Åù²Á¥¯¥é¥¹¤ò´Þ¤àNFA¹½Ãۤ˼ºÇÔ¤·¤Þ¤·¤¿!" - -#~ msgid "E878: (NFA) Could not allocate memory for branch traversal!" -#~ msgstr "E878: (NFA) ¸½ºß²£ÃÇÃæ¤Î¥Ö¥é¥ó¥Á¤Ë½½Ê¬¤Ê¥á¥â¥ê¤ò³ä¤êÅö¤Æ¤é¤ì¤Þ¤»¤ó!" - -#~ msgid "Warning: Cannot find word list \"%s_%s.spl\" or \"%s_ascii.spl\"" -#~ msgstr "" -#~ "·Ù¹ð: ñ¸ì¥ê¥¹¥È \"%s_%s.spl\" ¤ª¤è¤Ó \"%s_ascii.spl\" ¤Ï¸«¤Ä¤«¤ê¤Þ¤»¤ó" - -#~ msgid "Conversion in %s not supported" -#~ msgstr "%s Æâ¤ÎÊÑ´¹¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" - -#~ msgid "E845: Insufficient memory, word list will be incomplete" -#~ msgstr "E845: ¥á¥â¥ê¤¬Â¤ê¤Ê¤¤¤Î¤Ç¡¢Ã±¸ì¥ê¥¹¥È¤ÏÉÔ´°Á´¤Ç¤¹" - -#~ msgid "E430: Tag file path truncated for %s\n" -#~ msgstr "E430: ¥¿¥°¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤¬ %s ¤ËÀÚ¤ê¼Î¤Æ¤é¤ì¤Þ¤·¤¿\n" - -#~ msgid "new shell started\n" -#~ msgstr "¿·¤·¤¤¥·¥§¥ë¤òµ¯Æ°¤·¤Þ¤¹\n" - -#~ msgid "Used CUT_BUFFER0 instead of empty selection" -#~ msgstr "¶õ¤ÎÁªÂòÎΰè¤Î¤«¤ï¤ê¤ËCUT_BUFFER0¤¬»ÈÍѤµ¤ì¤Þ¤·¤¿" - -#~ msgid "No undo possible; continue anyway" -#~ msgstr "²Äǽ¤Ê¥¢¥ó¥É¥¥¤Ï¤¢¤ê¤Þ¤»¤ó: ¤È¤ê¤¢¤¨¤ºÂ³¤±¤Þ¤¹" - -#~ msgid "E832: Non-encrypted file has encrypted undo file: %s" -#~ msgstr "" -#~ "E832: Èó°Å¹æ²½¥Õ¥¡¥¤¥ë¤¬°Å¹æ²½¤µ¤ì¤¿¥¢¥ó¥É¥¥¥Õ¥¡¥¤¥ë¤ò»È¤Ã¤Æ¤Þ¤¹: %s" - -#~ msgid "E826: Undo file decryption failed: %s" -#~ msgstr "E826: °Å¹æ²½¤µ¤ì¤¿¥¢¥ó¥É¥¥¥Õ¥¡¥¤¥ë¤Î²òÆÉ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: %s" - -#~ msgid "E827: Undo file is encrypted: %s" -#~ msgstr "E827: ¥¢¥ó¥É¥¥¥Õ¥¡¥¤¥ë¤¬°Å¹æ²½¤µ¤ì¤Æ¤¤¤Þ¤¹: %s" - -#~ msgid "" -#~ "\n" -#~ "MS-Windows 16/32-bit GUI version" -#~ msgstr "" -#~ "\n" -#~ "MS-Windows 16/32 ¥Ó¥Ã¥È GUI ÈÇ" - -#~ msgid "" -#~ "\n" -#~ "MS-Windows 64-bit GUI version" -#~ msgstr "" -#~ "\n" -#~ "MS-Windows 64 ¥Ó¥Ã¥È GUI ÈÇ" - -#~ msgid "" -#~ "\n" -#~ "MS-Windows 32-bit GUI version" -#~ msgstr "" -#~ "\n" -#~ "MS-Windows 32 ¥Ó¥Ã¥È GUI ÈÇ" - -#~ msgid " in Win32s mode" -#~ msgstr " in Win32s ¥â¡¼¥É" - -#~ msgid " with OLE support" -#~ msgstr " with OLE ¥µ¥Ý¡¼¥È" - -#~ msgid "" -#~ "\n" -#~ "MS-Windows 64-bit console version" -#~ msgstr "" -#~ "\n" -#~ "MS-Windows 64 ¥Ó¥Ã¥È ¥³¥ó¥½¡¼¥ë ÈÇ" - -#~ msgid "" -#~ "\n" -#~ "MS-Windows 32-bit console version" -#~ msgstr "" -#~ "\n" -#~ "MS-Windows 32 ¥Ó¥Ã¥È ¥³¥ó¥½¡¼¥ë ÈÇ" - -#~ msgid "" -#~ "\n" -#~ "MS-Windows 16-bit version" -#~ msgstr "" -#~ "\n" -#~ "MS-Windows 16 ¥Ó¥Ã¥È ÈÇ" - -#~ msgid "" -#~ "\n" -#~ "32-bit MS-DOS version" -#~ msgstr "" -#~ "\n" -#~ "32 ¥Ó¥Ã¥È MS-DOS ÈÇ" - -#~ msgid "" -#~ "\n" -#~ "16-bit MS-DOS version" -#~ msgstr "" -#~ "\n" -#~ "16 ¥Ó¥Ã¥È MS-DOS ÈÇ" - -#~ msgid "" -#~ "\n" -#~ "MacOS X (unix) version" -#~ msgstr "" -#~ "\n" -#~ "MacOS X (unix) ÈÇ" - -#~ msgid "" -#~ "\n" -#~ "MacOS X version" -#~ msgstr "" -#~ "\n" -#~ "MacOS X ÈÇ" - -#~ msgid "" -#~ "\n" -#~ "MacOS version" -#~ msgstr "" -#~ "\n" -#~ "MacOS ÈÇ" - -#~ msgid "" -#~ "\n" -#~ "OpenVMS version" -#~ msgstr "" -#~ "\n" -#~ "OpenVMS ÈÇ" - -#~ msgid "" -#~ "\n" -#~ "Big version " -#~ msgstr "" -#~ "\n" -#~ "Big ÈÇ " - -#~ msgid "" -#~ "\n" -#~ "Normal version " -#~ msgstr "" -#~ "\n" -#~ "Ä̾ï ÈÇ " - -#~ msgid "" -#~ "\n" -#~ "Small version " -#~ msgstr "" -#~ "\n" -#~ "Small ÈÇ " - -#~ msgid "" -#~ "\n" -#~ "Tiny version " -#~ msgstr "" -#~ "\n" -#~ "Tiny ÈÇ " - -#~ msgid "with GTK2-GNOME GUI." -#~ msgstr "with GTK2-GNOME GUI." +#, c-format +msgid "E118: Too many arguments for function: %s" +msgstr "E118: ´Ø¿ô¤Î°ú¿ô¤¬Â¿²á¤®¤Þ¤¹: %s" -#~ msgid "with GTK2 GUI." -#~ msgstr "with GTK2 GUI." +#, c-format +msgid "E716: Key not present in Dictionary: %s" +msgstr "E716: ¼½ñ·¿¤Ë¥¡¼¤¬Â¸ºß¤·¤Þ¤»¤ó: %s" -#~ msgid "with X11-Motif GUI." -#~ msgstr "with X11-Motif GUI." +msgid "E714: List required" +msgstr "E714: ¥ê¥¹¥È·¿¤¬É¬ÍפǤ¹" -#~ msgid "with X11-neXtaw GUI." -#~ msgstr "with X11-neXtaw GUI." +#, c-format +msgid "E712: Argument of %s must be a List or Dictionary" +msgstr "E712: %s ¤Î°ú¿ô¤Ï¥ê¥¹¥È·¿¤Þ¤¿¤Ï¼½ñ·¿¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó" -#~ msgid "with X11-Athena GUI." -#~ msgstr "with X11-Athena GUI." +msgid "E47: Error while reading errorfile" +msgstr "E47: ¥¨¥é¡¼¥Õ¥¡¥¤¥ë¤ÎÆÉ¹þÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿" -#~ msgid "with Photon GUI." -#~ msgstr "with Photon GUI." +msgid "E48: Not allowed in sandbox" +msgstr "E48: ¥µ¥ó¥É¥Ü¥Ã¥¯¥¹¤Ç¤Ïµö¤µ¤ì¤Þ¤»¤ó" -#~ msgid "with GUI." -#~ msgstr "with GUI." +msgid "E523: Not allowed here" +msgstr "E523: ¤³¤³¤Ç¤Ïµö²Ä¤µ¤ì¤Þ¤»¤ó" -#~ msgid "with Carbon GUI." -#~ msgstr "with Carbon GUI." +msgid "E359: Screen mode setting not supported" +msgstr "E359: ¥¹¥¯¥ê¡¼¥ó¥â¡¼¥É¤ÎÀßÄê¤Ë¤ÏÂбþ¤·¤Æ¤¤¤Þ¤»¤ó" -#~ msgid "with Cocoa GUI." -#~ msgstr "with Cocoa GUI." +msgid "E49: Invalid scroll size" +msgstr "E49: ̵¸ú¤Ê¥¹¥¯¥í¡¼¥ëÎ̤Ǥ¹" -#~ msgid "with (classic) GUI." -#~ msgstr "with (¥¯¥é¥·¥Ã¥¯) GUI." +msgid "E91: 'shell' option is empty" +msgstr "E91: 'shell' ¥ª¥×¥·¥ç¥ó¤¬¶õ¤Ç¤¹" -#~ msgid " system gvimrc file: \"" -#~ msgstr " ¥·¥¹¥Æ¥à gvimrc: \"" +msgid "E255: Couldn't read in sign data!" +msgstr "E255: sign ¤Î¥Ç¡¼¥¿¤òÆÉ¹þ¤á¤Þ¤»¤ó¤Ç¤·¤¿" -#~ msgid " user gvimrc file: \"" -#~ msgstr " ¥æ¡¼¥¶ gvimrc: \"" +msgid "E72: Close error on swap file" +msgstr "E72: ¥¹¥ï¥Ã¥×¥Õ¥¡¥¤¥ë¤Î¥¯¥í¡¼¥º»þ¥¨¥é¡¼¤Ç¤¹" -#~ msgid "2nd user gvimrc file: \"" -#~ msgstr " Âè2¥æ¡¼¥¶ gvimrc: \"" +msgid "E73: tag stack empty" +msgstr "E73: ¥¿¥°¥¹¥¿¥Ã¥¯¤¬¶õ¤Ç¤¹" -#~ msgid "3rd user gvimrc file: \"" -#~ msgstr " Âè3¥æ¡¼¥¶ gvimrc: \"" +msgid "E74: Command too complex" +msgstr "E74: ¥³¥Þ¥ó¥É¤¬Ê£»¨²á¤®¤Þ¤¹" -#~ msgid " system menu file: \"" -#~ msgstr " ¥·¥¹¥Æ¥à¥á¥Ë¥å¡¼: \"" +msgid "E75: Name too long" +msgstr "E75: ̾Á°¤¬Ä¹²á¤®¤Þ¤¹" -#~ msgid "Compiler: " -#~ msgstr "¥³¥ó¥Ñ¥¤¥é: " +msgid "E76: Too many [" +msgstr "E76: [ ¤¬Â¿²á¤®¤Þ¤¹" -#~ msgid "menu Help->Orphans for information " -#~ msgstr "¾ÜºÙ¤Ï¥á¥Ë¥å¡¼¤Î ¥Ø¥ë¥×¢ª¸É»ù ¤ò»²¾È¤·¤Æ²¼¤µ¤¤ " +msgid "E77: Too many file names" +msgstr "E77: ¥Õ¥¡¥¤¥ë̾¤¬Â¿²á¤®¤Þ¤¹" -#~ msgid "Running modeless, typed text is inserted" -#~ msgstr "¥â¡¼¥É̵¤Ç¼Â¹ÔÃæ, ¥¿¥¤¥×¤·¤¿Ê¸»ú¤¬ÁÞÆþ¤µ¤ì¤Þ¤¹" +msgid "E488: Trailing characters" +msgstr "E488: ;ʬ¤Êʸ»ú¤¬¸å¤í¤Ë¤¢¤ê¤Þ¤¹" -#~ msgid "menu Edit->Global Settings->Toggle Insert Mode " -#~ msgstr "¥á¥Ë¥å¡¼¤Î ÊÔ½¸¢ªÁ´ÂÎÀßÄꢪÁÞÆþ(½é¿´¼Ô)¥â¡¼¥ÉÀÚÂØ " +msgid "E78: Unknown mark" +msgstr "E78: ̤ÃΤΥޡ¼¥¯" -#~ msgid " for two modes " -#~ msgstr " ¤Ç¥â¡¼¥ÉÍ¤Ë " +msgid "E79: Cannot expand wildcards" +msgstr "E79: ¥ï¥¤¥ë¥É¥«¡¼¥É¤òŸ³«¤Ç¤¤Þ¤»¤ó" -#~ msgid "menu Edit->Global Settings->Toggle Vi Compatible" -#~ msgstr "¥á¥Ë¥å¡¼¤Î ÊÔ½¸¢ªÁ´ÂÎÀßÄꢪVi¸ß´¹¥â¡¼¥ÉÀÚÂØ " +msgid "E591: 'winheight' cannot be smaller than 'winminheight'" +msgstr "E591: 'winheight' ¤Ï 'winminheight' ¤è¤ê¾®¤µ¤¯¤Ç¤¤Þ¤»¤ó" -#~ msgid " for Vim defaults " -#~ msgstr " ¤ÇVim¤È¤·¤ÆÆ°ºî " +msgid "E592: 'winwidth' cannot be smaller than 'winminwidth'" +msgstr "E592: 'winwidth' ¤Ï 'winminwidth' ¤è¤ê¾®¤µ¤¯¤Ç¤¤Þ¤»¤ó" -#~ msgid "WARNING: Windows 95/98/ME detected" -#~ msgstr " ·Ù¹ð: Windows 95/98/Me ¤ò¸¡½Ð " +msgid "E80: Error while writing" +msgstr "E80: ½ñ¹þ¤ßÃæ¤Î¥¨¥é¡¼" -#~ msgid "type :help windows95<Enter> for info on this" -#~ msgstr " ¾ÜºÙ¤Ê¾ðÊó¤Ï :help windows95<Enter> " +msgid "Zero count" +msgstr "¥¼¥í¥«¥¦¥ó¥È" -#~ msgid "Edit with &multiple Vims" -#~ msgstr "Ê£¿ô¤ÎVim¤ÇÊÔ½¸¤¹¤ë (&M)" +msgid "E81: Using <SID> not in a script context" +msgstr "E81: ¥¹¥¯¥ê¥×¥È°Ê³°¤Ç<SID>¤¬»È¤ï¤ì¤Þ¤·¤¿" -#~ msgid "Edit with single &Vim" -#~ msgstr "1¤Ä¤ÎVim¤ÇÊÔ½¸¤¹¤ë (&V)" +msgid "E449: Invalid expression received" +msgstr "E449: ̵¸ú¤Ê¼°¤ò¼õ¤±¼è¤ê¤Þ¤·¤¿" -#~ msgid "Diff with Vim" -#~ msgstr "Vim¤Çº¹Ê¬¤òɽ¼¨¤¹¤ë" +msgid "E463: Region is guarded, cannot modify" +msgstr "E463: Îΰ褬Êݸ¤ì¤Æ¤¤¤ë¤Î¤Ç, Êѹ¹¤Ç¤¤Þ¤»¤ó" -#~ msgid "Edit with &Vim" -#~ msgstr "Vim¤ÇÊÔ½¸¤¹¤ë (&V)" +msgid "E744: NetBeans does not allow changes in read-only files" +msgstr "E744: NetBeans ¤ÏÆÉ¹þÀìÍÑ¥Õ¥¡¥¤¥ë¤òÊѹ¹¤¹¤ë¤³¤È¤òµö¤·¤Þ¤»¤ó" -#~ msgid "Edit with existing Vim - " -#~ msgstr "µ¯Æ°ºÑ¤ÎVim¤ÇÊÔ½¸¤¹¤ë - " +#, c-format +msgid "E685: Internal error: %s" +msgstr "E685: ÆâÉô¥¨¥é¡¼¤Ç¤¹: %s" -#~ msgid "Edits the selected file(s) with Vim" -#~ msgstr "ÁªÂò¤·¤¿¥Õ¥¡¥¤¥ë¤òVim¤ÇÊÔ½¸¤¹¤ë" +msgid "E363: pattern uses more memory than 'maxmempattern'" +msgstr "E363: ¥Ñ¥¿¡¼¥ó¤¬ 'maxmempattern' °Ê¾å¤Î¥á¥â¥ê¤ò»ÈÍѤ·¤Þ¤¹" -#~ msgid "Error creating process: Check if gvim is in your path!" -#~ msgstr "¥×¥í¥»¥¹¤ÎºîÀ®¤Ë¼ºÇÔ: gvim¤¬´Ä¶ÊÑ¿ôPATH¾å¤Ë¤¢¤ë¤«³Îǧ¤·¤Æ¤¯¤À¤µ¤¤!" +msgid "E749: empty buffer" +msgstr "E749: ¥Ð¥Ã¥Õ¥¡¤¬¶õ¤Ç¤¹" -#~ msgid "gvimext.dll error" -#~ msgstr "gvimext.dll ¥¨¥é¡¼" +#, c-format +msgid "E86: Buffer %ld does not exist" +msgstr "E86: ¥Ð¥Ã¥Õ¥¡ %ld ¤Ï¤¢¤ê¤Þ¤»¤ó" -#~ msgid "Path length too long!" -#~ msgstr "¥Ñ¥¹¤¬Ä¹¤¹¤®¤Þ¤¹!" +msgid "E682: Invalid search pattern or delimiter" +msgstr "E682: ¸¡º÷¥Ñ¥¿¡¼¥ó¤«¶èÀڤ굹椬ÉÔÀµ¤Ç¤¹" -#~ msgid "E234: Unknown fontset: %s" -#~ msgstr "E234: ̤ÃΤΥե©¥ó¥È¥»¥Ã¥È: %s" +msgid "E139: File is loaded in another buffer" +msgstr "E139: Ʊ¤¸Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤¬Â¾¤Î¥Ð¥Ã¥Õ¥¡¤ÇÆÉ¹þ¤Þ¤ì¤Æ¤¤¤Þ¤¹" -#~ msgid "E235: Unknown font: %s" -#~ msgstr "E235: ̤ÃΤΥե©¥ó¥È: %s" +#, c-format +msgid "E764: Option '%s' is not set" +msgstr "E764: ¥ª¥×¥·¥ç¥ó '%s' ¤ÏÀßÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó" -#~ msgid "E236: Font \"%s\" is not fixed-width" -#~ msgstr "E236: ¥Õ¥©¥ó¥È \"%s\" ¤Ï¸ÇÄêÉý¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó" +msgid "E850: Invalid register name" +msgstr "E850: ̵¸ú¤Ê¥ì¥¸¥¹¥¿Ì¾¤Ç¤¹" -#~ msgid "E448: Could not load library function %s" -#~ msgstr "E448: ¥é¥¤¥Ö¥é¥ê¤Î´Ø¿ô %s ¤ò¥í¡¼¥É¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿" +#, c-format +msgid "E919: Directory not found in '%s': \"%s\"" +msgstr "E919: ¥Ç¥£¥ì¥¯¥È¥ê¤¬ '%s' ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó: \"%s\"" -#~ msgid "E26: Hebrew cannot be used: Not enabled at compile time\n" -#~ msgstr "E26: ¥Ø¥Ö¥é¥¤¸ì¤Ï»ÈÍÑÉÔ²Äǽ¤Ç¤¹: ¥³¥ó¥Ñ¥¤¥ë»þ¤Ë̵¸ú¤Ë¤µ¤ì¤Æ¤¤¤Þ¤¹\n" +msgid "search hit TOP, continuing at BOTTOM" +msgstr "¾å¤Þ¤Ç¸¡º÷¤·¤¿¤Î¤Ç²¼¤ËÌá¤ê¤Þ¤¹" -#~ msgid "E27: Farsi cannot be used: Not enabled at compile time\n" -#~ msgstr "E27: ¥Ú¥ë¥·¥¢¸ì¤Ï»ÈÍÑÉÔ²Äǽ¤Ç¤¹: ¥³¥ó¥Ñ¥¤¥ë»þ¤Ë̵¸ú¤Ë¤µ¤ì¤Æ¤¤¤Þ¤¹\n" +msgid "search hit BOTTOM, continuing at TOP" +msgstr "²¼¤Þ¤Ç¸¡º÷¤·¤¿¤Î¤Ç¾å¤ËÌá¤ê¤Þ¤¹" -#~ msgid "E800: Arabic cannot be used: Not enabled at compile time\n" -#~ msgstr "" -#~ "E800: ¥¢¥é¥Ó¥¢¸ì¤Ï»ÈÍÑÉÔ²Äǽ¤Ç¤¹: ¥³¥ó¥Ñ¥¤¥ë»þ¤Ë̵¸ú¤Ë¤µ¤ì¤Æ¤¤¤Þ¤¹\n" +#, c-format +msgid "Need encryption key for \"%s\"" +msgstr "°Å¹æ¥¡¼¤¬É¬ÍפǤ¹: \"%s\"" -#~ msgid "E247: no registered server named \"%s\"" -#~ msgstr "E247: %s ¤È¤¤¤¦Ì¾Á°¤ÎÅÐÏ¿¤µ¤ì¤¿¥µ¡¼¥Ð¤Ï¤¢¤ê¤Þ¤»¤ó" +msgid "empty keys are not allowed" +msgstr "¶õ¤Î¥¡¼¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" -#~ msgid "E233: cannot open display" -#~ msgstr "E233: ¥Ç¥£¥¹¥×¥ì¥¤¤ò³«¤±¤Þ¤»¤ó" +msgid "dictionary is locked" +msgstr "¼½ñ¤Ï¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹" -#~ msgid "E449: Invalid expression received" -#~ msgstr "E449: ̵¸ú¤Ê¼°¤ò¼õ¤±¼è¤ê¤Þ¤·¤¿" +msgid "list is locked" +msgstr "¥ê¥¹¥È¤Ï¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹" -#~ msgid "E463: Region is guarded, cannot modify" -#~ msgstr "E463: Îΰ褬Êݸ¤ì¤Æ¤¤¤ë¤Î¤Ç, Êѹ¹¤Ç¤¤Þ¤»¤ó" +#, c-format +msgid "failed to add key '%s' to dictionary" +msgstr "¼½ñ¤Ë¥¡¼ '%s' ¤òÄɲ乤ë¤Î¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" -#~ msgid "E744: NetBeans does not allow changes in read-only files" -#~ msgstr "E744: NetBeans ¤ÏÆÉ¹þÀìÍÑ¥Õ¥¡¥¤¥ë¤òÊѹ¹¤¹¤ë¤³¤È¤òµö¤·¤Þ¤»¤ó" +#, c-format +msgid "index must be int or slice, not %s" +msgstr "¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï %s ¤Ç¤Ï¤Ê¤¯À°¿ô¤«¥¹¥é¥¤¥¹¤Ë¤·¤Æ¤¯¤À¤µ¤¤" -#~ msgid "Need encryption key for \"%s\"" -#~ msgstr "°Å¹æ¥¡¼¤¬É¬ÍפǤ¹: \"%s\"" +#, c-format +msgid "expected str() or unicode() instance, but got %s" +msgstr "str() ¤â¤·¤¯¤Ï unicode() ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤¬´üÂÔ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ë %s ¤Ç¤·¤¿" -#~ msgid "empty keys are not allowed" -#~ msgstr "¶õ¤Î¥¡¼¤Ïµö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" +#, c-format +msgid "expected bytes() or str() instance, but got %s" +msgstr "bytes() ¤â¤·¤¯¤Ï str() ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤¬´üÂÔ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ë %s ¤Ç¤·¤¿" -#~ msgid "dictionary is locked" -#~ msgstr "¼½ñ¤Ï¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹" +#, c-format +msgid "" +"expected int(), long() or something supporting coercing to long(), but got %s" +msgstr "long() ¤«¤½¤ì¤ØÊÑ´¹²Äǽ¤Ê¤â¤Î¤¬´üÂÔ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ë %s ¤Ç¤·¤¿" -#~ msgid "list is locked" -#~ msgstr "¥ê¥¹¥È¤Ï¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹" +#, c-format +msgid "expected int() or something supporting coercing to int(), but got %s" +msgstr "int() ¤«¤½¤ì¤ØÊÑ´¹²Äǽ¤Ê¤â¤Î¤¬´üÂÔ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ë %s ¤Ç¤·¤¿" -#~ msgid "failed to add key '%s' to dictionary" -#~ msgstr "¼½ñ¤Ë¥¡¼ '%s' ¤òÄɲ乤ë¤Î¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" +msgid "value is too large to fit into C int type" +msgstr "C¸À¸ì¤Î int ·¿¤È¤·¤Æ¤ÏÃͤ¬Â礲᤮¤Þ¤¹" -#~ msgid "index must be int or slice, not %s" -#~ msgstr "¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï %s ¤Ç¤Ï¤Ê¤¯À°¿ô¤«¥¹¥é¥¤¥¹¤Ë¤·¤Æ¤¯¤À¤µ¤¤" +msgid "value is too small to fit into C int type" +msgstr "C¸À¸ì¤Î int ·¿¤È¤·¤Æ¤ÏÃͤ¬¾®¤µ²á¤®¤Þ¤¹" -#~ msgid "expected str() or unicode() instance, but got %s" -#~ msgstr "" -#~ "str() ¤â¤·¤¯¤Ï unicode() ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤¬´üÂÔ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ë %s ¤Ç¤·¤¿" +msgid "number must be greater than zero" +msgstr "¿ôÃÍ¤Ï 0 ¤è¤êÂ礤¯¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó" -#~ msgid "expected bytes() or str() instance, but got %s" -#~ msgstr "bytes() ¤â¤·¤¯¤Ï str() ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤¬´üÂÔ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ë %s ¤Ç¤·¤¿" +msgid "number must be greater or equal to zero" +msgstr "¿ôÃÍ¤Ï 0 ¤«¤½¤ì°Ê¾å¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó" -#~ msgid "" -#~ "expected int(), long() or something supporting coercing to long(), but " -#~ "got %s" -#~ msgstr "long() ¤«¤½¤ì¤ØÊÑ´¹²Äǽ¤Ê¤â¤Î¤¬´üÂÔ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ë %s ¤Ç¤·¤¿" +msgid "can't delete OutputObject attributes" +msgstr "OutputObject°À¤ò¾Ã¤»¤Þ¤»¤ó" -#~ msgid "expected int() or something supporting coercing to int(), but got %s" -#~ msgstr "int() ¤«¤½¤ì¤ØÊÑ´¹²Äǽ¤Ê¤â¤Î¤¬´üÂÔ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ë %s ¤Ç¤·¤¿" +#, c-format +msgid "invalid attribute: %s" +msgstr "̵¸ú¤Ê°À¤Ç¤¹: %s" -#~ msgid "value is too large to fit into C int type" -#~ msgstr "C¸À¸ì¤Î int ·¿¤È¤·¤Æ¤ÏÃͤ¬Â礲᤮¤Þ¤¹" +msgid "E264: Python: Error initialising I/O objects" +msgstr "E264: Python: I/O¥ª¥Ö¥¸¥§¥¯¥È¤Î½é´ü²½¥¨¥é¡¼" -#~ msgid "value is too small to fit into C int type" -#~ msgstr "C¸À¸ì¤Î int ·¿¤È¤·¤Æ¤ÏÃͤ¬¾®¤µ²á¤®¤Þ¤¹" +msgid "failed to change directory" +msgstr "¼½ñ¤ÎÊѹ¹¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" -#~ msgid "number must be greater then zero" -#~ msgstr "¿ôÃÍ¤Ï 0 ¤è¤êÂ礤¯¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó" +#, c-format +msgid "expected 3-tuple as imp.find_module() result, but got %s" +msgstr "imp.find_module() ¤¬ %s ¤òÊÖ¤·¤Þ¤·¤¿ (´üÂÔÃÍ: 3 Í×ÁǤΥ¿¥×¥ë)" -#~ msgid "number must be greater or equal to zero" -#~ msgstr "¿ôÃÍ¤Ï 0 ¤«¤½¤ì°Ê¾å¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó" +#, c-format +msgid "expected 3-tuple as imp.find_module() result, but got tuple of size %d" +msgstr "imp.find_module() ¤¬ %d Í×ÁǤΥ¿¥×¥ë¤òÊÖ¤·¤Þ¤·¤¿ (´üÂÔÃÍ: 3)" -#~ msgid "can't delete OutputObject attributes" -#~ msgstr "OutputObject°À¤ò¾Ã¤»¤Þ¤»¤ó" +msgid "internal error: imp.find_module returned tuple with NULL" +msgstr "ÆâÉô¥¨¥é¡¼: imp.find_module ¤¬ NULL ¤ò´Þ¤à¥¿¥×¥ë¤òÊÖ¤·¤Þ¤·¤¿" -#~ msgid "invalid attribute: %s" -#~ msgstr "̵¸ú¤Ê°À¤Ç¤¹: %s" +msgid "cannot delete vim.Dictionary attributes" +msgstr "vim.Dictionary°À¤Ï¾Ã¤»¤Þ¤»¤ó" -#~ msgid "E264: Python: Error initialising I/O objects" -#~ msgstr "E264: Python: I/O¥ª¥Ö¥¸¥§¥¯¥È¤Î½é´ü²½¥¨¥é¡¼" +msgid "cannot modify fixed dictionary" +msgstr "¸ÇÄꤵ¤ì¤¿¼½ñ¤ÏÊѹ¹¤Ç¤¤Þ¤»¤ó" -#~ msgid "failed to change directory" -#~ msgstr "¼½ñ¤ÎÊѹ¹¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" +#, c-format +msgid "cannot set attribute %s" +msgstr "°À %s ¤ÏÀßÄê¤Ç¤¤Þ¤»¤ó" -#~ msgid "expected 3-tuple as imp.find_module() result, but got %s" -#~ msgstr "imp.find_module() ¤¬ %s ¤òÊÖ¤·¤Þ¤·¤¿ (´üÂÔÃÍ: 2 Í×ÁǤΥ¿¥×¥ë)" +msgid "hashtab changed during iteration" +msgstr "¥¤¥Æ¥ì¡¼¥·¥ç¥óÃæ¤Ë hashtab ¤¬Êѹ¹¤µ¤ì¤Þ¤·¤¿" -#~ msgid "" -#~ "expected 3-tuple as imp.find_module() result, but got tuple of size %d" -#~ msgstr "impl.find_module() ¤¬ %d Í×ÁǤΥ¿¥×¥ë¤òÊÖ¤·¤Þ¤·¤¿ (´üÂÔÃÍ: 2)" +#, c-format +msgid "expected sequence element of size 2, but got sequence of size %d" +msgstr "¥·¡¼¥±¥ó¥¹¤ÎÍ×ÁÇ¿ô¤Ë¤Ï 2 ¤¬´üÂÔ¤µ¤ì¤Æ¤¤¤Þ¤·¤¿¤¬ %d ¤Ç¤·¤¿" -#~ msgid "internal error: imp.find_module returned tuple with NULL" -#~ msgstr "ÆâÉô¥¨¥é¡¼: imp.find_module ¤¬ NULL ¤ò´Þ¤à¥¿¥×¥ë¤òÊÖ¤·¤Þ¤·¤¿" +msgid "list constructor does not accept keyword arguments" +msgstr "¥ê¥¹¥È¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï¥¡¼¥ï¡¼¥É°ú¿ô¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó" -#~ msgid "cannot delete vim.Dictionary attributes" -#~ msgstr "vim.Dictionary°À¤Ï¾Ã¤»¤Þ¤»¤ó" +msgid "list index out of range" +msgstr "¥ê¥¹¥ÈÈϰϳ°¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ç¤¹" -#~ msgid "cannot modify fixed dictionary" -#~ msgstr "¸ÇÄꤵ¤ì¤¿¼½ñ¤ÏÊѹ¹¤Ç¤¤Þ¤»¤ó" +#. No more suitable format specifications in python-2.3 +#, c-format +msgid "internal error: failed to get vim list item %d" +msgstr "ÆâÉô¥¨¥é¡¼: vim¤Î¥ê¥¹¥ÈÍ×ÁÇ %d ¤Î¼èÆÀ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" -#~ msgid "cannot set attribute %s" -#~ msgstr "°À %s ¤ÏÀßÄê¤Ç¤¤Þ¤»¤ó" +msgid "slice step cannot be zero" +msgstr "¥¹¥é¥¤¥¹¤Î¥¹¥Æ¥Ã¥×¤Ë 0 ¤Ï»ØÄê¤Ç¤¤Þ¤»¤ó" -#~ msgid "hashtab changed during iteration" -#~ msgstr "¥¤¥Æ¥ì¡¼¥·¥ç¥óÃæ¤Ë hashtab ¤¬Êѹ¹¤µ¤ì¤Þ¤·¤¿" +#, c-format +msgid "attempt to assign sequence of size greater than %d to extended slice" +msgstr "Ťµ %d ¤Î³ÈÄ¥¥¹¥é¥¤¥¹¤Ë¡¢¤è¤êŤ¤¥¹¥é¥¤¥¹¤ò³ä¤êÅö¤Æ¤è¤¦¤È¤·¤Þ¤·¤¿" -#~ msgid "expected sequence element of size 2, but got sequence of size %d" -#~ msgstr "¥·¡¼¥±¥ó¥¹¤ÎÍ×ÁÇ¿ô¤Ë¤Ï 2 ¤¬´üÂÔ¤µ¤ì¤Æ¤¤¤Þ¤·¤¿¤¬ %d ¤Ç¤·¤¿" +#, c-format +msgid "internal error: no vim list item %d" +msgstr "ÆâÉô¥¨¥é¡¼: vim¤Î¥ê¥¹¥ÈÍ×ÁÇ %d ¤Ï¤¢¤ê¤Þ¤»¤ó" -#~ msgid "list constructor does not accept keyword arguments" -#~ msgstr "¥ê¥¹¥È¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï¥¡¼¥ï¡¼¥É°ú¿ô¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó" +msgid "internal error: not enough list items" +msgstr "ÆâÉô¥¨¥é¡¼: ¥ê¥¹¥È¤Ë½½Ê¬¤ÊÍ×ÁǤ¬¤¢¤ê¤Þ¤»¤ó" -#~ msgid "list index out of range" -#~ msgstr "¥ê¥¹¥ÈÈϰϳ°¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ç¤¹" +msgid "internal error: failed to add item to list" +msgstr "ÆâÉô¥¨¥é¡¼: ¥ê¥¹¥È¤Ø¤ÎÍ×ÁÇÄɲä˼ºÇÔ¤·¤Þ¤·¤¿" -#~ msgid "internal error: failed to get vim list item %d" -#~ msgstr "ÆâÉô¥¨¥é¡¼: vim¤Î¥ê¥¹¥ÈÍ×ÁÇ %d ¤Î¼èÆÀ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" +#, c-format +msgid "attempt to assign sequence of size %d to extended slice of size %d" +msgstr "Ťµ %d ¤Î¥¹¥é¥¤¥¹¤ò %d ¤Î³ÈÄ¥¥¹¥é¥¤¥¹¤Ë³ä¤êÅö¤Æ¤è¤¦¤È¤·¤Þ¤·¤¿" -#~ msgid "failed to add item to list" -#~ msgstr "¥ê¥¹¥È¤Ø¤ÎÍ×ÁÇÄɲä˼ºÇÔ¤·¤Þ¤·¤¿" +msgid "failed to add item to list" +msgstr "¥ê¥¹¥È¤Ø¤ÎÍ×ÁÇÄɲä˼ºÇÔ¤·¤Þ¤·¤¿" -#~ msgid "internal error: no vim list item %d" -#~ msgstr "ÆâÉô¥¨¥é¡¼: vim¤Î¥ê¥¹¥ÈÍ×ÁÇ %d ¤Ï¤¢¤ê¤Þ¤»¤ó" +msgid "cannot delete vim.List attributes" +msgstr "vim.List °À¤Ï¾Ã¤»¤Þ¤»¤ó" -#~ msgid "internal error: failed to add item to list" -#~ msgstr "ÆâÉô¥¨¥é¡¼: ¥ê¥¹¥È¤Ø¤ÎÍ×ÁÇÄɲä˼ºÇÔ¤·¤Þ¤·¤¿" +msgid "cannot modify fixed list" +msgstr "¸ÇÄꤵ¤ì¤¿¥ê¥¹¥È¤ÏÊѹ¹¤Ç¤¤Þ¤»¤ó" -#~ msgid "cannot delete vim.List attributes" -#~ msgstr "vim.List °À¤Ï¾Ã¤»¤Þ¤»¤ó" +#, c-format +msgid "unnamed function %s does not exist" +msgstr "̵̾´Ø¿ô %s ¤Ï¸ºß¤·¤Þ¤»¤ó" -#~ msgid "cannot modify fixed list" -#~ msgstr "¸ÇÄꤵ¤ì¤¿¥ê¥¹¥È¤ÏÊѹ¹¤Ç¤¤Þ¤»¤ó" +#, c-format +msgid "function %s does not exist" +msgstr "´Ø¿ô %s ¤¬¤¢¤ê¤Þ¤»¤ó" -#~ msgid "unnamed function %s does not exist" -#~ msgstr "̵̾´Ø¿ô %s ¤Ï¸ºß¤·¤Þ¤»¤ó" +#, c-format +msgid "failed to run function %s" +msgstr "´Ø¿ô %s ¤Î¼Â¹Ô¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" -#~ msgid "function %s does not exist" -#~ msgstr "´Ø¿ô %s ¤¬¤¢¤ê¤Þ¤»¤ó" +msgid "unable to get option value" +msgstr "¥ª¥×¥·¥ç¥ó¤ÎÃͤϼèÆÀ¤Ç¤¤Þ¤»¤ó" -#~ msgid "function constructor does not accept keyword arguments" -#~ msgstr "´Ø¿ô¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï¥¡¼¥ï¡¼¥É°ú¿ô¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó" +msgid "internal error: unknown option type" +msgstr "ÆâÉô¥¨¥é¡¼: ̤ÃΤΥª¥×¥·¥ç¥ó·¿¤Ç¤¹" -#~ msgid "failed to run function %s" -#~ msgstr "´Ø¿ô %s ¤Î¼Â¹Ô¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" +msgid "problem while switching windows" +msgstr "¥¦¥£¥ó¥É¥¦¤òÀÚ´¹Ãæ¤ËÌäÂ꤬ȯÀ¸¤·¤Þ¤·¤¿" -#~ msgid "problem while switching windows" -#~ msgstr "¥¦¥£¥ó¥É¥¦¤òÀÚ´¹Ãæ¤ËÌäÂ꤬ȯÀ¸¤·¤Þ¤·¤¿" +#, c-format +msgid "unable to unset global option %s" +msgstr "¥°¥í¡¼¥Ð¥ë¥ª¥×¥·¥ç¥ó %s ¤ÎÀßÄê²ò½ü¤Ï¤Ç¤¤Þ¤»¤ó" -#~ msgid "unable to unset global option %s" -#~ msgstr "¥°¥í¡¼¥Ð¥ë¥ª¥×¥·¥ç¥ó %s ¤ÎÀßÄê²ò½ü¤Ï¤Ç¤¤Þ¤»¤ó" +#, c-format +msgid "unable to unset option %s which does not have global value" +msgstr "¥°¥í¡¼¥Ð¥ë¤ÊÃͤÎ̵¤¤¥ª¥×¥·¥ç¥ó %s ¤ÎÀßÄê²ò½ü¤Ï¤Ç¤¤Þ¤»¤ó" -#~ msgid "unable to unset option %s which does not have global value" -#~ msgstr "¥°¥í¡¼¥Ð¥ë¤ÊÃͤÎ̵¤¤¥ª¥×¥·¥ç¥ó %s ¤ÎÀßÄê²ò½ü¤Ï¤Ç¤¤Þ¤»¤ó" +msgid "attempt to refer to deleted tab page" +msgstr "ºï½ü¤µ¤ì¤¿¥¿¥Ö¤ò»²¾È¤·¤è¤¦¤È¤·¤Þ¤·¤¿" -#~ msgid "attempt to refer to deleted tab page" -#~ msgstr "ºï½ü¤µ¤ì¤¿¥¿¥Ö¤ò»²¾È¤·¤è¤¦¤È¤·¤Þ¤·¤¿" +msgid "no such tab page" +msgstr "¤½¤Î¤è¤¦¤Ê¥¿¥Ö¥Ú¡¼¥¸¤Ï¤¢¤ê¤Þ¤»¤ó" -#~ msgid "no such tab page" -#~ msgstr "¤½¤Î¤è¤¦¤Ê¥¿¥Ö¥Ú¡¼¥¸¤Ï¤¢¤ê¤Þ¤»¤ó" +msgid "attempt to refer to deleted window" +msgstr "ºï½ü¤µ¤ì¤¿¥¦¥£¥ó¥É¥¦¤ò»²¾È¤·¤è¤¦¤È¤·¤Þ¤·¤¿" -#~ msgid "attempt to refer to deleted window" -#~ msgstr "ºï½ü¤µ¤ì¤¿¥¦¥£¥ó¥É¥¦¤ò»²¾È¤·¤è¤¦¤È¤·¤Þ¤·¤¿" +msgid "readonly attribute: buffer" +msgstr "ÆÉ¹þÀìÍѰÀ: ¥Ð¥Ã¥Õ¥¡¡¼" -#~ msgid "readonly attribute: buffer" -#~ msgstr "ÆÉ¹þÀìÍѰÀ: ¥Ð¥Ã¥Õ¥¡¡¼" +msgid "cursor position outside buffer" +msgstr "¥«¡¼¥½¥ë°ÌÃÖ¤¬¥Ð¥Ã¥Õ¥¡¤Î³°Â¦¤Ç¤¹" -#~ msgid "cursor position outside buffer" -#~ msgstr "¥«¡¼¥½¥ë°ÌÃÖ¤¬¥Ð¥Ã¥Õ¥¡¤Î³°Â¦¤Ç¤¹" +msgid "no such window" +msgstr "¤½¤Î¤è¤¦¤Ê¥¦¥£¥ó¥É¥¦¤Ï¤¢¤ê¤Þ¤»¤ó" -#~ msgid "no such window" -#~ msgstr "¤½¤Î¤è¤¦¤Ê¥¦¥£¥ó¥É¥¦¤Ï¤¢¤ê¤Þ¤»¤ó" +msgid "attempt to refer to deleted buffer" +msgstr "ºï½ü¤µ¤ì¤¿¥Ð¥Ã¥Õ¥¡¤ò»²¾È¤·¤è¤¦¤È¤·¤Þ¤·¤¿" -#~ msgid "attempt to refer to deleted buffer" -#~ msgstr "ºï½ü¤µ¤ì¤¿¥Ð¥Ã¥Õ¥¡¤ò»²¾È¤·¤è¤¦¤È¤·¤Þ¤·¤¿" +msgid "failed to rename buffer" +msgstr "¥Ð¥Ã¥Õ¥¡Ì¾¤ÎÊѹ¹¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" -#~ msgid "failed to rename buffer" -#~ msgstr "¥Ð¥Ã¥Õ¥¡Ì¾¤ÎÊѹ¹¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" +msgid "mark name must be a single character" +msgstr "¥Þ¡¼¥¯Ì¾¤Ï1ʸ»ú¤Î¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó" -#~ msgid "mark name must be a single character" -#~ msgstr "¥Þ¡¼¥¯Ì¾¤Ï1ʸ»ú¤Î¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó" +#, c-format +msgid "expected vim.Buffer object, but got %s" +msgstr "vim.Buffer¥ª¥Ö¥¸¥§¥¯¥È¤¬´üÂÔ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ë %s ¤Ç¤·¤¿" -#~ msgid "expected vim.Buffer object, but got %s" -#~ msgstr "vim.Buffer¥ª¥Ö¥¸¥§¥¯¥È¤¬´üÂÔ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ë %s ¤Ç¤·¤¿" +#, c-format +msgid "failed to switch to buffer %d" +msgstr "»ØÄꤵ¤ì¤¿¥Ð¥Ã¥Õ¥¡ %d ¤Ø¤ÎÀÚ¤êÂØ¤¨¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" -#~ msgid "failed to switch to buffer %d" -#~ msgstr "»ØÄꤵ¤ì¤¿¥Ð¥Ã¥Õ¥¡ %d ¤Ø¤ÎÀÚ¤êÂØ¤¨¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" +#, c-format +msgid "expected vim.Window object, but got %s" +msgstr "vim.Window¥ª¥Ö¥¸¥§¥¯¥È¤¬´üÂÔ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ë %s ¤Ç¤·¤¿" -#~ msgid "expected vim.Window object, but got %s" -#~ msgstr "vim.Window¥ª¥Ö¥¸¥§¥¯¥È¤¬´üÂÔ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ë %s ¤Ç¤·¤¿" +msgid "failed to find window in the current tab page" +msgstr "¸½ºß¤Î¥¿¥Ö¤Ë¤Ï»ØÄꤵ¤ì¤¿¥¦¥£¥ó¥É¥¦¤¬¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿" -#~ msgid "failed to find window in the current tab page" -#~ msgstr "¸½ºß¤Î¥¿¥Ö¤Ë¤Ï»ØÄꤵ¤ì¤¿¥¦¥£¥ó¥É¥¦¤¬¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿" +msgid "did not switch to the specified window" +msgstr "»ØÄꤵ¤ì¤¿¥¦¥£¥ó¥É¥¦¤ËÀÚ¤êÂØ¤¨¤Þ¤»¤ó¤Ç¤·¤¿" -#~ msgid "did not switch to the specified window" -#~ msgstr "»ØÄꤵ¤ì¤¿¥¦¥£¥ó¥É¥¦¤ËÀÚ¤êÂØ¤¨¤Þ¤»¤ó¤Ç¤·¤¿" +#, c-format +msgid "expected vim.TabPage object, but got %s" +msgstr "vim.TabPage¥ª¥Ö¥¸¥§¥¯¥È¤¬´üÂÔ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ë %s ¤Ç¤·¤¿" -#~ msgid "expected vim.TabPage object, but got %s" -#~ msgstr "vim.TabPage¥ª¥Ö¥¸¥§¥¯¥È¤¬´üÂÔ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ë %s ¤Ç¤·¤¿" +msgid "did not switch to the specified tab page" +msgstr "»ØÄꤵ¤ì¤¿¥¿¥Ö¥Ú¡¼¥¸¤ËÀÚ¤êÂØ¤¨¤Þ¤»¤ó¤Ç¤·¤¿" -#~ msgid "did not switch to the specified tab page" -#~ msgstr "»ØÄꤵ¤ì¤¿¥¿¥Ö¥Ú¡¼¥¸¤ËÀÚ¤êÂØ¤¨¤Þ¤»¤ó¤Ç¤·¤¿" +msgid "failed to run the code" +msgstr "¥³¡¼¥É¤Î¼Â¹Ô¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" -#~ msgid "failed to run the code" -#~ msgstr "¥³¡¼¥É¤Î¼Â¹Ô¤Ë¼ºÇÔ¤·¤Þ¤·¤¿" +msgid "E858: Eval did not return a valid python object" +msgstr "E858: ¼°É¾²Á¤Ï͸ú¤Êpython¥ª¥Ö¥¸¥§¥¯¥È¤òÊÖ¤·¤Þ¤»¤ó¤Ç¤·¤¿" -#~ msgid "E858: Eval did not return a valid python object" -#~ msgstr "E858: ¼°É¾²Á¤Ï͸ú¤Êpython¥ª¥Ö¥¸¥§¥¯¥È¤òÊÖ¤·¤Þ¤»¤ó¤Ç¤·¤¿" +msgid "E859: Failed to convert returned python object to vim value" +msgstr "E859: ÊÖ¤µ¤ì¤¿python¥ª¥Ö¥¸¥§¥¯¥È¤òvim¤ÎÃͤËÊÑ´¹¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿" -#~ msgid "E859: Failed to convert returned python object to vim value" -#~ msgstr "E859: ÊÖ¤µ¤ì¤¿python¥ª¥Ö¥¸¥§¥¯¥È¤òvim¤ÎÃͤËÊÑ´¹¤Ç¤¤Þ¤»¤ó¤Ç¤·¤¿" +#, c-format +msgid "unable to convert %s to vim dictionary" +msgstr "%s vim¤Î¼½ñ·¿¤ËÊÑ´¹¤Ç¤¤Þ¤»¤ó" -#~ msgid "unable to convert %s to vim dictionary" -#~ msgstr "%s vim¤Î¼½ñ·¿¤ËÊÑ´¹¤Ç¤¤Þ¤»¤ó" +#, c-format +msgid "unable to convert %s to vim list" +msgstr "%s ¤òvim¤Î¥ê¥¹¥È¤ËÊÑ´¹¤Ç¤¤Þ¤»¤ó" -#~ msgid "unable to convert %s to vim structure" -#~ msgstr "%s ¤òvim¤Î¹½Â¤ÂΤËÊÑ´¹¤Ç¤¤Þ¤»¤ó" +#, c-format +msgid "unable to convert %s to vim structure" +msgstr "%s ¤òvim¤Î¹½Â¤ÂΤËÊÑ´¹¤Ç¤¤Þ¤»¤ó" -#~ msgid "internal error: NULL reference passed" -#~ msgstr "ÆâÉô¥¨¥é¡¼: NULL»²¾È¤¬ÅϤµ¤ì¤Þ¤·¤¿" +msgid "internal error: NULL reference passed" +msgstr "ÆâÉô¥¨¥é¡¼: NULL»²¾È¤¬ÅϤµ¤ì¤Þ¤·¤¿" -#~ msgid "internal error: invalid value type" -#~ msgstr "ÆâÉô¥¨¥é¡¼: ̵¸ú¤ÊÃÍ·¿¤Ç¤¹" +msgid "internal error: invalid value type" +msgstr "ÆâÉô¥¨¥é¡¼: ̵¸ú¤ÊÃÍ·¿¤Ç¤¹" -#~ msgid "" -#~ "Failed to set path hook: sys.path_hooks is not a list\n" -#~ "You should now do the following:\n" -#~ "- append vim.path_hook to sys.path_hooks\n" -#~ "- append vim.VIM_SPECIAL_PATH to sys.path\n" -#~ msgstr "" -#~ "¥Ñ¥¹¥Õ¥Ã¥¯¤ÎÀßÄê¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: sys.path_hooks ¤¬¥ê¥¹¥È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó\n" -#~ "¤¹¤°¤Ë²¼µ¤ò¼Â»Ü¤·¤Æ¤¯¤À¤µ¤¤:\n" -#~ "- vim.path_hooks ¤ò sys.path_hooks ¤ØÄɲÃ\n" -#~ "- vim.VIM_SPECIAL_PATH ¤ò sys.path ¤ØÄɲÃ\n" +msgid "" +"Failed to set path hook: sys.path_hooks is not a list\n" +"You should now do the following:\n" +"- append vim.path_hook to sys.path_hooks\n" +"- append vim.VIM_SPECIAL_PATH to sys.path\n" +msgstr "" +"¥Ñ¥¹¥Õ¥Ã¥¯¤ÎÀßÄê¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: sys.path_hooks ¤¬¥ê¥¹¥È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó\n" +"¤¹¤°¤Ë²¼µ¤ò¼Â»Ü¤·¤Æ¤¯¤À¤µ¤¤:\n" +"- vim.path_hooks ¤ò sys.path_hooks ¤ØÄɲÃ\n" +"- vim.VIM_SPECIAL_PATH ¤ò sys.path ¤ØÄɲÃ\n" -#~ msgid "" -#~ "Failed to set path: sys.path is not a list\n" -#~ "You should now append vim.VIM_SPECIAL_PATH to sys.path" -#~ msgstr "" -#~ "¥Ñ¥¹¤ÎÀßÄê¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: sys.path ¤¬¥ê¥¹¥È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó\n" -#~ "¤¹¤°¤Ë vim.VIM_SPECIAL_PATH ¤ò sys.path ¤ËÄɲ䷤Ƥ¯¤À¤µ¤¤" +msgid "" +"Failed to set path: sys.path is not a list\n" +"You should now append vim.VIM_SPECIAL_PATH to sys.path" +msgstr "" +"¥Ñ¥¹¤ÎÀßÄê¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: sys.path ¤¬¥ê¥¹¥È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó\n" +"¤¹¤°¤Ë vim.VIM_SPECIAL_PATH ¤ò sys.path ¤ËÄɲ䷤Ƥ¯¤À¤µ¤¤" diff --git a/src/nvim/po/ja.po b/src/nvim/po/ja.po index e12cfb7e70..5cb789c93e 100644 --- a/src/nvim/po/ja.po +++ b/src/nvim/po/ja.po @@ -1,3 +1,4 @@ + # Japanese translation for Vim # # Do ":help uganda" in Vim to read copying and usage conditions. @@ -14,213 +15,176 @@ msgid "" msgstr "" "Project-Id-Version: Vim 7.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-02-01 09:02+0900\n" -"PO-Revision-Date: 2013-06-02-01 09:08+09n" +"POT-Creation-Date: 2016-09-10 21:10+0900\n" +"PO-Revision-Date: 2016-09-10 21:20+0900\n" "Last-Translator: MURAOKA Taro <koron.kaoriya@gmail.com>\n" "Language-Team: vim-jp (https://github.com/vim-jp/lang-ja)\n" "Language: Japanese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8-bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" -#: ../api/private/helpers.c:201 -#, fuzzy -msgid "Unable to get option value" -msgstr "オプションã®å€¤ã¯å–å¾—ã§ãã¾ã›ã‚“" +msgid "E831: bf_key_init() called with empty password" +msgstr "E831: bf_key_init() ãŒç©ºãƒ‘スワードã§å‘¼ã³å‡ºã•れã¾ã—ãŸ" -#: ../api/private/helpers.c:204 -msgid "internal error: unknown option type" -msgstr "内部エラー: 未知ã®ã‚ªãƒ—ション型ã§ã™" +msgid "E820: sizeof(uint32_t) != 4" +msgstr "E820: sizeof(uint32_t) != 4" + +msgid "E817: Blowfish big/little endian use wrong" +msgstr "E817: Blowfishæš—å·ã®ãƒ“ッグ/リトルエンディアンãŒé–“é•ã£ã¦ã„ã¾ã™" + +msgid "E818: sha256 test failed" +msgstr "E818: sha256ã®ãƒ†ã‚¹ãƒˆã«å¤±æ•—ã—ã¾ã—ãŸ" + +msgid "E819: Blowfish test failed" +msgstr "E819: Blowfishæš—å·ã®ãƒ†ã‚¹ãƒˆã«å¤±æ•—ã—ã¾ã—ãŸ" -#: ../buffer.c:92 msgid "[Location List]" msgstr "[ãƒã‚±ãƒ¼ã‚·ãƒ§ãƒ³ãƒªã‚¹ãƒˆ]" -#: ../buffer.c:93 msgid "[Quickfix List]" msgstr "[Quickfixリスト]" -#: ../buffer.c:94 msgid "E855: Autocommands caused command to abort" msgstr "E855: autocommandãŒã‚³ãƒžãƒ³ãƒ‰ã®åœæ¢ã‚’引ãèµ·ã“ã—ã¾ã—ãŸ" -#: ../buffer.c:135 msgid "E82: Cannot allocate any buffer, exiting..." msgstr "E82: ãƒãƒƒãƒ•ã‚¡ã‚’1ã¤ã‚‚作æˆã§ããªã„ã®ã§, 終了ã—ã¾ã™..." -#: ../buffer.c:138 msgid "E83: Cannot allocate buffer, using other one..." msgstr "E83: ãƒãƒƒãƒ•ァを作æˆã§ããªã„ã®ã§, ä»–ã®ã‚’使用ã—ã¾ã™..." -#: ../buffer.c:763 +msgid "E931: Buffer cannot be registered" +msgstr "E931: ãƒãƒƒãƒ•ァを登録ã§ãã¾ã›ã‚“" + +msgid "E937: Attempt to delete a buffer that is in use" +msgstr "E937: 使用ä¸ã®ãƒãƒƒãƒ•ァを削除ã—よã†ã¨è©¦ã¿ã¾ã—ãŸ" + msgid "E515: No buffers were unloaded" msgstr "E515: 解放ã•れãŸãƒãƒƒãƒ•ã‚¡ã¯ã‚りã¾ã›ã‚“" -#: ../buffer.c:765 msgid "E516: No buffers were deleted" msgstr "E516: 削除ã•れãŸãƒãƒƒãƒ•ã‚¡ã¯ã‚りã¾ã›ã‚“" -#: ../buffer.c:767 msgid "E517: No buffers were wiped out" msgstr "E517: ç ´æ£„ã•れãŸãƒãƒƒãƒ•ã‚¡ã¯ã‚りã¾ã›ã‚“" -#: ../buffer.c:772 msgid "1 buffer unloaded" msgstr "1 個ã®ãƒãƒƒãƒ•ã‚¡ãŒè§£æ”¾ã•れã¾ã—ãŸ" -#: ../buffer.c:774 #, c-format msgid "%d buffers unloaded" msgstr "%d 個ã®ãƒãƒƒãƒ•ã‚¡ãŒè§£æ”¾ã•れã¾ã—ãŸ" -#: ../buffer.c:777 msgid "1 buffer deleted" msgstr "1 個ã®ãƒãƒƒãƒ•ã‚¡ãŒå‰Šé™¤ã•れã¾ã—ãŸ" -#: ../buffer.c:779 #, c-format msgid "%d buffers deleted" msgstr "%d 個ã®ãƒãƒƒãƒ•ã‚¡ãŒå‰Šé™¤ã•れã¾ã—ãŸ" -#: ../buffer.c:782 msgid "1 buffer wiped out" msgstr "1 個ã®ãƒãƒƒãƒ•ã‚¡ãŒç ´æ£„ã•れã¾ã—ãŸ" -#: ../buffer.c:784 #, c-format msgid "%d buffers wiped out" msgstr "%d 個ã®ãƒãƒƒãƒ•ã‚¡ãŒç ´æ£„ã•れã¾ã—ãŸ" -#: ../buffer.c:806 msgid "E90: Cannot unload last buffer" msgstr "E90: 最後ã®ãƒãƒƒãƒ•ã‚¡ã¯è§£æ”¾ã§ãã¾ã›ã‚“" -#: ../buffer.c:874 msgid "E84: No modified buffer found" msgstr "E84: 変更ã•れãŸãƒãƒƒãƒ•ã‚¡ã¯ã‚りã¾ã›ã‚“" #. back where we started, didn't find anything. -#: ../buffer.c:903 msgid "E85: There is no listed buffer" msgstr "E85: リスト表示ã•れるãƒãƒƒãƒ•ã‚¡ã¯ã‚りã¾ã›ã‚“" -#: ../buffer.c:913 -#, c-format -msgid "E86: Buffer %<PRId64> does not exist" -msgstr "E86: ãƒãƒƒãƒ•ã‚¡ %<PRId64> ã¯ã‚りã¾ã›ã‚“" - -#: ../buffer.c:915 msgid "E87: Cannot go beyond last buffer" msgstr "E87: 最後ã®ãƒãƒƒãƒ•ã‚¡ã‚’è¶Šãˆã¦ç§»å‹•ã¯ã§ãã¾ã›ã‚“" -#: ../buffer.c:917 msgid "E88: Cannot go before first buffer" msgstr "E88: 最åˆã®ãƒãƒƒãƒ•ァよりå‰ã¸ã¯ç§»å‹•ã§ãã¾ã›ã‚“" -#: ../buffer.c:945 #, c-format -msgid "" -"E89: No write since last change for buffer %<PRId64> (add ! to override)" -msgstr "E89: ãƒãƒƒãƒ•ã‚¡ %<PRId64> ã®å¤‰æ›´ã¯ä¿å˜ã•れã¦ã„ã¾ã›ã‚“ (! ã§å¤‰æ›´ã‚’ç ´æ£„)" +msgid "E89: No write since last change for buffer %ld (add ! to override)" +msgstr "E89: ãƒãƒƒãƒ•ã‚¡ %ld ã®å¤‰æ›´ã¯ä¿å˜ã•れã¦ã„ã¾ã›ã‚“ (! ã§å¤‰æ›´ã‚’ç ´æ£„)" -#. wrap around (may cause duplicates) -#: ../buffer.c:1423 msgid "W14: Warning: List of file names overflow" msgstr "W14: è¦å‘Š: ファイルåã®ãƒªã‚¹ãƒˆãŒé•·éŽãŽã¾ã™" -#: ../buffer.c:1555 ../quickfix.c:3361 #, c-format -msgid "E92: Buffer %<PRId64> not found" -msgstr "E92: ãƒãƒƒãƒ•ã‚¡ %<PRId64> ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" +msgid "E92: Buffer %ld not found" +msgstr "E92: ãƒãƒƒãƒ•ã‚¡ %ld ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" -#: ../buffer.c:1798 #, c-format msgid "E93: More than one match for %s" msgstr "E93: %s ã«è¤‡æ•°ã®è©²å½“ãŒã‚りã¾ã—ãŸ" -#: ../buffer.c:1800 #, c-format msgid "E94: No matching buffer for %s" msgstr "E94: %s ã«è©²å½“ã™ã‚‹ãƒãƒƒãƒ•ã‚¡ã¯ã‚りã¾ã›ã‚“ã§ã—ãŸ" -#: ../buffer.c:2161 #, c-format -msgid "line %<PRId64>" -msgstr "行 %<PRId64>" +msgid "line %ld" +msgstr "行 %ld" -#: ../buffer.c:2233 msgid "E95: Buffer with this name already exists" msgstr "E95: ã“ã®åå‰ã®ãƒãƒƒãƒ•ã‚¡ã¯æ—¢ã«ã‚りã¾ã™" -#: ../buffer.c:2498 msgid " [Modified]" msgstr " [変更ã‚り]" -#: ../buffer.c:2501 msgid "[Not edited]" msgstr "[未編集]" -#: ../buffer.c:2504 msgid "[New file]" msgstr "[新ファイル]" -#: ../buffer.c:2505 msgid "[Read errors]" msgstr "[èªè¾¼ã‚¨ãƒ©ãƒ¼]" -#: ../buffer.c:2506 ../buffer.c:3217 ../fileio.c:1807 ../screen.c:4895 msgid "[RO]" msgstr "[èªå°‚]" -#: ../buffer.c:2507 ../fileio.c:1807 msgid "[readonly]" msgstr "[èªè¾¼å°‚用]" -#: ../buffer.c:2524 #, c-format msgid "1 line --%d%%--" msgstr "1 行 --%d%%--" -#: ../buffer.c:2526 #, c-format -msgid "%<PRId64> lines --%d%%--" -msgstr "%<PRId64> 行 --%d%%--" +msgid "%ld lines --%d%%--" +msgstr "%ld 行 --%d%%--" -#: ../buffer.c:2530 #, c-format -msgid "line %<PRId64> of %<PRId64> --%d%%-- col " -msgstr "行 %<PRId64> (全体 %<PRId64>) --%d%%-- col " +msgid "line %ld of %ld --%d%%-- col " +msgstr "行 %ld (全体 %ld) --%d%%-- col " -#: ../buffer.c:2632 ../buffer.c:4292 ../memline.c:1554 msgid "[No Name]" msgstr "[ç„¡å]" #. must be a help buffer -#: ../buffer.c:2667 msgid "help" msgstr "ヘルプ" -#: ../buffer.c:3225 ../screen.c:4883 msgid "[Help]" msgstr "[ヘルプ]" -#: ../buffer.c:3254 ../screen.c:4887 msgid "[Preview]" msgstr "[プレビュー]" -#: ../buffer.c:3528 msgid "All" msgstr "å…¨ã¦" -#: ../buffer.c:3528 msgid "Bot" msgstr "末尾" -#: ../buffer.c:3531 msgid "Top" msgstr "å…ˆé " -#: ../buffer.c:4244 msgid "" "\n" "# Buffer list:\n" @@ -228,11 +192,9 @@ msgstr "" "\n" "# ãƒãƒƒãƒ•ァリスト:\n" -#: ../buffer.c:4289 msgid "[Scratch]" msgstr "[下書ã]" -#: ../buffer.c:4529 msgid "" "\n" "--- Signs ---" @@ -240,200 +202,235 @@ msgstr "" "\n" "--- サイン ---" -#: ../buffer.c:4538 #, c-format msgid "Signs for %s:" msgstr "%s ã®ã‚µã‚¤ãƒ³:" -#: ../buffer.c:4543 #, c-format -msgid " line=%<PRId64> id=%d name=%s" -msgstr " 行=%<PRId64> è˜åˆ¥å=%d åå‰=%s" +msgid " line=%ld id=%d name=%s" +msgstr " 行=%ld è˜åˆ¥å=%d åå‰=%s" -#: ../cursor_shape.c:68 -msgid "E545: Missing colon" -msgstr "E545: コãƒãƒ³ãŒã‚りã¾ã›ã‚“" +msgid "E902: Cannot connect to port" +msgstr "E902: ãƒãƒ¼ãƒˆã«æŽ¥ç¶šã§ãã¾ã›ã‚“" -#: ../cursor_shape.c:70 ../cursor_shape.c:94 -msgid "E546: Illegal mode" -msgstr "E546: 䏿£ãªãƒ¢ãƒ¼ãƒ‰ã§ã™" +msgid "E901: gethostbyname() in channel_open()" +msgstr "E901: channel_open() 内㮠gethostbyname() ãŒå¤±æ•—ã—ã¾ã—ãŸ" -#: ../cursor_shape.c:134 -msgid "E548: digit expected" -msgstr "E548: 数値ãŒå¿…è¦ã§ã™" +msgid "E898: socket() in channel_open()" +msgstr "E898: channel_open() 内㮠socket() ãŒå¤±æ•—ã—ã¾ã—ãŸ" -#: ../cursor_shape.c:138 -msgid "E549: Illegal percentage" -msgstr "E549: 䏿£ãªãƒ‘ーセンテージã§ã™" +msgid "E903: received command with non-string argument" +msgstr "E903: éžæ–‡å—列ã®å¼•æ•°ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’å—ä¿¡ã—ã¾ã—ãŸ" + +msgid "E904: last argument for expr/call must be a number" +msgstr "E904: expr/call ã®æœ€å¾Œã®å¼•æ•°ã¯æ•°å—ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“" + +msgid "E904: third argument for call must be a list" +msgstr "E904: call ã®3番目ã®å¼•æ•°ã¯ãƒªã‚¹ãƒˆåž‹ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“" + +#, c-format +msgid "E905: received unknown command: %s" +msgstr "E905: 未知ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’å—ä¿¡ã—ã¾ã—ãŸ: %s" + +#, c-format +msgid "E630: %s(): write while not connected" +msgstr "E630: %s(): éžæŽ¥ç¶šçŠ¶æ…‹ã§æ›¸ãè¾¼ã¿ã¾ã—ãŸ" + +#, c-format +msgid "E631: %s(): write failed" +msgstr "E631: %s(): 書ãè¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸ" + +#, c-format +msgid "E917: Cannot use a callback with %s()" +msgstr "E917: %s() ã«ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã¯ä½¿ãˆã¾ã›ã‚“" + +msgid "E912: cannot use ch_evalexpr()/ch_sendexpr() with a raw or nl channel" +msgstr "E912: 生や nl ãƒãƒ£ãƒ³ãƒãƒ«ã« ch_evalexpr()/ch_sendexpr ã¯ä½¿ãˆã¾ã›ã‚“" + +msgid "E906: not an open channel" +msgstr "E906: é–‹ã„ã¦ã„ãªã„ãƒãƒ£ãƒ³ãƒãƒ«ã§ã™" + +msgid "E920: _io file requires _name to be set" +msgstr "E920: _io ファイル㯠_name ã®è¨å®šãŒå¿…è¦ã§ã™" + +msgid "E915: in_io buffer requires in_buf or in_name to be set" +msgstr "E915: in_io ãƒãƒƒãƒ•ァ㯠in_buf ã‹ in_name ã®è¨å®šãŒå¿…è¦ã§ã™" + +#, c-format +msgid "E918: buffer must be loaded: %s" +msgstr "E918: ãƒãƒƒãƒ•ã‚¡ãŒãƒãƒ¼ãƒ‰ã•れã¦ãªã‘れã°ãªã‚Šã¾ã›ã‚“: %s" + +msgid "E821: File is encrypted with unknown method" +msgstr "E821: ãƒ•ã‚¡ã‚¤ãƒ«ãŒæœªçŸ¥ã®æ–¹æ³•ã§æš—å·åŒ–ã•れã¦ã„ã¾ã™" + +msgid "Warning: Using a weak encryption method; see :help 'cm'" +msgstr "è¦å‘Š: å¼±ã„æš—å·æ–¹æ³•を使ã£ã¦ã„ã¾ã™; :help 'cm' ã‚’å‚ç…§ã—ã¦ãã ã•ã„" + +msgid "Enter encryption key: " +msgstr "æš—å·åŒ–用ã®ã‚ーを入力ã—ã¦ãã ã•ã„: " + +msgid "Enter same key again: " +msgstr "ã‚‚ã†ä¸€åº¦åŒã˜ã‚ーを入力ã—ã¦ãã ã•ã„: " + +msgid "Keys don't match!" +msgstr "ã‚ーãŒä¸€è‡´ã—ã¾ã›ã‚“" + +msgid "[crypted]" +msgstr "[æš—å·åŒ–]" + +#, c-format +msgid "E720: Missing colon in Dictionary: %s" +msgstr "E720: 辞書型ã«ã‚³ãƒãƒ³ãŒã‚りã¾ã›ã‚“: %s" + +#, c-format +msgid "E721: Duplicate key in Dictionary: \"%s\"" +msgstr "E721: 辞書型ã«é‡è¤‡ã‚ーãŒã‚りã¾ã™: \"%s\"" + +#, c-format +msgid "E722: Missing comma in Dictionary: %s" +msgstr "E722: 辞書型ã«ã‚«ãƒ³ãƒžãŒã‚りã¾ã›ã‚“: %s" + +#, c-format +msgid "E723: Missing end of Dictionary '}': %s" +msgstr "E723: è¾žæ›¸åž‹ã®æœ€å¾Œã« '}' ãŒã‚りã¾ã›ã‚“: %s" + +msgid "extend() argument" +msgstr "extend() ã®å¼•æ•°" -#: ../diff.c:146 #, c-format -msgid "E96: Can not diff more than %<PRId64> buffers" -msgstr "E96: %<PRId64> 以上ã®ãƒãƒƒãƒ•ã‚¡ã¯diffã§ãã¾ã›ã‚“" +msgid "E737: Key already exists: %s" +msgstr "E737: ã‚ãƒ¼ã¯æ—¢ã«å˜åœ¨ã—ã¾ã™: %s" + +#, c-format +msgid "E96: Cannot diff more than %ld buffers" +msgstr "E96: %ld 以上ã®ãƒãƒƒãƒ•ã‚¡ã¯diffã§ãã¾ã›ã‚“" -#: ../diff.c:753 msgid "E810: Cannot read or write temp files" msgstr "E810: 一時ファイルã®èªè¾¼ã‚‚ã—ãã¯æ›¸è¾¼ãŒã§ãã¾ã›ã‚“" -#: ../diff.c:755 msgid "E97: Cannot create diffs" msgstr "E97: 差分を作æˆã§ãã¾ã›ã‚“" -#: ../diff.c:966 +msgid "Patch file" +msgstr "パッãƒãƒ•ァイル" + msgid "E816: Cannot read patch output" msgstr "E816: patchã®å‡ºåŠ›ã‚’èªè¾¼ã‚ã¾ã›ã‚“" -#: ../diff.c:1220 msgid "E98: Cannot read diff output" msgstr "E98: diffã®å‡ºåŠ›ã‚’èªè¾¼ã‚ã¾ã›ã‚“" -#: ../diff.c:2081 msgid "E99: Current buffer is not in diff mode" msgstr "E99: ç¾åœ¨ã®ãƒãƒƒãƒ•ã‚¡ã¯å·®åˆ†ãƒ¢ãƒ¼ãƒ‰ã§ã¯ã‚りã¾ã›ã‚“" -#: ../diff.c:2100 msgid "E793: No other buffer in diff mode is modifiable" msgstr "E793: 差分モードã§ã‚ã‚‹ä»–ã®ãƒãƒƒãƒ•ã‚¡ã¯å¤‰æ›´ã§ãã¾ã›ã‚“" -#: ../diff.c:2102 msgid "E100: No other buffer in diff mode" msgstr "E100: 差分モードã§ã‚ã‚‹ä»–ã®ãƒãƒƒãƒ•ã‚¡ã¯ã‚りã¾ã›ã‚“" -#: ../diff.c:2112 msgid "E101: More than two buffers in diff mode, don't know which one to use" msgstr "" "E101: 差分モードã®ãƒãƒƒãƒ•ã‚¡ãŒ2個以上ã‚ã‚‹ã®ã§ã€ã©ã‚Œã‚’使ã†ã‹ç‰¹å®šã§ãã¾ã›ã‚“" -#: ../diff.c:2141 #, c-format msgid "E102: Can't find buffer \"%s\"" msgstr "E102: ãƒãƒƒãƒ•ã‚¡ \"%s\" ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" -#: ../diff.c:2152 #, c-format msgid "E103: Buffer \"%s\" is not in diff mode" msgstr "E103: ãƒãƒƒãƒ•ã‚¡ \"%s\" ã¯å·®åˆ†ãƒ¢ãƒ¼ãƒ‰ã§ã¯ã‚りã¾ã›ã‚“" -#: ../diff.c:2193 msgid "E787: Buffer changed unexpectedly" msgstr "E787: 予期ã›ãšãƒãƒƒãƒ•ã‚¡ãŒå¤‰æ›´å¤‰æ›´ã•れã¾ã—ãŸ" -#: ../digraph.c:1598 msgid "E104: Escape not allowed in digraph" msgstr "E104: åˆå—ã«Escapeã¯ä½¿ç”¨ã§ãã¾ã›ã‚“" -#: ../digraph.c:1760 msgid "E544: Keymap file not found" msgstr "E544: ã‚ーマップファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" -#: ../digraph.c:1785 msgid "E105: Using :loadkeymap not in a sourced file" msgstr "E105: :source ã§å–込むファイル以外ã§ã¯ :loadkeymap を使ãˆã¾ã›ã‚“" -#: ../digraph.c:1821 msgid "E791: Empty keymap entry" msgstr "E791: 空ã®ã‚ーマップエントリ" -#: ../edit.c:82 msgid " Keyword completion (^N^P)" msgstr " ã‚ーワード補完 (^N^P)" #. ctrl_x_mode == 0, ^P/^N compl. -#: ../edit.c:83 msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)" msgstr " ^X モード (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)" -#: ../edit.c:85 msgid " Whole line completion (^L^N^P)" msgstr " 行(全体)補完 (^L^N^P)" -#: ../edit.c:86 msgid " File name completion (^F^N^P)" msgstr " ファイルå補完 (^F^N^P)" -#: ../edit.c:87 msgid " Tag completion (^]^N^P)" msgstr " タグ補完 (^]^N^P)" -#: ../edit.c:88 msgid " Path pattern completion (^N^P)" msgstr " パスパターン補完 (^N^P)" -#: ../edit.c:89 msgid " Definition completion (^D^N^P)" msgstr " 定義補完 (^D^N^P)" -#: ../edit.c:91 msgid " Dictionary completion (^K^N^P)" msgstr " 辞書補完 (^K^N^P)" -#: ../edit.c:92 msgid " Thesaurus completion (^T^N^P)" msgstr " シソーラス補完 (^T^N^P)" -#: ../edit.c:93 msgid " Command-line completion (^V^N^P)" msgstr " コマンドライン補完 (^V^N^P)" -#: ../edit.c:94 msgid " User defined completion (^U^N^P)" msgstr " ユーザー定義補完 (^U^N^P)" -#: ../edit.c:95 msgid " Omni completion (^O^N^P)" msgstr " オムニ補完 (^O^N^P)" -#: ../edit.c:96 msgid " Spelling suggestion (s^N^P)" msgstr " 綴り修æ£å€™è£œ (s^N^P)" -#: ../edit.c:97 msgid " Keyword Local completion (^N^P)" msgstr " 局所ã‚ーワード補完 (^N^P)" -#: ../edit.c:100 msgid "Hit end of paragraph" msgstr "段è½ã®æœ€å¾Œã«ãƒ’ット" -#: ../edit.c:101 msgid "E839: Completion function changed window" msgstr "E839: 補間関数ãŒã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã‚’変更ã—ã¾ã—ãŸ" -#: ../edit.c:102 msgid "E840: Completion function deleted text" msgstr "E840: 補完関数ãŒãƒ†ã‚ストを削除ã—ã¾ã—ãŸ" -#: ../edit.c:1847 msgid "'dictionary' option is empty" msgstr "'dictionary' オプションãŒç©ºã§ã™" -#: ../edit.c:1848 msgid "'thesaurus' option is empty" msgstr "'thesaurus' オプションãŒç©ºã§ã™" -#: ../edit.c:2655 #, c-format msgid "Scanning dictionary: %s" msgstr "辞書をスã‚ャンä¸: %s" -#: ../edit.c:3079 msgid " (insert) Scroll (^E/^Y)" msgstr " (挿入) スクãƒãƒ¼ãƒ«(^E/^Y)" -#: ../edit.c:3081 msgid " (replace) Scroll (^E/^Y)" msgstr " (ç½®æ›) スクãƒãƒ¼ãƒ« (^E/^Y)" -#: ../edit.c:3587 #, c-format msgid "Scanning: %s" msgstr "スã‚ャンä¸: %s" -#: ../edit.c:3614 msgid "Scanning tags." msgstr "タグをスã‚ャンä¸." -#: ../edit.c:4519 msgid " Adding" msgstr " è¿½åŠ ä¸" @@ -441,430 +438,161 @@ msgstr " è¿½åŠ ä¸" #. * be called before line = ml_get(), or when this address is no #. * longer needed. -- Acevedo. #. -#: ../edit.c:4562 msgid "-- Searching..." msgstr "-- 検索ä¸..." -#: ../edit.c:4618 msgid "Back at original" msgstr "å§‹ã‚ã«æˆ»ã‚‹" -#: ../edit.c:4621 msgid "Word from other line" msgstr "ä»–ã®è¡Œã®å˜èªž" -#: ../edit.c:4624 msgid "The only match" msgstr "唯一ã®è©²å½“" -#: ../edit.c:4680 #, c-format msgid "match %d of %d" msgstr "%d 番目ã®è©²å½“ (全該当 %d 個ä¸)" -#: ../edit.c:4684 #, c-format msgid "match %d" msgstr "%d 番目ã®è©²å½“" -#: ../eval.c:137 +#. maximum nesting of lists and dicts msgid "E18: Unexpected characters in :let" msgstr "E18: 予期ã›ã¬æ–‡å—㌠:let ã«ã‚りã¾ã—ãŸ" -#: ../eval.c:138 -#, c-format -msgid "E684: list index out of range: %<PRId64>" -msgstr "E684: リストã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ãŒç¯„囲外ã§ã™: %<PRId64>" - -#: ../eval.c:139 #, c-format msgid "E121: Undefined variable: %s" msgstr "E121: 未定義ã®å¤‰æ•°ã§ã™: %s" -#: ../eval.c:140 msgid "E111: Missing ']'" msgstr "E111: ']' ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" -#: ../eval.c:141 -#, c-format -msgid "E686: Argument of %s must be a List" -msgstr "E686: %s ã®å¼•æ•°ã¯ãƒªã‚¹ãƒˆåž‹ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“" - -#: ../eval.c:143 -#, c-format -msgid "E712: Argument of %s must be a List or Dictionary" -msgstr "E712: %s ã®å¼•æ•°ã¯ãƒªã‚¹ãƒˆåž‹ã¾ãŸã¯è¾žæ›¸åž‹ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“" - -#: ../eval.c:144 -msgid "E713: Cannot use empty key for Dictionary" -msgstr "E713: 辞書型ã«ç©ºã®ã‚ーを使ã†ã“ã¨ã¯ã§ãã¾ã›ã‚“" - -#: ../eval.c:145 -msgid "E714: List required" -msgstr "E714: リスト型ãŒå¿…è¦ã§ã™" - -#: ../eval.c:146 -msgid "E715: Dictionary required" -msgstr "E715: 辞書型ãŒå¿…è¦ã§ã™" - -#: ../eval.c:147 -#, c-format -msgid "E118: Too many arguments for function: %s" -msgstr "E118: 関数ã®å¼•æ•°ãŒå¤šéŽãŽã¾ã™: %s" - -#: ../eval.c:148 -#, c-format -msgid "E716: Key not present in Dictionary: %s" -msgstr "E716: 辞書型ã«ã‚ーãŒå˜åœ¨ã—ã¾ã›ã‚“: %s" - -#: ../eval.c:150 -#, c-format -msgid "E122: Function %s already exists, add ! to replace it" -msgstr "E122: 関数 %s ã¯å®šç¾©æ¸ˆã§ã™, å†å®šç¾©ã™ã‚‹ã«ã¯ ! ã‚’è¿½åŠ ã—ã¦ãã ã•ã„" - -#: ../eval.c:151 -msgid "E717: Dictionary entry already exists" -msgstr "E717: 辞書型内ã«ã‚¨ãƒ³ãƒˆãƒªãŒæ—¢ã«å˜åœ¨ã—ã¾ã™" - -#: ../eval.c:152 -msgid "E718: Funcref required" -msgstr "E718: 関数å‚ç…§åž‹ãŒè¦æ±‚ã•れã¾ã™" - -#: ../eval.c:153 msgid "E719: Cannot use [:] with a Dictionary" msgstr "E719: [:] を辞書型ã¨çµ„ã¿åˆã‚ã›ã¦ã¯ä½¿ãˆã¾ã›ã‚“" -#: ../eval.c:154 #, c-format msgid "E734: Wrong variable type for %s=" msgstr "E734: ç•°ãªã£ãŸåž‹ã®å¤‰æ•°ã§ã™ %s=" -#: ../eval.c:155 -#, c-format -msgid "E130: Unknown function: %s" -msgstr "E130: 未知ã®é–¢æ•°ã§ã™: %s" - -#: ../eval.c:156 #, c-format msgid "E461: Illegal variable name: %s" msgstr "E461: 䏿£ãªå¤‰æ•°åã§ã™: %s" -#: ../eval.c:157 msgid "E806: using Float as a String" msgstr "E806: æµ®å‹•å°æ•°ç‚¹æ•°ã‚’æ–‡å—列ã¨ã—ã¦æ‰±ã£ã¦ã„ã¾ã™" -#: ../eval.c:1830 msgid "E687: Less targets than List items" msgstr "E687: ターゲットãŒãƒªã‚¹ãƒˆåž‹å†…ã®è¦ç´ よりも少ãªã„ã§ã™" -#: ../eval.c:1834 msgid "E688: More targets than List items" msgstr "E688: ターゲットãŒãƒªã‚¹ãƒˆåž‹å†…ã®è¦ç´ よりも多ã„ã§ã™" -#: ../eval.c:1906 msgid "Double ; in list of variables" msgstr "リスト型ã®å€¤ã«2ã¤ä»¥ä¸Šã® ; ãŒæ¤œå‡ºã•れã¾ã—ãŸ" -#: ../eval.c:2078 #, c-format msgid "E738: Can't list variables for %s" msgstr "E738: %s ã®å€¤ã‚’一覧表示ã§ãã¾ã›ã‚“" -#: ../eval.c:2391 msgid "E689: Can only index a List or Dictionary" msgstr "E689: リスト型ã¨è¾žæ›¸åž‹ä»¥å¤–ã¯ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹æŒ‡å®šã§ãã¾ã›ã‚“" -#: ../eval.c:2396 msgid "E708: [:] must come last" msgstr "E708: [:] ã¯æœ€å¾Œã§ãªã‘れã°ã„ã‘ã¾ã›ã‚“" -#: ../eval.c:2439 msgid "E709: [:] requires a List value" msgstr "E709: [:] ã«ã¯ãƒªã‚¹ãƒˆåž‹ã®å€¤ãŒå¿…è¦ã§ã™" -#: ../eval.c:2674 msgid "E710: List value has more items than target" msgstr "E710: リスト型変数ã«ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã‚ˆã‚Šã‚‚多ã„è¦ç´ ãŒã‚りã¾ã™" -#: ../eval.c:2678 msgid "E711: List value has not enough items" msgstr "E711: リスト型変数ã«ååˆ†ãªæ•°ã®è¦ç´ ãŒã‚りã¾ã›ã‚“" # -#: ../eval.c:2867 msgid "E690: Missing \"in\" after :for" msgstr "E690: :for ã®å¾Œã« \"in\" ãŒã‚りã¾ã›ã‚“" -#: ../eval.c:3063 -#, c-format -msgid "E107: Missing parentheses: %s" -msgstr "E107: カッコ '(' ãŒã‚りã¾ã›ã‚“: %s" - -#: ../eval.c:3263 #, c-format msgid "E108: No such variable: \"%s\"" msgstr "E108: ãã®å¤‰æ•°ã¯ã‚りã¾ã›ã‚“: \"%s\"" -#: ../eval.c:3333 msgid "E743: variable nested too deep for (un)lock" msgstr "E743: (アン)ãƒãƒƒã‚¯ã™ã‚‹ã«ã¯å¤‰æ•°ã®å…¥ã‚ŒåãŒæ·±éŽãŽã¾ã™" -#: ../eval.c:3630 msgid "E109: Missing ':' after '?'" msgstr "E109: '?' ã®å¾Œã« ':' ãŒã‚りã¾ã›ã‚“" -#: ../eval.c:3893 msgid "E691: Can only compare List with List" msgstr "E691: リスト型ã¯ãƒªã‚¹ãƒˆåž‹ã¨ã—ã‹æ¯”較ã§ãã¾ã›ã‚“" -#: ../eval.c:3895 -msgid "E692: Invalid operation for Lists" +msgid "E692: Invalid operation for List" msgstr "E692: リスト型ã«ã¯ç„¡åŠ¹ãªæ“作ã§ã™" -#: ../eval.c:3915 msgid "E735: Can only compare Dictionary with Dictionary" msgstr "E735: 辞書型ã¯è¾žæ›¸åž‹ã¨ã—ã‹æ¯”較ã§ãã¾ã›ã‚“" -#: ../eval.c:3917 msgid "E736: Invalid operation for Dictionary" msgstr "E736: 辞書型ã«ã¯ç„¡åŠ¹ãªæ“作ã§ã™" -#: ../eval.c:3932 -msgid "E693: Can only compare Funcref with Funcref" -msgstr "E693: 関数å‚ç…§åž‹ã¯é–¢æ•°å‚ç…§åž‹ã¨ã—ã‹æ¯”較ã§ãã¾ã›ã‚“" - -#: ../eval.c:3934 msgid "E694: Invalid operation for Funcrefs" msgstr "E694: 関数å‚ç…§åž‹ã«ã¯ç„¡åŠ¹ãªæ“作ã§ã™" -#: ../eval.c:4277 msgid "E804: Cannot use '%' with Float" msgstr "E804: '%' ã‚’æµ®å‹•å°æ•°ç‚¹æ•°ã¨çµ„ã¿åˆã‚ã›ã¦ã¯ä½¿ãˆã¾ã›ã‚“" -#: ../eval.c:4478 msgid "E110: Missing ')'" msgstr "E110: ')' ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" -#: ../eval.c:4609 msgid "E695: Cannot index a Funcref" msgstr "E695: 関数å‚ç…§åž‹ã¯ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã§ãã¾ã›ã‚“" -#: ../eval.c:4839 +msgid "E909: Cannot index a special variable" +msgstr "E909: 特殊変数ã¯ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã§ãã¾ã›ã‚“" + #, c-format msgid "E112: Option name missing: %s" msgstr "E112: オプションåãŒã‚りã¾ã›ã‚“: %s" -#: ../eval.c:4855 #, c-format msgid "E113: Unknown option: %s" msgstr "E113: 未知ã®ã‚ªãƒ—ションã§ã™: %s" -#: ../eval.c:4904 #, c-format msgid "E114: Missing quote: %s" msgstr "E114: 引用符 (\") ãŒã‚りã¾ã›ã‚“: %s" -#: ../eval.c:5020 #, c-format msgid "E115: Missing quote: %s" msgstr "E115: 引用符 (') ãŒã‚りã¾ã›ã‚“: %s" -#: ../eval.c:5084 -#, c-format -msgid "E696: Missing comma in List: %s" -msgstr "E696: リスト型ã«ã‚«ãƒ³ãƒžãŒã‚りã¾ã›ã‚“: %s" - -#: ../eval.c:5091 -#, c-format -msgid "E697: Missing end of List ']': %s" -msgstr "E697: ãƒªã‚¹ãƒˆåž‹ã®æœ€å¾Œã« ']' ãŒã‚りã¾ã›ã‚“: %s" - msgid "Not enough memory to set references, garbage collection aborted!" msgstr "" "ã‚¬ãƒ¼ãƒ™ãƒƒã‚¸ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’ä¸æ¢ã—ã¾ã—ãŸ! å‚照を作æˆã™ã‚‹ã®ã«ãƒ¡ãƒ¢ãƒªãŒä¸è¶³ã—ã¾ã—ãŸ" -#: ../eval.c:6475 -#, c-format -msgid "E720: Missing colon in Dictionary: %s" -msgstr "E720: 辞書型ã«ã‚³ãƒãƒ³ãŒã‚りã¾ã›ã‚“: %s" - -#: ../eval.c:6499 -#, c-format -msgid "E721: Duplicate key in Dictionary: \"%s\"" -msgstr "E721: 辞書型ã«é‡è¤‡ã‚ーãŒã‚りã¾ã™: \"%s\"" - -#: ../eval.c:6517 -#, c-format -msgid "E722: Missing comma in Dictionary: %s" -msgstr "E722: 辞書型ã«ã‚«ãƒ³ãƒžãŒã‚りã¾ã›ã‚“: %s" - -#: ../eval.c:6524 -#, c-format -msgid "E723: Missing end of Dictionary '}': %s" -msgstr "E723: è¾žæ›¸åž‹ã®æœ€å¾Œã« '}' ãŒã‚りã¾ã›ã‚“: %s" - -#: ../eval.c:6555 msgid "E724: variable nested too deep for displaying" msgstr "E724: 表示ã™ã‚‹ã«ã¯å¤‰æ•°ã®å…¥ã‚ŒåãŒæ·±éŽãŽã¾ã™" -#: ../eval.c:7188 -#, c-format -msgid "E740: Too many arguments for function %s" -msgstr "E740: 関数ã®å¼•æ•°ãŒå¤šéŽãŽã¾ã™: %s" - -#: ../eval.c:7190 -#, c-format -msgid "E116: Invalid arguments for function %s" -msgstr "E116: 関数ã®ç„¡åйãªå¼•æ•°ã§ã™: %s" - -#: ../eval.c:7377 -#, c-format -msgid "E117: Unknown function: %s" -msgstr "E117: 未知ã®é–¢æ•°ã§ã™: %s" - -#: ../eval.c:7383 -#, c-format -msgid "E119: Not enough arguments for function: %s" -msgstr "E119: 関数ã®å¼•æ•°ãŒè¶³ã‚Šã¾ã›ã‚“: %s" - -#: ../eval.c:7387 -#, c-format -msgid "E120: Using <SID> not in a script context: %s" -msgstr "E120: スクリプト以外ã§<SID>ãŒä½¿ã‚れã¾ã—ãŸ: %s" - -#: ../eval.c:7391 -#, c-format -msgid "E725: Calling dict function without Dictionary: %s" -msgstr "E725: 辞書用関数ãŒå‘¼ã°ã‚Œã¾ã—ãŸãŒè¾žæ›¸ãŒã‚りã¾ã›ã‚“: %s" - -#: ../eval.c:7453 -msgid "E808: Number or Float required" -msgstr "E808: æ•°å€¤ã‹æµ®å‹•å°æ•°ç‚¹æ•°ãŒå¿…è¦ã§ã™" - -#: ../eval.c:7503 -msgid "add() argument" -msgstr "add() ã®å¼•æ•°" - -#: ../eval.c:7907 -msgid "E699: Too many arguments" -msgstr "E699: 引数ãŒå¤šéŽãŽã¾ã™" - -#: ../eval.c:8073 -msgid "E785: complete() can only be used in Insert mode" -msgstr "E785: complete() ã¯æŒ¿å…¥ãƒ¢ãƒ¼ãƒ‰ã§ã—ã‹åˆ©ç”¨ã§ãã¾ã›ã‚“" - -#: ../eval.c:8156 -msgid "&Ok" -msgstr "&Ok" - -#: ../eval.c:8676 -#, c-format -msgid "E737: Key already exists: %s" -msgstr "E737: ã‚ãƒ¼ã¯æ—¢ã«å˜åœ¨ã—ã¾ã™: %s" - -#: ../eval.c:8692 -msgid "extend() argument" -msgstr "extend() ã®å¼•æ•°" - -#: ../eval.c:8915 -msgid "map() argument" -msgstr "map() ã®å¼•æ•°" - -#: ../eval.c:8916 -msgid "filter() argument" -msgstr "filter() ã®å¼•æ•°" - -#: ../eval.c:9229 -#, c-format -msgid "+-%s%3ld lines: " -msgstr "+-%s%3ld 行: " - -#: ../eval.c:9291 -#, c-format -msgid "E700: Unknown function: %s" -msgstr "E700: 未知ã®é–¢æ•°ã§ã™: %s" - -#: ../eval.c:10729 -msgid "called inputrestore() more often than inputsave()" -msgstr "inputrestore() ㌠inputsave() よりも多ã呼ã°ã‚Œã¾ã—ãŸ" - -#: ../eval.c:10771 -msgid "insert() argument" -msgstr "insert() ã®å¼•æ•°" - -#: ../eval.c:10841 -msgid "E786: Range not allowed" -msgstr "E786: 範囲指定ã¯è¨±å¯ã•れã¦ã„ã¾ã›ã‚“" - -#: ../eval.c:11140 -msgid "E701: Invalid type for len()" -msgstr "E701: len() ã«ã¯ç„¡åйãªåž‹ã§ã™" - -#: ../eval.c:11980 -msgid "E726: Stride is zero" -msgstr "E726: ストライド(å‰é€²é‡)㌠0 ã§ã™" - -#: ../eval.c:11982 -msgid "E727: Start past end" -msgstr "E727: é–‹å§‹ä½ç½®ãŒçµ‚了ä½ç½®ã‚’è¶Šãˆã¾ã—ãŸ" - -#: ../eval.c:12024 ../eval.c:15297 -msgid "<empty>" -msgstr "<空>" - -#: ../eval.c:12282 -msgid "remove() argument" -msgstr "remove() ã®å¼•æ•°" - -# Added at 10-Mar-2004. -#: ../eval.c:12466 -msgid "E655: Too many symbolic links (cycle?)" -msgstr "E655: シンボリックリンクãŒå¤šéŽãŽã¾ã™ (循環ã—ã¦ã„ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™)" - -#: ../eval.c:12593 -msgid "reverse() argument" -msgstr "reverse() ã®å¼•æ•°" - -#: ../eval.c:13721 -msgid "sort() argument" -msgstr "sort() ã®å¼•æ•°" - -#: ../eval.c:13721 -msgid "uniq() argument" -msgstr "uniq() ã®å¼•æ•°" - -#: ../eval.c:13776 -msgid "E702: Sort compare function failed" -msgstr "E702: ã‚½ãƒ¼ãƒˆã®æ¯”較関数ãŒå¤±æ•—ã—ã¾ã—ãŸ" - -#: ../eval.c:13806 -msgid "E882: Uniq compare function failed" -msgstr "E882: Uniq ã®æ¯”較関数ãŒå¤±æ•—ã—ã¾ã—ãŸ" - -#: ../eval.c:14085 -msgid "(Invalid)" -msgstr "(無効)" - -#: ../eval.c:14590 -msgid "E677: Error writing temp file" -msgstr "E677: 一時ファイル書込ä¸ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ" - -#: ../eval.c:16159 msgid "E805: Using a Float as a Number" msgstr "E805: æµ®å‹•å°æ•°ç‚¹æ•°ã‚’数値ã¨ã—ã¦æ‰±ã£ã¦ã„ã¾ã™" -#: ../eval.c:16162 msgid "E703: Using a Funcref as a Number" msgstr "E703: 関数å‚照型を数値ã¨ã—ã¦æ‰±ã£ã¦ã„ã¾ã™ã€‚" -#: ../eval.c:16170 msgid "E745: Using a List as a Number" msgstr "E745: リスト型を数値ã¨ã—ã¦æ‰±ã£ã¦ã„ã¾ã™" -#: ../eval.c:16173 msgid "E728: Using a Dictionary as a Number" msgstr "E728: 辞書型を数値ã¨ã—ã¦æ‰±ã£ã¦ã„ã¾ã™" +msgid "E910: Using a Job as a Number" +msgstr "E910: ジョブを数値ã¨ã—ã¦æ‰±ã£ã¦ã„ã¾ã™" + +msgid "E913: Using a Channel as a Number" +msgstr "E913: ãƒãƒ£ãƒ³ãƒãƒ«ã‚’数値ã¨ã—ã¦æ‰±ã£ã¦ã„ã¾ã™ã€‚" + msgid "E891: Using a Funcref as a Float" msgstr "E891: 関数å‚ç…§åž‹ã‚’æµ®å‹•å°æ•°ç‚¹æ•°ã¨ã—ã¦æ‰±ã£ã¦ã„ã¾ã™ã€‚" @@ -877,265 +605,280 @@ msgstr "E893: ãƒªã‚¹ãƒˆåž‹ã‚’æµ®å‹•å°æ•°ç‚¹æ•°ã¨ã—ã¦æ‰±ã£ã¦ã„ã¾ã™" msgid "E894: Using a Dictionary as a Float" msgstr "E894: è¾žæ›¸åž‹ã‚’æµ®å‹•å°æ•°ç‚¹æ•°ã¨ã—ã¦æ‰±ã£ã¦ã„ã¾ã™" -#: ../eval.c:16259 +msgid "E907: Using a special value as a Float" +msgstr "E907: ç‰¹æ®Šå€¤ã‚’æµ®å‹•å°æ•°ç‚¹æ•°ã¨ã—ã¦æ‰±ã£ã¦ã„ã¾ã™" + +msgid "E911: Using a Job as a Float" +msgstr "E911: ã‚¸ãƒ§ãƒ–ã‚’æµ®å‹•å°æ•°ç‚¹æ•°ã¨ã—ã¦æ‰±ã£ã¦ã„ã¾ã™" + +msgid "E914: Using a Channel as a Float" +msgstr "E914: ãƒãƒ£ãƒ³ãƒãƒ«ã‚’æµ®å‹•å°æ•°ç‚¹æ•°ã¨ã—ã¦æ‰±ã£ã¦ã„ã¾ã™ã€‚" + msgid "E729: using Funcref as a String" msgstr "E729: 関数å‚照型を文å—列ã¨ã—ã¦æ‰±ã£ã¦ã„ã¾ã™" -#: ../eval.c:16262 msgid "E730: using List as a String" msgstr "E730: リスト型を文å—列ã¨ã—ã¦æ‰±ã£ã¦ã„ã¾ã™" -#: ../eval.c:16265 msgid "E731: using Dictionary as a String" msgstr "E731: 辞書型を文å—列ã¨ã—ã¦æ‰±ã£ã¦ã„ã¾ã™" -#: ../eval.c:16619 -#, c-format -msgid "E706: Variable type mismatch for: %s" -msgstr "E706: 変数ã®åž‹ãŒä¸€è‡´ã—ã¾ã›ã‚“: %s" +msgid "E908: using an invalid value as a String" +msgstr "E908: 無効ãªå€¤ã‚’æ–‡å—列ã¨ã—ã¦æ‰±ã£ã¦ã„ã¾ã™" -#: ../eval.c:16705 #, c-format msgid "E795: Cannot delete variable %s" msgstr "E795: 変数 %s を削除ã§ãã¾ã›ã‚“" -#: ../eval.c:16724 #, c-format msgid "E704: Funcref variable name must start with a capital: %s" msgstr "E704: 関数å‚照型変数åã¯å¤§æ–‡å—ã§å§‹ã¾ã‚‰ãªã‘れã°ãªã‚Šã¾ã›ã‚“: %s" -#: ../eval.c:16732 #, c-format msgid "E705: Variable name conflicts with existing function: %s" msgstr "E705: 変数åãŒæ—¢å˜ã®é–¢æ•°åã¨è¡çªã—ã¾ã™: %s" -#: ../eval.c:16763 #, c-format msgid "E741: Value is locked: %s" msgstr "E741: 値ãŒãƒãƒƒã‚¯ã•れã¦ã„ã¾ã™: %s" -#: ../eval.c:16764 ../eval.c:16769 ../message.c:1839 msgid "Unknown" msgstr "䏿˜Ž" -#: ../eval.c:16768 #, c-format msgid "E742: Cannot change value of %s" msgstr "E742: %s ã®å€¤ã‚’変更ã§ãã¾ã›ã‚“" -#: ../eval.c:16838 msgid "E698: variable nested too deep for making a copy" msgstr "E698: コピーをå–ã‚‹ã«ã¯å¤‰æ•°ã®å…¥ã‚ŒåãŒæ·±éŽãŽã¾ã™" -#: ../eval.c:17249 -#, c-format -msgid "E123: Undefined function: %s" -msgstr "E123: 未定義ã®é–¢æ•°ã§ã™: %s" +msgid "" +"\n" +"# global variables:\n" +msgstr "" +"\n" +"# ã‚°ãƒãƒ¼ãƒãƒ«å¤‰æ•°:\n" -#: ../eval.c:17260 -#, c-format -msgid "E124: Missing '(': %s" -msgstr "E124: '(' ãŒã‚りã¾ã›ã‚“: %s" +msgid "" +"\n" +"\tLast set from " +msgstr "" +"\n" +"\t最後ã«ã‚»ãƒƒãƒˆã—ãŸã‚¹ã‚¯ãƒªãƒ—ト: " -#: ../eval.c:17293 -msgid "E862: Cannot use g: here" -msgstr "E862: ã“ã“ã§ã¯ g: ã¯ä½¿ãˆã¾ã›ã‚“" +msgid "map() argument" +msgstr "map() ã®å¼•æ•°" -#: ../eval.c:17312 -#, c-format -msgid "E125: Illegal argument: %s" -msgstr "E125: 䏿£ãªå¼•æ•°ã§ã™: %s" +msgid "filter() argument" +msgstr "filter() ã®å¼•æ•°" -#: ../eval.c:17323 #, c-format -msgid "E853: Duplicate argument name: %s" -msgstr "E853: 引数åãŒé‡è¤‡ã—ã¦ã„ã¾ã™: %s" +msgid "E686: Argument of %s must be a List" +msgstr "E686: %s ã®å¼•æ•°ã¯ãƒªã‚¹ãƒˆåž‹ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“" -#: ../eval.c:17416 -msgid "E126: Missing :endfunction" -msgstr "E126: :endfunction ãŒã‚りã¾ã›ã‚“" +msgid "E928: String required" +msgstr "E928: æ–‡å—列ãŒå¿…è¦ã§ã™" -#: ../eval.c:17537 -#, c-format -msgid "E707: Function name conflicts with variable: %s" -msgstr "E707: 関数åãŒå¤‰æ•°åã¨è¡çªã—ã¾ã™: %s" +msgid "E808: Number or Float required" +msgstr "E808: æ•°å€¤ã‹æµ®å‹•å°æ•°ç‚¹æ•°ãŒå¿…è¦ã§ã™" -#: ../eval.c:17549 -#, c-format -msgid "E127: Cannot redefine function %s: It is in use" -msgstr "E127: 関数 %s ã‚’å†å®šç¾©ã§ãã¾ã›ã‚“: 使用ä¸ã§ã™" +msgid "add() argument" +msgstr "add() ã®å¼•æ•°" -#: ../eval.c:17604 -#, c-format -msgid "E746: Function name does not match script file name: %s" -msgstr "E746: 関数åãŒã‚¹ã‚¯ãƒªãƒ—トã®ãƒ•ァイルåã¨ä¸€è‡´ã—ã¾ã›ã‚“: %s" +msgid "E785: complete() can only be used in Insert mode" +msgstr "E785: complete() ã¯æŒ¿å…¥ãƒ¢ãƒ¼ãƒ‰ã§ã—ã‹åˆ©ç”¨ã§ãã¾ã›ã‚“" -#: ../eval.c:17716 -msgid "E129: Function name required" -msgstr "E129: 関数åãŒè¦æ±‚ã•れã¾ã™" +#. +#. * Yes this is ugly, I don't particularly like it either. But doing it +#. * this way has the compelling advantage that translations need not to +#. * be touched at all. See below what 'ok' and 'ync' are used for. +#. +msgid "&Ok" +msgstr "&Ok" -#: ../eval.c:17824 #, c-format -msgid "E128: Function name must start with a capital or \"s:\": %s" -msgstr "E128: 関数åã¯å¤§æ–‡å—ã‹ \"s:\" ã§å§‹ã¾ã‚‰ãªã‘れã°ãªã‚Šã¾ã›ã‚“: %s" +msgid "+-%s%3ld line: " +msgid_plural "+-%s%3ld lines: " +msgstr[0] "+-%s%3ld 行: " -#: ../eval.c:17833 #, c-format -msgid "E884: Function name cannot contain a colon: %s" -msgstr "E884: 関数åã«ã¯ã‚³ãƒãƒ³ã¯å«ã‚られã¾ã›ã‚“: %s" +msgid "E700: Unknown function: %s" +msgstr "E700: 未知ã®é–¢æ•°ã§ã™: %s" -#: ../eval.c:18336 -#, c-format -msgid "E131: Cannot delete function %s: It is in use" -msgstr "E131: 関数 %s を削除ã§ãã¾ã›ã‚“: 使用ä¸ã§ã™" +msgid "E922: expected a dict" +msgstr "E922: è¾žæ›¸ãŒæœŸå¾…ã•れã¦ã„ã¾ã™" -#: ../eval.c:18441 -msgid "E132: Function call depth is higher than 'maxfuncdepth'" -msgstr "E132: 関数呼出ã®å…¥ã‚Œå数㌠'maxfuncdepth' ã‚’è¶…ãˆã¾ã—ãŸ" +msgid "E923: Second argument of function() must be a list or a dict" +msgstr "E923: function() ã®ç¬¬ 2 引数ã¯ãƒªã‚¹ãƒˆåž‹ã¾ãŸã¯è¾žæ›¸åž‹ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“" -#: ../eval.c:18568 -#, c-format -msgid "calling %s" -msgstr "%s を実行ä¸ã§ã™" +msgid "" +"&OK\n" +"&Cancel" +msgstr "" +"決定(&O)\n" +"ã‚ャンセル(&C)" -#: ../eval.c:18651 -#, c-format -msgid "%s aborted" -msgstr "%s ãŒä¸æ–ã•れã¾ã—ãŸ" +msgid "called inputrestore() more often than inputsave()" +msgstr "inputrestore() ㌠inputsave() よりも多ã呼ã°ã‚Œã¾ã—ãŸ" + +msgid "insert() argument" +msgstr "insert() ã®å¼•æ•°" + +msgid "E786: Range not allowed" +msgstr "E786: 範囲指定ã¯è¨±å¯ã•れã¦ã„ã¾ã›ã‚“" + +msgid "E916: not a valid job" +msgstr "E916: 有効ãªã‚¸ãƒ§ãƒ–ã§ã¯ã‚りã¾ã›ã‚“" + +msgid "E701: Invalid type for len()" +msgstr "E701: len() ã«ã¯ç„¡åйãªåž‹ã§ã™" -#: ../eval.c:18653 #, c-format -msgid "%s returning #%<PRId64>" -msgstr "%s ㌠#%<PRId64> ã‚’è¿”ã—ã¾ã—ãŸ" +msgid "E798: ID is reserved for \":match\": %ld" +msgstr "E798: ID 㯠\":match\" ã®ãŸã‚ã«äºˆç´„ã•れã¦ã„ã¾ã™: %ld" + +msgid "E726: Stride is zero" +msgstr "E726: ストライド(å‰é€²é‡)㌠0 ã§ã™" + +msgid "E727: Start past end" +msgstr "E727: é–‹å§‹ä½ç½®ãŒçµ‚了ä½ç½®ã‚’è¶Šãˆã¾ã—ãŸ" + +msgid "<empty>" +msgstr "<空>" + +msgid "E240: No connection to Vim server" +msgstr "E240: Vim サーãƒãƒ¼ã¸ã®æŽ¥ç¶šãŒã‚りã¾ã›ã‚“" -#: ../eval.c:18670 #, c-format -msgid "%s returning %s" -msgstr "%s ㌠%s ã‚’è¿”ã—ã¾ã—ãŸ" +msgid "E241: Unable to send to %s" +msgstr "E241: %s ã¸é€ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“" + +msgid "E277: Unable to read a server reply" +msgstr "E277: サーãƒãƒ¼ã®å¿œç”ãŒã‚りã¾ã›ã‚“" + +msgid "remove() argument" +msgstr "remove() ã®å¼•æ•°" + +# Added at 10-Mar-2004. +msgid "E655: Too many symbolic links (cycle?)" +msgstr "E655: シンボリックリンクãŒå¤šéŽãŽã¾ã™ (循環ã—ã¦ã„ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™)" + +msgid "reverse() argument" +msgstr "reverse() ã®å¼•æ•°" + +msgid "E258: Unable to send to client" +msgstr "E258: クライアントã¸é€ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“" -#: ../eval.c:18691 ../ex_cmds2.c:2695 #, c-format -msgid "continuing in %s" -msgstr "%s ã®å®Ÿè¡Œã‚’継続ä¸ã§ã™" +msgid "E927: Invalid action: '%s'" +msgstr "E927: ç„¡åŠ¹ãªæ“作ã§ã™: %s" -#: ../eval.c:18795 -msgid "E133: :return not inside a function" -msgstr "E133: 関数外㫠:return ãŒã‚りã¾ã—ãŸ" +msgid "sort() argument" +msgstr "sort() ã®å¼•æ•°" -#: ../eval.c:19159 -msgid "" -"\n" -"# global variables:\n" -msgstr "" -"\n" -"# ã‚°ãƒãƒ¼ãƒãƒ«å¤‰æ•°:\n" +msgid "uniq() argument" +msgstr "uniq() ã®å¼•æ•°" -#: ../eval.c:19254 -msgid "" -"\n" -"\tLast set from " -msgstr "" -"\n" -"\tLast set from " +msgid "E702: Sort compare function failed" +msgstr "E702: ã‚½ãƒ¼ãƒˆã®æ¯”較関数ãŒå¤±æ•—ã—ã¾ã—ãŸ" -#: ../eval.c:19272 -msgid "No old files" -msgstr "å¤ã„ファイルã¯ã‚りã¾ã›ã‚“" +msgid "E882: Uniq compare function failed" +msgstr "E882: Uniq ã®æ¯”較関数ãŒå¤±æ•—ã—ã¾ã—ãŸ" + +msgid "(Invalid)" +msgstr "(無効)" + +#, c-format +msgid "E935: invalid submatch number: %d" +msgstr "E935: 無効ãªã‚µãƒ–マッãƒç•ªå·: %d" + +msgid "E677: Error writing temp file" +msgstr "E677: 一時ファイル書込ä¸ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ" + +msgid "E921: Invalid callback argument" +msgstr "E921: 無効ãªã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯å¼•æ•°ã§ã™" -#: ../ex_cmds.c:122 #, c-format msgid "<%s>%s%s %d, Hex %02x, Octal %03o" msgstr "<%s>%s%s %d, 16進数 %02x, 8進数 %03o" -#: ../ex_cmds.c:145 #, c-format msgid "> %d, Hex %04x, Octal %o" msgstr "> %d, 16進数 %04x, 8進数 %o" -#: ../ex_cmds.c:146 #, c-format msgid "> %d, Hex %08x, Octal %o" msgstr "> %d, 16進数 %08x, 8進数 %o" -#: ../ex_cmds.c:684 msgid "E134: Move lines into themselves" msgstr "E134: 行をãれ自身ã«ã¯ç§»å‹•ã§ãã¾ã›ã‚“" -#: ../ex_cmds.c:747 msgid "1 line moved" msgstr "1 行ãŒç§»å‹•ã•れã¾ã—ãŸ" -#: ../ex_cmds.c:749 #, c-format -msgid "%<PRId64> lines moved" -msgstr "%<PRId64> 行ãŒç§»å‹•ã•れã¾ã—ãŸ" +msgid "%ld lines moved" +msgstr "%ld 行ãŒç§»å‹•ã•れã¾ã—ãŸ" -#: ../ex_cmds.c:1175 #, c-format -msgid "%<PRId64> lines filtered" -msgstr "%<PRId64> 行ãŒãƒ•ィルタ処ç†ã•れã¾ã—ãŸ" +msgid "%ld lines filtered" +msgstr "%ld 行ãŒãƒ•ィルタ処ç†ã•れã¾ã—ãŸ" -#: ../ex_cmds.c:1194 msgid "E135: *Filter* Autocommands must not change current buffer" msgstr "E135: *フィルタ* autocommandã¯ç¾åœ¨ã®ãƒãƒƒãƒ•ァを変更ã—ã¦ã¯ã„ã‘ã¾ã›ã‚“" -#: ../ex_cmds.c:1244 msgid "[No write since last change]\n" msgstr "[最後ã®å¤‰æ›´ãŒä¿å˜ã•れã¦ã„ã¾ã›ã‚“]\n" -#: ../ex_cmds.c:1424 #, c-format msgid "%sviminfo: %s in line: " msgstr "%sviminfo: %s 行目: " -#: ../ex_cmds.c:1431 msgid "E136: viminfo: Too many errors, skipping rest of file" msgstr "E136: viminfo: エラーãŒå¤šéŽãŽã‚‹ã®ã§, 以é™ã¯ã‚¹ã‚ップã—ã¾ã™" -#: ../ex_cmds.c:1458 #, c-format msgid "Reading viminfo file \"%s\"%s%s%s" msgstr "viminfoファイル \"%s\"%s%s%s ã‚’èªè¾¼ã¿ä¸" -#: ../ex_cmds.c:1460 msgid " info" msgstr " æƒ…å ±" -#: ../ex_cmds.c:1461 msgid " marks" msgstr " マーク" -#: ../ex_cmds.c:1462 msgid " oldfiles" msgstr " 旧ファイル群" -#: ../ex_cmds.c:1463 msgid " FAILED" msgstr " 失敗" #. avoid a wait_return for this message, it's annoying -#: ../ex_cmds.c:1541 #, c-format msgid "E137: Viminfo file is not writable: %s" msgstr "E137: viminfoãƒ•ã‚¡ã‚¤ãƒ«ãŒæ›¸è¾¼ã¿ã§ãã¾ã›ã‚“: %s" -#: ../ex_cmds.c:1626 +#, c-format +msgid "E929: Too many viminfo temp files, like %s!" +msgstr "E929: 一時viminfoファイルãŒå¤šéŽãŽã¾ã™! 例: %s" + #, c-format msgid "E138: Can't write viminfo file %s!" msgstr "E138: viminfoファイル %s ã‚’ä¿å˜ã§ãã¾ã›ã‚“!" -#: ../ex_cmds.c:1635 #, c-format msgid "Writing viminfo file \"%s\"" msgstr "viminfoファイル \"%s\" を書込ã¿ä¸" +#, c-format +msgid "E886: Can't rename viminfo file to %s!" +msgstr "E886: viminfoファイルを %s ã¸åå‰å¤‰æ›´ã§ãã¾ã›ã‚“!" + #. Write the info: -#: ../ex_cmds.c:1720 #, c-format msgid "# This viminfo file was generated by Vim %s.\n" msgstr "# ã“ã® viminfo ファイル㯠Vim %s ã«ã‚ˆã£ã¦ç”Ÿæˆã•れã¾ã—ãŸ.\n" -#: ../ex_cmds.c:1722 msgid "" "# You may edit it if you're careful!\n" "\n" @@ -1143,47 +886,47 @@ msgstr "" "# 変更ã™ã‚‹éš›ã«ã¯å分注æ„ã—ã¦ãã ã•ã„!\n" "\n" -#: ../ex_cmds.c:1723 msgid "# Value of 'encoding' when this file was written\n" msgstr "# ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒæ›¸ã‹ã‚ŒãŸæ™‚ã® 'encoding' ã®å€¤\n" -#: ../ex_cmds.c:1800 msgid "Illegal starting char" msgstr "䏿£ãªå…ˆé æ–‡å—ã§ã™" -#: ../ex_cmds.c:2162 +msgid "" +"\n" +"# Bar lines, copied verbatim:\n" +msgstr "" +"\n" +"# '|' ã§å§‹ã¾ã‚‹è¡Œã®ã€æ–‡å—通りã®ã‚³ãƒ”ー:\n" + +msgid "Save As" +msgstr "別åã§ä¿å˜" + msgid "Write partial file?" msgstr "ファイルを部分的ã«ä¿å˜ã—ã¾ã™ã‹?" -#: ../ex_cmds.c:2166 msgid "E140: Use ! to write partial buffer" msgstr "E140: ãƒãƒƒãƒ•ァを部分的ã«ä¿å˜ã™ã‚‹ã«ã¯ ! を使ã£ã¦ãã ã•ã„" -#: ../ex_cmds.c:2281 #, c-format msgid "Overwrite existing file \"%s\"?" msgstr "æ—¢å˜ã®ãƒ•ァイル \"%s\" を上書ãã—ã¾ã™ã‹?" -#: ../ex_cmds.c:2317 #, c-format msgid "Swap file \"%s\" exists, overwrite anyway?" msgstr "スワップファイル \"%s\" ãŒå˜åœ¨ã—ã¾ã™. 上書ãを強制ã—ã¾ã™ã‹?" -#: ../ex_cmds.c:2326 #, c-format msgid "E768: Swap file exists: %s (:silent! overrides)" msgstr "E768: スワップファイルãŒå˜åœ¨ã—ã¾ã™: %s (:silent! ã‚’è¿½åŠ ã§ä¸Šæ›¸)" -#: ../ex_cmds.c:2381 #, c-format -msgid "E141: No file name for buffer %<PRId64>" -msgstr "E141: ãƒãƒƒãƒ•ã‚¡ %<PRId64> ã«ã¯åå‰ãŒã‚りã¾ã›ã‚“" +msgid "E141: No file name for buffer %ld" +msgstr "E141: ãƒãƒƒãƒ•ã‚¡ %ld ã«ã¯åå‰ãŒã‚りã¾ã›ã‚“" -#: ../ex_cmds.c:2412 msgid "E142: File not written: Writing is disabled by 'write' option" msgstr "E142: ファイルã¯ä¿å˜ã•れã¾ã›ã‚“ã§ã—ãŸ: 'write' オプションã«ã‚ˆã‚Šç„¡åйã§ã™" -#: ../ex_cmds.c:2434 #, c-format msgid "" "'readonly' option is set for \"%s\".\n" @@ -1192,7 +935,6 @@ msgstr "" "\"%s\" ã«ã¯ 'readonly' オプションãŒè¨å®šã•れã¦ã„ã¾ã™.\n" "上書ã強制をã—ã¾ã™ã‹?" -#: ../ex_cmds.c:2439 #, c-format msgid "" "File permissions of \"%s\" are read-only.\n" @@ -1203,83 +945,68 @@ msgstr "" "ãれã§ã‚‚æã‚‰ã書ã込むã“ã¨ã¯å¯èƒ½ã§ã™.\n" "継続ã—ã¾ã™ã‹?" -#: ../ex_cmds.c:2451 #, c-format msgid "E505: \"%s\" is read-only (add ! to override)" msgstr "E505: \"%s\" ã¯èªè¾¼å°‚用ã§ã™ (強制書込ã«ã¯ ! ã‚’è¿½åŠ )" -#: ../ex_cmds.c:3120 +msgid "Edit File" +msgstr "ファイルを編集" + #, c-format msgid "E143: Autocommands unexpectedly deleted new buffer %s" msgstr "E143: autocommandãŒäºˆæœŸã›ãšæ–°ã—ã„ãƒãƒƒãƒ•ã‚¡ %s を削除ã—ã¾ã—ãŸ" -#: ../ex_cmds.c:3313 msgid "E144: non-numeric argument to :z" msgstr "E144: æ•°ã§ã¯ãªã„引数㌠:z ã«æ¸¡ã•れã¾ã—ãŸ" -#: ../ex_cmds.c:3404 msgid "E145: Shell commands not allowed in rvim" msgstr "E145: rvimã§ã¯ã‚·ã‚§ãƒ«ã‚³ãƒžãƒ³ãƒ‰ã‚’使ãˆã¾ã›ã‚“" -#: ../ex_cmds.c:3498 msgid "E146: Regular expressions can't be delimited by letters" msgstr "E146: æ£è¦è¡¨ç¾ã¯æ–‡å—ã§åŒºåˆ‡ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“" -#: ../ex_cmds.c:3964 #, c-format msgid "replace with %s (y/n/a/q/l/^E/^Y)?" msgstr "%s ã«ç½®æ›ã—ã¾ã™ã‹? (y/n/a/q/l/^E/^Y)" -#: ../ex_cmds.c:4379 msgid "(Interrupted) " msgstr "(割込ã¾ã‚Œã¾ã—ãŸ) " -#: ../ex_cmds.c:4384 msgid "1 match" msgstr "1 箇所該当ã—ã¾ã—ãŸ" -#: ../ex_cmds.c:4384 msgid "1 substitution" msgstr "1 箇所置æ›ã—ã¾ã—ãŸ" -#: ../ex_cmds.c:4387 #, c-format -msgid "%<PRId64> matches" -msgstr "%<PRId64> 箇所該当ã—ã¾ã—ãŸ" +msgid "%ld matches" +msgstr "%ld 箇所該当ã—ã¾ã—ãŸ" -#: ../ex_cmds.c:4388 #, c-format -msgid "%<PRId64> substitutions" -msgstr "%<PRId64> 箇所置æ›ã—ã¾ã—ãŸ" +msgid "%ld substitutions" +msgstr "%ld 箇所置æ›ã—ã¾ã—ãŸ" -#: ../ex_cmds.c:4392 msgid " on 1 line" msgstr " (計 1 行内)" -#: ../ex_cmds.c:4395 #, c-format -msgid " on %<PRId64> lines" -msgstr " (計 %<PRId64> 行内)" +msgid " on %ld lines" +msgstr " (計 %ld 行内)" -#: ../ex_cmds.c:4438 msgid "E147: Cannot do :global recursive" msgstr "E147: :global ã‚’å†å¸°çš„ã«ã¯ä½¿ãˆã¾ã›ã‚“" -#: ../ex_cmds.c:4467 msgid "E148: Regular expression missing from global" msgstr "E148: globalã‚³ãƒžãƒ³ãƒ‰ã«æ£è¦è¡¨ç¾ãŒæŒ‡å®šã•れã¦ã„ã¾ã›ã‚“" -#: ../ex_cmds.c:4508 #, c-format msgid "Pattern found in every line: %s" msgstr "パターンãŒå…¨ã¦ã®è¡Œã§è¦‹ã¤ã‹ã‚Šã¾ã—ãŸ: %s" -#: ../ex_cmds.c:4510 #, c-format msgid "Pattern not found: %s" msgstr "パターンã¯è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ: %s" -#: ../ex_cmds.c:4587 msgid "" "\n" "# Last Substitute String:\n" @@ -1289,110 +1016,102 @@ msgstr "" "# 最後ã«ç½®æ›ã•ã‚ŒãŸæ–‡å—列:\n" "$" -#: ../ex_cmds.c:4679 msgid "E478: Don't panic!" msgstr "E478: æ…Œã¦ãªã„ã§ãã ã•ã„" -#: ../ex_cmds.c:4717 #, c-format msgid "E661: Sorry, no '%s' help for %s" msgstr "E661: 残念ã§ã™ãŒ '%s' ã®ãƒ˜ãƒ«ãƒ—㌠%s ã«ã¯ã‚りã¾ã›ã‚“" -#: ../ex_cmds.c:4719 #, c-format msgid "E149: Sorry, no help for %s" msgstr "E149: 残念ã§ã™ãŒ %s ã«ã¯ãƒ˜ãƒ«ãƒ—ãŒã‚りã¾ã›ã‚“" -#: ../ex_cmds.c:4751 #, c-format msgid "Sorry, help file \"%s\" not found" msgstr "残念ã§ã™ãŒãƒ˜ãƒ«ãƒ—ファイル \"%s\" ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" -#: ../ex_cmds.c:5323 #, c-format -msgid "E150: Not a directory: %s" -msgstr "E150: ディレクトリã§ã¯ã‚りã¾ã›ã‚“: %s" +msgid "E151: No match: %s" +msgstr "E151: マッãƒã¯ã‚りã¾ã›ã‚“: %s" -#: ../ex_cmds.c:5446 #, c-format msgid "E152: Cannot open %s for writing" msgstr "E152: 書込ã¿ç”¨ã« %s ã‚’é–‹ã‘ã¾ã›ã‚“" -#: ../ex_cmds.c:5471 #, c-format msgid "E153: Unable to open %s for reading" msgstr "E153: èªè¾¼ç”¨ã« %s ã‚’é–‹ã‘ã¾ã›ã‚“" # Added at 29-Apr-2004. -#: ../ex_cmds.c:5500 #, c-format msgid "E670: Mix of help file encodings within a language: %s" msgstr "E670: 1ã¤ã®è¨€èªžã®ãƒ˜ãƒ«ãƒ—ファイルã«è¤‡æ•°ã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ãŒæ··åœ¨ã—ã¦ã„ã¾ã™: %s" -#: ../ex_cmds.c:5565 #, c-format msgid "E154: Duplicate tag \"%s\" in file %s/%s" msgstr "E154: ã‚¿ã‚° \"%s\" ãŒãƒ•ァイル %s/%s ã«é‡è¤‡ã—ã¦ã„ã¾ã™" -#: ../ex_cmds.c:5687 +#, c-format +msgid "E150: Not a directory: %s" +msgstr "E150: ディレクトリã§ã¯ã‚りã¾ã›ã‚“: %s" + #, c-format msgid "E160: Unknown sign command: %s" msgstr "E160: 未知ã®signコマンドã§ã™: %s" -#: ../ex_cmds.c:5704 msgid "E156: Missing sign name" msgstr "E156: signåãŒã‚りã¾ã›ã‚“" -#: ../ex_cmds.c:5746 msgid "E612: Too many signs defined" msgstr "E612: signã®å®šç¾©ãŒå¤šæ•°è¦‹ã¤ã‹ã‚Šã¾ã—ãŸ" -#: ../ex_cmds.c:5813 #, c-format msgid "E239: Invalid sign text: %s" msgstr "E239: 無効ãªsignã®ãƒ†ã‚ストã§ã™: %s" -#: ../ex_cmds.c:5844 ../ex_cmds.c:6035 #, c-format msgid "E155: Unknown sign: %s" msgstr "E155: 未知ã®signã§ã™: %s" -#: ../ex_cmds.c:5877 msgid "E159: Missing sign number" msgstr "E159: signã®ç•ªå·ãŒã‚りã¾ã›ã‚“" -#: ../ex_cmds.c:5971 #, c-format msgid "E158: Invalid buffer name: %s" msgstr "E158: 無効ãªãƒãƒƒãƒ•ã‚¡åã§ã™: %s" -#: ../ex_cmds.c:6008 +msgid "E934: Cannot jump to a buffer that does not have a name" +msgstr "E934: åå‰ã®ç„¡ã„ãƒãƒƒãƒ•ã‚¡ã¸ã¯ã‚¸ãƒ£ãƒ³ãƒ—ã§ãã¾ã›ã‚“" + #, c-format -msgid "E157: Invalid sign ID: %<PRId64>" -msgstr "E157: 無効ãªsignè˜åˆ¥åã§ã™: %<PRId64>" +msgid "E157: Invalid sign ID: %ld" +msgstr "E157: 無効ãªsignè˜åˆ¥åã§ã™: %ld" #, c-format msgid "E885: Not possible to change sign %s" msgstr "E885: 変更ã§ããªã„ sign ã§ã™: %s" -#: ../ex_cmds.c:6066 +# Added at 27-Jan-2004. +msgid " (NOT FOUND)" +msgstr " (見ã¤ã‹ã‚Šã¾ã›ã‚“)" + msgid " (not supported)" msgstr " (éžã‚µãƒãƒ¼ãƒˆ)" -#: ../ex_cmds.c:6169 msgid "[Deleted]" msgstr "[削除済]" -#: ../ex_cmds2.c:139 +msgid "No old files" +msgstr "å¤ã„ファイルã¯ã‚りã¾ã›ã‚“" + msgid "Entering Debug mode. Type \"cont\" to continue." msgstr "デãƒãƒƒã‚°ãƒ¢ãƒ¼ãƒ‰ã«å…¥ã‚Šã¾ã™. ç¶šã‘ã‚‹ã«ã¯ \"cont\" ã¨å…¥åŠ›ã—ã¦ãã ã•ã„." -#: ../ex_cmds2.c:143 ../ex_docmd.c:759 #, c-format -msgid "line %<PRId64>: %s" -msgstr "行 %<PRId64>: %s" +msgid "line %ld: %s" +msgstr "行 %ld: %s" -#: ../ex_cmds2.c:145 #, c-format msgid "cmd: %s" msgstr "コマンド: %s" @@ -1404,232 +1123,184 @@ msgstr "フレーム㌠0 ã§ã™" msgid "frame at highest level: %d" msgstr "最高レベルã®ãƒ•レーム: %d" -#: ../ex_cmds2.c:322 #, c-format -msgid "Breakpoint in \"%s%s\" line %<PRId64>" -msgstr "ブレークãƒã‚¤ãƒ³ãƒˆ \"%s%s\" 行 %<PRId64>" +msgid "Breakpoint in \"%s%s\" line %ld" +msgstr "ブレークãƒã‚¤ãƒ³ãƒˆ \"%s%s\" 行 %ld" -#: ../ex_cmds2.c:581 #, c-format msgid "E161: Breakpoint not found: %s" msgstr "E161: ブレークãƒã‚¤ãƒ³ãƒˆãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“: %s" -#: ../ex_cmds2.c:611 msgid "No breakpoints defined" msgstr "ブレークãƒã‚¤ãƒ³ãƒˆãŒå®šç¾©ã•れã¦ã„ã¾ã›ã‚“" -#: ../ex_cmds2.c:617 #, c-format -msgid "%3d %s %s line %<PRId64>" -msgstr "%3d %s %s 行 %<PRId64>" +msgid "%3d %s %s line %ld" +msgstr "%3d %s %s 行 %ld" -#: ../ex_cmds2.c:942 msgid "E750: First use \":profile start {fname}\"" msgstr "E750: åˆã‚ã« \":profile start {fname}\" を実行ã—ã¦ãã ã•ã„" -#: ../ex_cmds2.c:1269 #, c-format msgid "Save changes to \"%s\"?" msgstr "変更を \"%s\" ã«ä¿å˜ã—ã¾ã™ã‹?" -#: ../ex_cmds2.c:1271 ../ex_docmd.c:8851 msgid "Untitled" msgstr "無題" -#: ../ex_cmds2.c:1421 #, c-format msgid "E162: No write since last change for buffer \"%s\"" msgstr "E162: ãƒãƒƒãƒ•ã‚¡ \"%s\" ã®å¤‰æ›´ã¯ä¿å˜ã•れã¦ã„ã¾ã›ã‚“" -#: ../ex_cmds2.c:1480 msgid "Warning: Entered other buffer unexpectedly (check autocommands)" msgstr "è¦å‘Š: 予期ã›ãšä»–ãƒãƒƒãƒ•ã‚¡ã¸ç§»å‹•ã—ã¾ã—㟠(autocommands を調ã¹ã¦ãã ã•ã„)" -#: ../ex_cmds2.c:1826 msgid "E163: There is only one file to edit" msgstr "E163: 編集ã™ã‚‹ãƒ•ァイルã¯1ã¤ã—ã‹ã‚りã¾ã›ã‚“" -#: ../ex_cmds2.c:1828 msgid "E164: Cannot go before first file" msgstr "E164: 最åˆã®ãƒ•ァイルよりå‰ã«ã¯è¡Œã‘ã¾ã›ã‚“" -#: ../ex_cmds2.c:1830 msgid "E165: Cannot go beyond last file" msgstr "E165: 最後ã®ãƒ•ァイルを越ãˆã¦å¾Œã«ã¯è¡Œã‘ã¾ã›ã‚“" -#: ../ex_cmds2.c:2175 #, c-format msgid "E666: compiler not supported: %s" msgstr "E666: ãã®ã‚³ãƒ³ãƒ‘イラã«ã¯å¯¾å¿œã—ã¦ã„ã¾ã›ã‚“: %s" -#: ../ex_cmds2.c:2257 #, c-format msgid "Searching for \"%s\" in \"%s\"" msgstr "\"%s\" ã‚’ \"%s\" ã‹ã‚‰æ¤œç´¢ä¸" -#: ../ex_cmds2.c:2284 #, c-format msgid "Searching for \"%s\"" msgstr "\"%s\" を検索ä¸" -#: ../ex_cmds2.c:2307 #, c-format -msgid "not found in 'runtimepath': \"%s\"" -msgstr "'runtimepath' ã®ä¸ã«ã¯è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“: \"%s\"" +msgid "not found in '%s': \"%s\"" +msgstr "'%s' ã®ä¸ã«ã¯ã‚りã¾ã›ã‚“: \"%s\"" + +msgid "Source Vim script" +msgstr "Vimスクリプトã®å–è¾¼ã¿" -#: ../ex_cmds2.c:2472 #, c-format msgid "Cannot source a directory: \"%s\"" msgstr "ディレクトリã¯å–è¾¼ã‚ã¾ã›ã‚“: \"%s\"" -#: ../ex_cmds2.c:2518 #, c-format msgid "could not source \"%s\"" msgstr "\"%s\" ã‚’å–è¾¼ã‚ã¾ã›ã‚“" -#: ../ex_cmds2.c:2520 #, c-format -msgid "line %<PRId64>: could not source \"%s\"" -msgstr "行 %<PRId64>: \"%s\" ã‚’å–è¾¼ã‚ã¾ã›ã‚“" +msgid "line %ld: could not source \"%s\"" +msgstr "行 %ld: \"%s\" ã‚’å–è¾¼ã‚ã¾ã›ã‚“" -#: ../ex_cmds2.c:2535 #, c-format msgid "sourcing \"%s\"" msgstr "\"%s\" ã‚’å–è¾¼ä¸" -#: ../ex_cmds2.c:2537 #, c-format -msgid "line %<PRId64>: sourcing \"%s\"" -msgstr "行 %<PRId64>: %s ã‚’å–è¾¼ä¸" +msgid "line %ld: sourcing \"%s\"" +msgstr "行 %ld: %s ã‚’å–è¾¼ä¸" -#: ../ex_cmds2.c:2693 #, c-format msgid "finished sourcing %s" msgstr "%s ã®å–込を完了" -#: ../ex_cmds2.c:2765 +#, c-format +msgid "continuing in %s" +msgstr "%s ã®å®Ÿè¡Œã‚’継続ä¸ã§ã™" + msgid "modeline" msgstr "モード行" -#: ../ex_cmds2.c:2767 msgid "--cmd argument" msgstr "--cmd 引数" -#: ../ex_cmds2.c:2769 msgid "-c argument" msgstr "-c 引数" -#: ../ex_cmds2.c:2771 msgid "environment variable" msgstr "環境変数" -#: ../ex_cmds2.c:2773 msgid "error handler" msgstr "エラーãƒãƒ³ãƒ‰ãƒ©" -#: ../ex_cmds2.c:3020 msgid "W15: Warning: Wrong line separator, ^M may be missing" msgstr "W15: è¦å‘Š: 行区切ãŒä¸æ£ã§ã™. ^M ãŒãªã„ã®ã§ã—ょã†" -#: ../ex_cmds2.c:3139 msgid "E167: :scriptencoding used outside of a sourced file" msgstr "E167: :scriptencoding ãŒå–込スクリプト以外ã§ä½¿ç”¨ã•れã¾ã—ãŸ" -#: ../ex_cmds2.c:3166 msgid "E168: :finish used outside of a sourced file" msgstr "E168: :finish ãŒå–込スクリプト以外ã§ä½¿ç”¨ã•れã¾ã—ãŸ" -#: ../ex_cmds2.c:3389 #, c-format msgid "Current %slanguage: \"%s\"" msgstr "ç¾åœ¨ã® %s言語: \"%s\"" -#: ../ex_cmds2.c:3404 #, c-format msgid "E197: Cannot set language to \"%s\"" msgstr "E197: 言語を \"%s\" ã«è¨å®šã§ãã¾ã›ã‚“" -#. don't redisplay the window -#. don't wait for return -#: ../ex_docmd.c:387 msgid "Entering Ex mode. Type \"visual\" to go to Normal mode." msgstr "" "Exモードã«å…¥ã‚Šã¾ã™. ãƒŽãƒ¼ãƒžãƒ«ãƒ¢ãƒ¼ãƒ‰ã«æˆ»ã‚‹ã«ã¯\"visual\"ã¨å…¥åŠ›ã—ã¦ãã ã•ã„." -#: ../ex_docmd.c:428 msgid "E501: At end-of-file" msgstr "E501: ファイルã®çµ‚了ä½ç½®" -#: ../ex_docmd.c:513 msgid "E169: Command too recursive" msgstr "E169: コマンドãŒå†å¸°çš„éŽãŽã¾ã™" -#: ../ex_docmd.c:1006 #, c-format msgid "E605: Exception not caught: %s" msgstr "E605: ä¾‹å¤–ãŒæ•æ‰ã•れã¾ã›ã‚“ã§ã—ãŸ: %s" -#: ../ex_docmd.c:1085 msgid "End of sourced file" msgstr "å–è¾¼ãƒ•ã‚¡ã‚¤ãƒ«ã®æœ€å¾Œã§ã™" -#: ../ex_docmd.c:1086 msgid "End of function" msgstr "é–¢æ•°ã®æœ€å¾Œã§ã™" -#: ../ex_docmd.c:1628 msgid "E464: Ambiguous use of user-defined command" msgstr "E464: ユーザー定義コマンドã®ã‚ã„ã¾ã„ãªä½¿ç”¨ã§ã™" -#: ../ex_docmd.c:1638 msgid "E492: Not an editor command" msgstr "E492: エディタã®ã‚³ãƒžãƒ³ãƒ‰ã§ã¯ã‚りã¾ã›ã‚“" -#: ../ex_docmd.c:1729 msgid "E493: Backwards range given" msgstr "E493: 逆ã•ã¾ã®ç¯„å›²ãŒæŒ‡å®šã•れã¾ã—ãŸ" -#: ../ex_docmd.c:1733 msgid "Backwards range given, OK to swap" msgstr "逆ã•ã¾ã®ç¯„å›²ãŒæŒ‡å®šã•れã¾ã—ãŸ, 入替ãˆã¾ã™ã‹?" -#. append -#. typed wrong -#: ../ex_docmd.c:1787 msgid "E494: Use w or w>>" msgstr "E494: w ã‚‚ã—ã㯠w>> を使用ã—ã¦ãã ã•ã„" -#: ../ex_docmd.c:3454 -msgid "E319: The command is not available in this version" +msgid "E319: Sorry, the command is not available in this version" msgstr "E319: ã“ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã¯ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯åˆ©ç”¨ã§ãã¾ã›ã‚“, ã”ã‚ã‚“ãªã•ã„" -#: ../ex_docmd.c:3752 msgid "E172: Only one file name allowed" msgstr "E172: ファイルå㯠1 ã¤ã«ã—ã¦ãã ã•ã„" -#: ../ex_docmd.c:4238 msgid "1 more file to edit. Quit anyway?" msgstr "編集ã™ã¹ãファイル㌠1 個ã‚りã¾ã™ãŒ, 終了ã—ã¾ã™ã‹?" -#: ../ex_docmd.c:4242 #, c-format msgid "%d more files to edit. Quit anyway?" msgstr "編集ã™ã¹ãファイルãŒã‚㨠%d 個ã‚りã¾ã™ãŒ, 終了ã—ã¾ã™ã‹?" -#: ../ex_docmd.c:4248 msgid "E173: 1 more file to edit" msgstr "E173: 編集ã™ã¹ãファイル㌠1 個ã‚りã¾ã™" -#: ../ex_docmd.c:4250 #, c-format -msgid "E173: %<PRId64> more files to edit" -msgstr "E173: 編集ã™ã¹ãファイルãŒã‚㨠%<PRId64> 個ã‚りã¾ã™" +msgid "E173: %ld more files to edit" +msgstr "E173: 編集ã™ã¹ãファイルãŒã‚㨠%ld 個ã‚りã¾ã™" -#: ../ex_docmd.c:4320 msgid "E174: Command already exists: add ! to replace it" msgstr "E174: ã‚³ãƒžãƒ³ãƒ‰ãŒæ—¢ã«ã‚りã¾ã™: å†å®šç¾©ã™ã‚‹ã«ã¯ ! ã‚’è¿½åŠ ã—ã¦ãã ã•ã„" -#: ../ex_docmd.c:4432 msgid "" "\n" " Name Args Address Complete Definition" @@ -1637,51 +1308,40 @@ msgstr "" "\n" " åå‰ å¼•æ•° アドレス 補完 定義" -#: ../ex_docmd.c:4516 msgid "No user-defined commands found" msgstr "ユーザー定義コマンドãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ" -#: ../ex_docmd.c:4538 msgid "E175: No attribute specified" msgstr "E175: 属性ã¯å®šç¾©ã•れã¦ã„ã¾ã›ã‚“" -#: ../ex_docmd.c:4583 msgid "E176: Invalid number of arguments" msgstr "E176: å¼•æ•°ã®æ•°ãŒç„¡åйã§ã™" -#: ../ex_docmd.c:4594 msgid "E177: Count cannot be specified twice" msgstr "E177: カウントを2釿Œ‡å®šã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" -#: ../ex_docmd.c:4603 msgid "E178: Invalid default value for count" msgstr "E178: カウントã®çœç•¥å€¤ãŒç„¡åйã§ã™" -#: ../ex_docmd.c:4625 msgid "E179: argument required for -complete" msgstr "E179: -complete ã«ã¯å¼•æ•°ãŒå¿…è¦ã§ã™" msgid "E179: argument required for -addr" msgstr "E179: -addr ã«ã¯å¼•æ•°ãŒå¿…è¦ã§ã™" -#: ../ex_docmd.c:4635 #, c-format msgid "E181: Invalid attribute: %s" msgstr "E181: 無効ãªå±žæ€§ã§ã™: %s" -#: ../ex_docmd.c:4678 msgid "E182: Invalid command name" msgstr "E182: 無効ãªã‚³ãƒžãƒ³ãƒ‰åã§ã™" -#: ../ex_docmd.c:4691 msgid "E183: User defined commands must start with an uppercase letter" msgstr "E183: ユーザー定義コマンドã¯è‹±å¤§æ–‡å—ã§å§‹ã¾ã‚‰ãªã‘れã°ãªã‚Šã¾ã›ã‚“" -#: ../ex_docmd.c:4696 msgid "E841: Reserved name, cannot be used for user defined command" msgstr "E841: 予約åãªã®ã§, ユーザー定義コマンドã«åˆ©ç”¨ã§ãã¾ã›ã‚“" -#: ../ex_docmd.c:4751 #, c-format msgid "E184: No such user-defined command: %s" msgstr "E184: ãã®ãƒ¦ãƒ¼ã‚¶ãƒ¼å®šç¾©ã‚³ãƒžãƒ³ãƒ‰ã¯ã‚りã¾ã›ã‚“: %s" @@ -1690,293 +1350,261 @@ msgstr "E184: ãã®ãƒ¦ãƒ¼ã‚¶ãƒ¼å®šç¾©ã‚³ãƒžãƒ³ãƒ‰ã¯ã‚りã¾ã›ã‚“: %s" msgid "E180: Invalid address type value: %s" msgstr "E180: 無効ãªã‚¢ãƒ‰ãƒ¬ã‚¹ã‚¿ã‚¤ãƒ—値ã§ã™: %s" -#: ../ex_docmd.c:5219 #, c-format msgid "E180: Invalid complete value: %s" msgstr "E180: 無効ãªè£œå®ŒæŒ‡å®šã§ã™: %s" -#: ../ex_docmd.c:5225 msgid "E468: Completion argument only allowed for custom completion" msgstr "E468: 補完引数ã¯ã‚«ã‚¹ã‚¿ãƒ 補完ã§ã—ã‹ä½¿ç”¨ã§ãã¾ã›ã‚“" -#: ../ex_docmd.c:5231 msgid "E467: Custom completion requires a function argument" msgstr "E467: カスタム補完ã«ã¯å¼•æ•°ã¨ã—ã¦é–¢æ•°ãŒå¿…è¦ã§ã™" -#: ../ex_docmd.c:5257 +msgid "unknown" +msgstr "䏿˜Ž" + #, c-format msgid "E185: Cannot find color scheme '%s'" msgstr "E185: カラースã‚ーム'%s' ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" -#: ../ex_docmd.c:5263 msgid "Greetings, Vim user!" msgstr "Vim 使ã„ã•ã‚“ã€ã‚„ã‚!" -#: ../ex_docmd.c:5431 msgid "E784: Cannot close last tab page" msgstr "E784: 最後ã®ã‚¿ãƒ–ページを閉ã˜ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" -#: ../ex_docmd.c:5462 msgid "Already only one tab page" msgstr "æ—¢ã«ã‚¿ãƒ–ページã¯1ã¤ã—ã‹ã‚りã¾ã›ã‚“" -#: ../ex_docmd.c:6004 +msgid "Edit File in new window" +msgstr "æ–°ã—ã„ウィンドウã§ãƒ•ァイルを編集ã—ã¾ã™" + #, c-format msgid "Tab page %d" msgstr "タブページ %d" -#: ../ex_docmd.c:6295 msgid "No swap file" msgstr "スワップファイルãŒã‚りã¾ã›ã‚“" -#: ../ex_docmd.c:6478 +msgid "Append File" +msgstr "è¿½åŠ ãƒ•ã‚¡ã‚¤ãƒ«" + msgid "E747: Cannot change directory, buffer is modified (add ! to override)" msgstr "" "E747: ãƒãƒƒãƒ•ã‚¡ãŒä¿®æ£ã•れã¦ã„ã‚‹ã®ã§, ディレクトリを変更ã§ãã¾ã›ã‚“ (! ã‚’è¿½åŠ ã§" "上書)" -#: ../ex_docmd.c:6485 msgid "E186: No previous directory" msgstr "E186: å‰ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¯ã‚りã¾ã›ã‚“" -#: ../ex_docmd.c:6530 msgid "E187: Unknown" msgstr "E187: 未知" -#: ../ex_docmd.c:6610 msgid "E465: :winsize requires two number arguments" msgstr "E465: :winsize ã«ã¯2ã¤ã®æ•°å€¤ã®å¼•æ•°ãŒå¿…è¦ã§ã™" -#: ../ex_docmd.c:6655 +#, c-format +msgid "Window position: X %d, Y %d" +msgstr "ウィンドウä½ç½®: X %d, Y %d" + msgid "E188: Obtaining window position not implemented for this platform" msgstr "" "E188: ã“ã®ãƒ—ラットホームã«ã¯ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ä½ç½®ã®å–得機能ã¯å®Ÿè£…ã•れã¦ã„ã¾ã›ã‚“" -#: ../ex_docmd.c:6662 msgid "E466: :winpos requires two number arguments" msgstr "E466: :winpos ã«ã¯2ã¤ã®æ•°å€¤ã®å¼•æ•°ãŒå¿…è¦ã§ã™" -#: ../ex_docmd.c:7241 +msgid "E930: Cannot use :redir inside execute()" +msgstr "E930: execute() ã®ä¸ã§ã¯ :redir ã¯ä½¿ãˆã¾ã›ã‚“" + +msgid "Save Redirection" +msgstr "リダイレクトをä¿å˜ã—ã¾ã™" + +msgid "Save View" +msgstr "ビューをä¿å˜ã—ã¾ã™" + +msgid "Save Session" +msgstr "ã‚»ãƒƒã‚·ãƒ§ãƒ³æƒ…å ±ã‚’ä¿å˜ã—ã¾ã™" + +msgid "Save Setup" +msgstr "è¨å®šã‚’ä¿å˜ã—ã¾ã™" + #, c-format msgid "E739: Cannot create directory: %s" msgstr "E739: ディレクトリを作æˆã§ãã¾ã›ã‚“: %s" -#: ../ex_docmd.c:7268 #, c-format msgid "E189: \"%s\" exists (add ! to override)" msgstr "E189: \"%s\" ãŒå˜åœ¨ã—ã¾ã™ (上書ã™ã‚‹ã«ã¯ ! ã‚’è¿½åŠ ã—ã¦ãã ã•ã„)" -#: ../ex_docmd.c:7273 #, c-format msgid "E190: Cannot open \"%s\" for writing" msgstr "E190: \"%s\" を書込ã¿ç”¨ã¨ã—ã¦é–‹ã‘ã¾ã›ã‚“" #. set mark -#: ../ex_docmd.c:7294 msgid "E191: Argument must be a letter or forward/backward quote" msgstr "E191: 引数ã¯1æ–‡å—ã®è‹±å—ã‹å¼•用符 (' ã‹ `) ã§ãªã‘れã°ã„ã‘ã¾ã›ã‚“" -#: ../ex_docmd.c:7333 msgid "E192: Recursive use of :normal too deep" msgstr "E192: :normal ã®å†å¸°åˆ©ç”¨ãŒæ·±ããªã‚ŠéŽãŽã¾ã—ãŸ" -#: ../ex_docmd.c:7807 +msgid "E809: #< is not available without the +eval feature" +msgstr "E809: #< 㯠+eval 機能ãŒç„¡ã„ã¨åˆ©ç”¨ã§ãã¾ã›ã‚“" + msgid "E194: No alternate file name to substitute for '#'" msgstr "E194: '#'ã‚’ç½®ãæ›ãˆã‚‹å‰¯ãƒ•ァイルã®åå‰ãŒã‚りã¾ã›ã‚“" -#: ../ex_docmd.c:7841 msgid "E495: no autocommand file name to substitute for \"<afile>\"" msgstr "E495: \"<afile>\"ã‚’ç½®ãæ›ãˆã‚‹autocommandã®ãƒ•ァイルåãŒã‚りã¾ã›ã‚“" -#: ../ex_docmd.c:7850 msgid "E496: no autocommand buffer number to substitute for \"<abuf>\"" msgstr "E496: \"<abuf>\"ã‚’ç½®ãæ›ãˆã‚‹autocommandãƒãƒƒãƒ•ァ番å·ãŒã‚りã¾ã›ã‚“" -#: ../ex_docmd.c:7861 msgid "E497: no autocommand match name to substitute for \"<amatch>\"" msgstr "E497: \"<amatch>\"ã‚’ç½®ãæ›ãˆã‚‹autocommandã®è©²å½“åãŒã‚りã¾ã›ã‚“" -#: ../ex_docmd.c:7870 msgid "E498: no :source file name to substitute for \"<sfile>\"" msgstr "E498: \"<sfile>\"ã‚’ç½®ãæ›ãˆã‚‹ :source 対象ファイルåãŒã‚りã¾ã›ã‚“" -#: ../ex_docmd.c:7876 msgid "E842: no line number to use for \"<slnum>\"" msgstr "E842: \"<slnum>\"ã‚’ç½®ãæ›ãˆã‚‹è¡Œç•ªå·ãŒã‚りã¾ã›ã‚“" -#: ../ex_docmd.c:7903 -#, fuzzy, c-format +#, no-c-format msgid "E499: Empty file name for '%' or '#', only works with \":p:h\"" msgstr "" "E499: '%' ã‚„ '#' ãŒç„¡åファイルãªã®ã§ \":p:h\" ã‚’ä¼´ã‚ãªã„ä½¿ã„æ–¹ã¯ã§ãã¾ã›ã‚“" -#: ../ex_docmd.c:7905 msgid "E500: Evaluates to an empty string" msgstr "E500: 空文å—列ã¨ã—ã¦è©•価ã•れã¾ã—ãŸ" -#: ../ex_docmd.c:8838 msgid "E195: Cannot open viminfo file for reading" msgstr "E195: viminfoファイルをèªè¾¼ç”¨ã¨ã—ã¦é–‹ã‘ã¾ã›ã‚“" -#: ../ex_eval.c:464 +msgid "E196: No digraphs in this version" +msgstr "E196: ã“ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã«åˆå—ã¯ã‚りã¾ã›ã‚“" + msgid "E608: Cannot :throw exceptions with 'Vim' prefix" msgstr "E608: 'Vim' ã§å§‹ã¾ã‚‹ä¾‹å¤–㯠:throw ã§ãã¾ã›ã‚“" #. always scroll up, don't overwrite -#: ../ex_eval.c:496 #, c-format msgid "Exception thrown: %s" msgstr "例外ãŒç™ºç”Ÿã—ã¾ã—ãŸ: %s" -#: ../ex_eval.c:545 #, c-format msgid "Exception finished: %s" msgstr "例外ãŒåŽæŸã—ã¾ã—ãŸ: %s" -#: ../ex_eval.c:546 #, c-format msgid "Exception discarded: %s" msgstr "例外ãŒç ´æ£„ã•れã¾ã—ãŸ: %s" -#: ../ex_eval.c:588 ../ex_eval.c:634 #, c-format -msgid "%s, line %<PRId64>" -msgstr "%s, 行 %<PRId64>" +msgid "%s, line %ld" +msgstr "%s, 行 %ld" #. always scroll up, don't overwrite -#: ../ex_eval.c:608 #, c-format msgid "Exception caught: %s" msgstr "ä¾‹å¤–ãŒæ•æ‰ã•れã¾ã—ãŸ: %s" -#: ../ex_eval.c:676 #, c-format msgid "%s made pending" msgstr "%s ã«ã‚ˆã‚Šæœªæ±ºå®šçŠ¶æ…‹ãŒç”Ÿã˜ã¾ã—ãŸ" -#: ../ex_eval.c:679 #, c-format msgid "%s resumed" msgstr "%s ãŒå†é–‹ã—ã¾ã—ãŸ" -#: ../ex_eval.c:683 #, c-format msgid "%s discarded" msgstr "%s ãŒç ´æ£„ã•れã¾ã—ãŸ" -#: ../ex_eval.c:708 msgid "Exception" msgstr "例外" -#: ../ex_eval.c:713 msgid "Error and interrupt" msgstr "エラーã¨å‰²è¾¼ã¿" -#: ../ex_eval.c:715 msgid "Error" msgstr "エラー" #. if (pending & CSTP_INTERRUPT) -#: ../ex_eval.c:717 msgid "Interrupt" msgstr "割込ã¿" -#: ../ex_eval.c:795 msgid "E579: :if nesting too deep" msgstr "E579: :if ã®å…¥ã‚ŒåãŒæ·±éŽãŽã¾ã™" -#: ../ex_eval.c:830 msgid "E580: :endif without :if" msgstr "E580: :if ã®ãªã„ :endif ãŒã‚りã¾ã™" -#: ../ex_eval.c:873 msgid "E581: :else without :if" msgstr "E581: :if ã®ãªã„ :else ãŒã‚りã¾ã™" -#: ../ex_eval.c:876 msgid "E582: :elseif without :if" msgstr "E582: :if ã®ãªã„ :elseif ãŒã‚りã¾ã™" -#: ../ex_eval.c:880 msgid "E583: multiple :else" msgstr "E583: 複数㮠:else ãŒã‚りã¾ã™" -#: ../ex_eval.c:883 msgid "E584: :elseif after :else" msgstr "E584: :else ã®å¾Œã« :elseif ãŒã‚りã¾ã™" -#: ../ex_eval.c:941 msgid "E585: :while/:for nesting too deep" msgstr "E585: :while ã‚„ :for ã®å…¥ã‚ŒåãŒæ·±éŽãŽã¾ã™" -#: ../ex_eval.c:1028 msgid "E586: :continue without :while or :for" msgstr "E586: :while ã‚„ :for ã®ãªã„ :continue ãŒã‚りã¾ã™" -#: ../ex_eval.c:1061 msgid "E587: :break without :while or :for" msgstr "E587: :while ã‚„ :for ã®ãªã„ :break ãŒã‚りã¾ã™" -#: ../ex_eval.c:1102 msgid "E732: Using :endfor with :while" msgstr "E732: :endfor ã‚’ :while ã¨çµ„ã¿åˆã‚ã›ã¦ã„ã¾ã™" -#: ../ex_eval.c:1104 msgid "E733: Using :endwhile with :for" msgstr "E733: :endwhile ã‚’ :for ã¨çµ„ã¿åˆã‚ã›ã¦ã„ã¾ã™" -#: ../ex_eval.c:1247 msgid "E601: :try nesting too deep" msgstr "E601: :try ã®å…¥ã‚ŒåãŒæ·±éŽãŽã¾ã™" -#: ../ex_eval.c:1317 msgid "E603: :catch without :try" msgstr "E603: :try ã®ãªã„ :catch ãŒã‚りã¾ã™" #. Give up for a ":catch" after ":finally" and ignore it. #. * Just parse. -#: ../ex_eval.c:1332 msgid "E604: :catch after :finally" msgstr "E604: :finally ã®å¾Œã« :catch ãŒã‚りã¾ã™" -#: ../ex_eval.c:1451 msgid "E606: :finally without :try" msgstr "E606: :try ã®ãªã„ :finally ãŒã‚りã¾ã™" #. Give up for a multiple ":finally" and ignore it. -#: ../ex_eval.c:1467 msgid "E607: multiple :finally" msgstr "E607: 複数㮠:finally ãŒã‚りã¾ã™" -#: ../ex_eval.c:1571 msgid "E602: :endtry without :try" msgstr "E602: :try ã®ãªã„ :endtry ã§ã™" -#: ../ex_eval.c:2026 msgid "E193: :endfunction not inside a function" msgstr "E193: 関数ã®å¤–ã« :endfunction ãŒã‚りã¾ã—ãŸ" -#: ../ex_getln.c:1643 msgid "E788: Not allowed to edit another buffer now" msgstr "E788: ç¾åœ¨ã¯ä»–ã®ãƒãƒƒãƒ•ァを編集ã™ã‚‹ã“ã¨ã¯è¨±ã•れã¾ã›ã‚“" -#: ../ex_getln.c:1656 msgid "E811: Not allowed to change buffer information now" msgstr "E811: ç¾åœ¨ã¯ãƒãƒƒãƒ•ã‚¡æƒ…å ±ã‚’å¤‰æ›´ã™ã‚‹ã“ã¨ã¯è¨±ã•れã¾ã›ã‚“" -#: ../ex_getln.c:3178 msgid "tagname" msgstr "ã‚¿ã‚°å" -#: ../ex_getln.c:3181 msgid " kind file\n" msgstr " ファイル種類\n" -#: ../ex_getln.c:4799 msgid "'history' option is zero" msgstr "オプション 'history' ãŒã‚¼ãƒã§ã™" -#: ../ex_getln.c:5046 #, c-format msgid "" "\n" @@ -1985,303 +1613,224 @@ msgstr "" "\n" "# %s é …ç›®ã®å±¥æ´ (æ–°ã—ã„ã‚‚ã®ã‹ã‚‰å¤ã„ã‚‚ã®ã¸):\n" -#: ../ex_getln.c:5047 msgid "Command Line" msgstr "コマンドライン" -#: ../ex_getln.c:5048 msgid "Search String" msgstr "検索文å—列" -#: ../ex_getln.c:5049 msgid "Expression" msgstr "å¼" -#: ../ex_getln.c:5050 msgid "Input Line" msgstr "入力行" -#: ../ex_getln.c:5117 +msgid "Debug Line" +msgstr "デãƒãƒƒã‚°è¡Œ" + msgid "E198: cmd_pchar beyond the command length" msgstr "E198: cmd_pchar ãŒã‚³ãƒžãƒ³ãƒ‰é•·ã‚’è¶…ãˆã¾ã—ãŸ" -#: ../ex_getln.c:5279 msgid "E199: Active window or buffer deleted" msgstr "E199: アクティブãªã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã‹ãƒãƒƒãƒ•ã‚¡ãŒå‰Šé™¤ã•れã¾ã—ãŸ" -#: ../file_search.c:203 -msgid "E854: path too long for completion" -msgstr "E854: パスãŒé•·éŽãŽã¦è£œå®Œã§ãã¾ã›ã‚“" - -#: ../file_search.c:446 -#, c-format -msgid "" -"E343: Invalid path: '**[number]' must be at the end of the path or be " -"followed by '%s'." -msgstr "" -"E343: 無効ãªãƒ‘スã§ã™: '**[数値]' ã¯pathã®æœ€å¾Œã‹ '%s' ãŒç¶šã„ã¦ãªã„ã¨ã„ã‘ã¾ã›" -"ã‚“." - -#: ../file_search.c:1505 -#, c-format -msgid "E344: Can't find directory \"%s\" in cdpath" -msgstr "E344: cdpathã«ã¯ \"%s\" ã¨ã„ã†ãƒ•ァイルãŒã‚りã¾ã›ã‚“" - -#: ../file_search.c:1508 -#, c-format -msgid "E345: Can't find file \"%s\" in path" -msgstr "E345: pathã«ã¯ \"%s\" ã¨ã„ã†ãƒ•ァイルãŒã‚りã¾ã›ã‚“" - -#: ../file_search.c:1512 -#, c-format -msgid "E346: No more directory \"%s\" found in cdpath" -msgstr "E346: cdpathã«ã¯ã“れ以上 \"%s\" ã¨ã„ã†ãƒ•ァイルãŒã‚りã¾ã›ã‚“" - -#: ../file_search.c:1515 -#, c-format -msgid "E347: No more file \"%s\" found in path" -msgstr "E347: パスã«ã¯ã“れ以上 \"%s\" ã¨ã„ã†ãƒ•ァイルãŒã‚りã¾ã›ã‚“" - -#: ../fileio.c:137 msgid "E812: Autocommands changed buffer or buffer name" msgstr "E812: autocommandãŒãƒãƒƒãƒ•ã‚¡ã‹ãƒãƒƒãƒ•ã‚¡åを変更ã—ã¾ã—ãŸ" -#: ../fileio.c:368 msgid "Illegal file name" msgstr "䏿£ãªãƒ•ァイルå" -#: ../fileio.c:395 ../fileio.c:476 ../fileio.c:2543 ../fileio.c:2578 msgid "is a directory" msgstr "ã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã™" -#: ../fileio.c:397 msgid "is not a file" msgstr "ã¯ãƒ•ァイルã§ã¯ã‚りã¾ã›ã‚“" -#: ../fileio.c:508 ../fileio.c:3522 +msgid "is a device (disabled with 'opendevice' option)" +msgstr "ã¯ãƒ‡ãƒã‚¤ã‚¹ã§ã™ ('opendevice' オプションã§å›žé¿ã§ãã¾ã™)" + msgid "[New File]" msgstr "[新ファイル]" -#: ../fileio.c:511 msgid "[New DIRECTORY]" msgstr "[æ–°è¦ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª]" -#: ../fileio.c:529 ../fileio.c:532 msgid "[File too big]" msgstr "[ファイルéŽå¤§]" -#: ../fileio.c:534 msgid "[Permission Denied]" msgstr "[権é™ãŒã‚りã¾ã›ã‚“]" -#: ../fileio.c:653 msgid "E200: *ReadPre autocommands made the file unreadable" msgstr "E200: *ReadPre autocommand ãŒãƒ•ァイルをèªè¾¼ä¸å¯ã«ã—ã¾ã—ãŸ" -#: ../fileio.c:655 msgid "E201: *ReadPre autocommands must not change current buffer" msgstr "E201: *ReadPre autocommand ã¯ç¾åœ¨ã®ãƒãƒƒãƒ•ァを変ãˆã‚‰ã‚Œã¾ã›ã‚“" -#: ../fileio.c:672 -msgid "Nvim: Reading from stdin...\n" +msgid "Vim: Reading from stdin...\n" msgstr "Vim: 標準入力ã‹ã‚‰èªè¾¼ä¸...\n" +msgid "Reading from stdin..." +msgstr "標準入力ã‹ã‚‰èªè¾¼ã¿ä¸..." + #. Re-opening the original file failed! -#: ../fileio.c:909 msgid "E202: Conversion made file unreadable!" msgstr "E202: 変æ›ãŒãƒ•ァイルをèªè¾¼ä¸å¯ã«ã—ã¾ã—ãŸ" -#. fifo or socket -#: ../fileio.c:1782 msgid "[fifo/socket]" msgstr "[FIFO/ソケット]" -#. fifo -#: ../fileio.c:1788 msgid "[fifo]" msgstr "[FIFO]" -#. or socket -#: ../fileio.c:1794 msgid "[socket]" msgstr "[ソケット]" -#. or character special -#: ../fileio.c:1801 msgid "[character special]" msgstr "[ã‚ャラクタ・デãƒã‚¤ã‚¹]" -#: ../fileio.c:1815 msgid "[CR missing]" msgstr "[CRç„¡]" -#: ../fileio.c:1819 msgid "[long lines split]" msgstr "[長行分割]" -#: ../fileio.c:1823 ../fileio.c:3512 msgid "[NOT converted]" msgstr "[未変æ›]" -#: ../fileio.c:1826 ../fileio.c:3515 msgid "[converted]" msgstr "[å¤‰æ›æ¸ˆ]" -#: ../fileio.c:1831 #, c-format -msgid "[CONVERSION ERROR in line %<PRId64>]" -msgstr "[%<PRId64> 行目ã§å¤‰æ›ã‚¨ãƒ©ãƒ¼]" +msgid "[CONVERSION ERROR in line %ld]" +msgstr "[%ld 行目ã§å¤‰æ›ã‚¨ãƒ©ãƒ¼]" -#: ../fileio.c:1835 #, c-format -msgid "[ILLEGAL BYTE in line %<PRId64>]" -msgstr "[%<PRId64> 行目ã®ä¸æ£ãªãƒã‚¤ãƒˆ]" +msgid "[ILLEGAL BYTE in line %ld]" +msgstr "[%ld 行目ã®ä¸æ£ãªãƒã‚¤ãƒˆ]" -#: ../fileio.c:1838 msgid "[READ ERRORS]" msgstr "[èªè¾¼ã‚¨ãƒ©ãƒ¼]" -#: ../fileio.c:2104 msgid "Can't find temp file for conversion" msgstr "変æ›ã«å¿…è¦ãªä¸€æ™‚ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" -#: ../fileio.c:2110 msgid "Conversion with 'charconvert' failed" msgstr "'charconvert' ã«ã‚ˆã‚‹å¤‰æ›ãŒå¤±æ•—ã—ã¾ã—ãŸ" -#: ../fileio.c:2113 msgid "can't read output of 'charconvert'" msgstr "'charconvert' ã®å‡ºåŠ›ã‚’èªè¾¼ã‚ã¾ã›ã‚“ã§ã—ãŸ" -#: ../fileio.c:2437 msgid "E676: No matching autocommands for acwrite buffer" msgstr "E676: acwriteãƒãƒƒãƒ•ã‚¡ã®è©²å½“ã™ã‚‹autocommandã¯å˜åœ¨ã—ã¾ã›ã‚“" -#: ../fileio.c:2466 msgid "E203: Autocommands deleted or unloaded buffer to be written" msgstr "E203: ä¿å˜ã™ã‚‹ãƒãƒƒãƒ•ã‚¡ã‚’autocommandãŒå‰Šé™¤ã‹è§£æ”¾ã—ã¾ã—ãŸ" -#: ../fileio.c:2486 msgid "E204: Autocommand changed number of lines in unexpected way" msgstr "E204: autocommandãŒäºˆæœŸã›ã¬æ–¹æ³•ã§è¡Œæ•°ã‚’変更ã—ã¾ã—ãŸ" -#: ../fileio.c:2548 ../fileio.c:2565 +# Added at 19-Jan-2004. +msgid "NetBeans disallows writes of unmodified buffers" +msgstr "NetBeansã¯æœªå¤‰æ›´ã®ãƒãƒƒãƒ•ァを上書ã™ã‚‹ã“ã¨ã¯è¨±å¯ã—ã¦ã„ã¾ã›ã‚“" + +msgid "Partial writes disallowed for NetBeans buffers" +msgstr "NetBeansãƒãƒƒãƒ•ã‚¡ã®ä¸€éƒ¨ã‚’書ã出ã™ã“ã¨ã¯ã§ãã¾ã›ã‚“" + msgid "is not a file or writable device" msgstr "ã¯ãƒ•ァイルã§ã‚‚書込ã¿å¯èƒ½ãƒ‡ãƒã‚¤ã‚¹ã§ã‚‚ã‚りã¾ã›ã‚“" -#: ../fileio.c:2601 +msgid "writing to device disabled with 'opendevice' option" +msgstr "'opendevice' オプションã«ã‚ˆã‚Šãƒ‡ãƒã‚¤ã‚¹ã¸ã®æ›¸ãè¾¼ã¿ã¯ã§ãã¾ã›ã‚“" + msgid "is read-only (add ! to override)" msgstr "ã¯èªè¾¼å°‚用ã§ã™ (強制書込ã«ã¯ ! ã‚’è¿½åŠ )" -#: ../fileio.c:2886 msgid "E506: Can't write to backup file (add ! to override)" msgstr "E506: ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ファイルをä¿å˜ã§ãã¾ã›ã‚“ (! ã‚’è¿½åŠ ã§å¼·åˆ¶ä¿å˜)" -#: ../fileio.c:2898 msgid "E507: Close error for backup file (add ! to override)" msgstr "" "E507: ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ファイルを閉ã˜ã‚‹éš›ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—㟠(! ã‚’è¿½åŠ ã§å¼·åˆ¶)" -#: ../fileio.c:2901 msgid "E508: Can't read file for backup (add ! to override)" msgstr "E508: ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—用ファイルをèªè¾¼ã‚ã¾ã›ã‚“ (! ã‚’è¿½åŠ ã§å¼·åˆ¶èªè¾¼)" -#: ../fileio.c:2923 msgid "E509: Cannot create backup file (add ! to override)" msgstr "E509: ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ファイルを作れã¾ã›ã‚“ (! ã‚’è¿½åŠ ã§å¼·åˆ¶ä½œæˆ)" -#: ../fileio.c:3008 msgid "E510: Can't make backup file (add ! to override)" msgstr "E510: ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ファイルを作れã¾ã›ã‚“ (! ã‚’è¿½åŠ ã§å¼·åˆ¶ä½œæˆ)" -#. Can't write without a tempfile! -#: ../fileio.c:3121 +msgid "E460: The resource fork would be lost (add ! to override)" +msgstr "E460: リソースフォークãŒå¤±ã‚れるã‹ã‚‚ã—れã¾ã›ã‚“ (! ã‚’è¿½åŠ ã§å¼·åˆ¶)" + msgid "E214: Can't find temp file for writing" msgstr "E214: ä¿å˜ç”¨ä¸€æ™‚ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" -#: ../fileio.c:3134 msgid "E213: Cannot convert (add ! to write without conversion)" msgstr "E213: 変æ›ã§ãã¾ã›ã‚“ (! ã‚’è¿½åŠ ã§å¤‰æ›ã›ãšã«ä¿å˜)" -#: ../fileio.c:3169 msgid "E166: Can't open linked file for writing" msgstr "E166: リンクã•れãŸãƒ•ã‚¡ã‚¤ãƒ«ã«æ›¸è¾¼ã‚ã¾ã›ã‚“" -#: ../fileio.c:3173 msgid "E212: Can't open file for writing" msgstr "E212: 書込ã¿ç”¨ã«ãƒ•ァイルを開ã‘ã¾ã›ã‚“" -#: ../fileio.c:3363 msgid "E667: Fsync failed" msgstr "E667: fsync ã«å¤±æ•—ã—ã¾ã—ãŸ" -#: ../fileio.c:3398 msgid "E512: Close failed" msgstr "E512: é–‰ã˜ã‚‹ã“ã¨ã«å¤±æ•—" -#: ../fileio.c:3436 msgid "E513: write error, conversion failed (make 'fenc' empty to override)" msgstr "E513: 書込ã¿ã‚¨ãƒ©ãƒ¼, 変æ›å¤±æ•— (上書ã™ã‚‹ã«ã¯ 'fenc' を空ã«ã—ã¦ãã ã•ã„)" -#: ../fileio.c:3441 #, c-format msgid "" -"E513: write error, conversion failed in line %<PRId64> (make 'fenc' empty to " +"E513: write error, conversion failed in line %ld (make 'fenc' empty to " "override)" msgstr "" -"E513: 書込ã¿ã‚¨ãƒ©ãƒ¼, 変æ›å¤±æ•—, 行数 %<PRId64> (上書ã™ã‚‹ã«ã¯ 'fenc' を空ã«ã—ã¦" -"ãã ã•ã„)" +"E513: 書込ã¿ã‚¨ãƒ©ãƒ¼, 変æ›å¤±æ•—, 行数 %ld (上書ã™ã‚‹ã«ã¯ 'fenc' を空ã«ã—ã¦ãã ã•" +"ã„)" -#: ../fileio.c:3448 msgid "E514: write error (file system full?)" msgstr "E514: 書込ã¿ã‚¨ãƒ©ãƒ¼, (ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ãŒæº€æ¯?)" -#: ../fileio.c:3506 msgid " CONVERSION ERROR" msgstr " 変æ›ã‚¨ãƒ©ãƒ¼" -#: ../fileio.c:3509 #, c-format -msgid " in line %<PRId64>;" -msgstr " 行 %<PRId64>;" +msgid " in line %ld;" +msgstr " 行 %ld;" -#: ../fileio.c:3519 msgid "[Device]" msgstr "[デãƒã‚¤ã‚¹]" -#: ../fileio.c:3522 msgid "[New]" msgstr "[æ–°]" -#: ../fileio.c:3535 msgid " [a]" msgstr " [a]" -#: ../fileio.c:3535 msgid " appended" msgstr " è¿½åŠ " -#: ../fileio.c:3537 msgid " [w]" msgstr " [w]" -#: ../fileio.c:3537 msgid " written" msgstr " 書込ã¿" -#: ../fileio.c:3579 msgid "E205: Patchmode: can't save original file" msgstr "E205: patchmode: 原本ファイルをä¿å˜ã§ãã¾ã›ã‚“" -#: ../fileio.c:3602 msgid "E206: patchmode: can't touch empty original file" msgstr "E206: patchmode: 空ã®åŽŸæœ¬ãƒ•ã‚¡ã‚¤ãƒ«ã‚’touchã§ãã¾ã›ã‚“" -#: ../fileio.c:3616 msgid "E207: Can't delete backup file" msgstr "E207: ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ファイルを消ã›ã¾ã›ã‚“" -#: ../fileio.c:3672 msgid "" "\n" "WARNING: Original file may be lost or damaged\n" @@ -2289,134 +1838,105 @@ msgstr "" "\n" "è¦å‘Š: 原本ファイルãŒå¤±ã‚れãŸã‹å¤‰æ›´ã•れã¾ã—ãŸ\n" -#: ../fileio.c:3675 msgid "don't quit the editor until the file is successfully written!" msgstr "ファイルã®ä¿å˜ã«æˆåŠŸã™ã‚‹ã¾ã§ã‚¨ãƒ‡ã‚£ã‚¿ã‚’終了ã—ãªã„ã§ãã ã•ã„!" -#: ../fileio.c:3795 msgid "[dos]" msgstr "[dos]" -#: ../fileio.c:3795 msgid "[dos format]" msgstr "[dosフォーマット]" -#: ../fileio.c:3801 msgid "[mac]" msgstr "[mac]" -#: ../fileio.c:3801 msgid "[mac format]" msgstr "[macフォーマット]" -#: ../fileio.c:3807 msgid "[unix]" msgstr "[unix]" -#: ../fileio.c:3807 msgid "[unix format]" msgstr "[unixフォーマット]" -#: ../fileio.c:3831 msgid "1 line, " msgstr "1 行, " -#: ../fileio.c:3833 #, c-format -msgid "%<PRId64> lines, " -msgstr "%<PRId64> 行, " +msgid "%ld lines, " +msgstr "%ld 行, " -#: ../fileio.c:3836 msgid "1 character" msgstr "1 æ–‡å—" -#: ../fileio.c:3838 #, c-format -msgid "%<PRId64> characters" -msgstr "%<PRId64> æ–‡å—" +msgid "%lld characters" +msgstr "%lld æ–‡å—" -#: ../fileio.c:3849 msgid "[noeol]" msgstr "[noeol]" -#: ../fileio.c:3849 msgid "[Incomplete last line]" msgstr "[最終行ãŒä¸å®Œå…¨]" #. don't overwrite messages here #. must give this prompt #. don't use emsg() here, don't want to flush the buffers -#: ../fileio.c:3865 msgid "WARNING: The file has been changed since reading it!!!" msgstr "è¦å‘Š: èªè¾¼ã‚“ã 後ã«ãƒ•ァイルã«å¤‰æ›´ãŒã‚りã¾ã—ãŸ!!!" -#: ../fileio.c:3867 msgid "Do you really want to write to it" msgstr "本当ã«ä¸Šæ›¸ãã—ã¾ã™ã‹" -#: ../fileio.c:4648 #, c-format msgid "E208: Error writing to \"%s\"" msgstr "E208: \"%s\" を書込ã¿ä¸ã®ã‚¨ãƒ©ãƒ¼ã§ã™" -#: ../fileio.c:4655 #, c-format msgid "E209: Error closing \"%s\"" msgstr "E209: \"%s\" ã‚’é–‰ã˜ã‚‹æ™‚ã«ã‚¨ãƒ©ãƒ¼ã§ã™" -#: ../fileio.c:4657 #, c-format msgid "E210: Error reading \"%s\"" msgstr "E210: \"%s\" ã‚’èªè¾¼ä¸ã®ã‚¨ãƒ©ãƒ¼ã§ã™" -#: ../fileio.c:4883 msgid "E246: FileChangedShell autocommand deleted buffer" msgstr "E246: autocommand ã® FileChangedShell ãŒãƒãƒƒãƒ•ァを削除ã—ã¾ã—ãŸ" -#: ../fileio.c:4894 #, c-format msgid "E211: File \"%s\" no longer available" msgstr "E211: ファイル \"%s\" ã¯æ—¢ã«å˜åœ¨ã—ã¾ã›ã‚“" -#: ../fileio.c:4906 #, c-format msgid "" "W12: Warning: File \"%s\" has changed and the buffer was changed in Vim as " "well" msgstr "W12: è¦å‘Š: ファイル \"%s\" ãŒå¤‰æ›´ã•れVimã®ãƒãƒƒãƒ•ァも変更ã•れã¾ã—ãŸ" -#: ../fileio.c:4907 msgid "See \":help W12\" for more info." msgstr "詳細㯠\":help W12\" ã‚’å‚ç…§ã—ã¦ãã ã•ã„" -#: ../fileio.c:4910 #, c-format msgid "W11: Warning: File \"%s\" has changed since editing started" msgstr "W11: è¦å‘Š: ファイル \"%s\" ã¯ç·¨é›†é–‹å§‹å¾Œã«å¤‰æ›´ã•れã¾ã—ãŸ" -#: ../fileio.c:4911 msgid "See \":help W11\" for more info." msgstr "詳細㯠\":help W11\" ã‚’å‚ç…§ã—ã¦ãã ã•ã„" -#: ../fileio.c:4914 #, c-format msgid "W16: Warning: Mode of file \"%s\" has changed since editing started" msgstr "W16: è¦å‘Š: ファイル \"%s\" ã®ãƒ¢ãƒ¼ãƒ‰ãŒç·¨é›†é–‹å§‹å¾Œã«å¤‰æ›´ã•れã¾ã—ãŸ" -#: ../fileio.c:4915 msgid "See \":help W16\" for more info." msgstr "詳細㯠\":help W16\" ã‚’å‚ç…§ã—ã¦ãã ã•ã„" -#: ../fileio.c:4927 #, c-format msgid "W13: Warning: File \"%s\" has been created after editing started" msgstr "W13: è¦å‘Š: ファイル \"%s\" ã¯ç·¨é›†é–‹å§‹å¾Œã«ä½œæˆã•れã¾ã—ãŸ" -#: ../fileio.c:4947 msgid "Warning" msgstr "è¦å‘Š" -#: ../fileio.c:4948 msgid "" "&OK\n" "&Load File" @@ -2424,48 +1944,45 @@ msgstr "" "&OK\n" "ファイルèªè¾¼(&L)" -#: ../fileio.c:5065 #, c-format msgid "E462: Could not prepare for reloading \"%s\"" msgstr "E462: \"%s\" をリãƒãƒ¼ãƒ‰ã™ã‚‹æº–å‚™ãŒã§ãã¾ã›ã‚“ã§ã—ãŸ" -#: ../fileio.c:5078 #, c-format msgid "E321: Could not reload \"%s\"" msgstr "E321: \"%s\" ã¯ãƒªãƒãƒ¼ãƒ‰ã§ãã¾ã›ã‚“ã§ã—ãŸ" -#: ../fileio.c:5601 msgid "--Deleted--" msgstr "--削除済--" -#: ../fileio.c:5732 #, c-format msgid "auto-removing autocommand: %s <buffer=%d>" msgstr "autocommand: %s <ãƒãƒƒãƒ•ã‚¡=%d> ãŒè‡ªå‹•çš„ã«å‰Šé™¤ã•れã¾ã™" #. the group doesn't exist -#: ../fileio.c:5772 #, c-format msgid "E367: No such group: \"%s\"" msgstr "E367: ãã®ã‚°ãƒ«ãƒ¼ãƒ—ã¯ã‚りã¾ã›ã‚“: \"%s\"" -#: ../fileio.c:5897 +msgid "E936: Cannot delete the current group" +msgstr "E936: ç¾åœ¨ã®ã‚°ãƒ«ãƒ¼ãƒ—ã¯å‰Šé™¤ã§ãã¾ã›ã‚“" + +msgid "W19: Deleting augroup that is still in use" +msgstr "W19: 使用ä¸ã® augroup を消ãã†ã¨ã—ã¦ã„ã¾ã™" + #, c-format msgid "E215: Illegal character after *: %s" msgstr "E215: * ã®å¾Œã«ä¸æ£ãªæ–‡å—ãŒã‚りã¾ã—ãŸ: %s" -#: ../fileio.c:5905 #, c-format msgid "E216: No such event: %s" msgstr "E216: ãã®ã‚ˆã†ãªã‚¤ãƒ™ãƒ³ãƒˆã¯ã‚りã¾ã›ã‚“: %s" -#: ../fileio.c:5907 #, c-format msgid "E216: No such group or event: %s" msgstr "E216: ãã®ã‚ˆã†ãªã‚°ãƒ«ãƒ¼ãƒ—ã‚‚ã—ãã¯ã‚¤ãƒ™ãƒ³ãƒˆã¯ã‚りã¾ã›ã‚“: %s" #. Highlight title -#: ../fileio.c:6090 msgid "" "\n" "--- Auto-Commands ---" @@ -2473,756 +1990,555 @@ msgstr "" "\n" "--- Auto-Commands ---" -#: ../fileio.c:6293 #, c-format msgid "E680: <buffer=%d>: invalid buffer number " msgstr "E680: <ãƒãƒƒãƒ•ã‚¡=%d>: 無効ãªãƒãƒƒãƒ•ァ番å·ã§ã™ " -#: ../fileio.c:6370 msgid "E217: Can't execute autocommands for ALL events" msgstr "E217: å…¨ã¦ã®ã‚¤ãƒ™ãƒ³ãƒˆã«å¯¾ã—ã¦ã®autocommandã¯å®Ÿè¡Œã§ãã¾ã›ã‚“" -#: ../fileio.c:6393 msgid "No matching autocommands" msgstr "該当ã™ã‚‹autocommandã¯å˜åœ¨ã—ã¾ã›ã‚“" -#: ../fileio.c:6831 msgid "E218: autocommand nesting too deep" msgstr "E218: autocommandã®å…¥ã‚ŒåãŒæ·±éŽãŽã¾ã™" -#: ../fileio.c:7143 #, c-format msgid "%s Auto commands for \"%s\"" msgstr "%s Auto commands for \"%s\"" -#: ../fileio.c:7149 #, c-format msgid "Executing %s" msgstr "%s を実行ã—ã¦ã„ã¾ã™" -#: ../fileio.c:7211 #, c-format msgid "autocommand %s" msgstr "autocommand %s" -#: ../fileio.c:7795 msgid "E219: Missing {." msgstr "E219: { ãŒã‚りã¾ã›ã‚“." -#: ../fileio.c:7797 msgid "E220: Missing }." msgstr "E220: } ãŒã‚りã¾ã›ã‚“." -#: ../fold.c:93 msgid "E490: No fold found" msgstr "E490: 折畳ã¿ãŒã‚りã¾ã›ã‚“" -#: ../fold.c:544 msgid "E350: Cannot create fold with current 'foldmethod'" msgstr "E350: ç¾åœ¨ã® 'foldmethod' ã§ã¯æŠ˜ç•³ã¿ã‚’作æˆã§ãã¾ã›ã‚“" -#: ../fold.c:546 msgid "E351: Cannot delete fold with current 'foldmethod'" msgstr "E351: ç¾åœ¨ã® 'foldmethod' ã§ã¯æŠ˜ç•³ã¿ã‚’削除ã§ãã¾ã›ã‚“" -#: ../fold.c:1784 #, c-format -msgid "+--%3ld lines folded " -msgstr "+--%3ld è¡ŒãŒæŠ˜ç•³ã¾ã‚Œã¾ã—㟠" +msgid "+--%3ld line folded " +msgid_plural "+--%3ld lines folded " +msgstr[0] "+--%3ld è¡ŒãŒæŠ˜ç•³ã¾ã‚Œã¾ã—㟠" -#. buffer has already been read -#: ../getchar.c:273 msgid "E222: Add to read buffer" msgstr "E222: èªè¾¼ãƒãƒƒãƒ•ã‚¡ã¸è¿½åŠ " -#: ../getchar.c:2040 msgid "E223: recursive mapping" msgstr "E223: å†å¸°çš„マッピング" -#: ../getchar.c:2849 #, c-format msgid "E224: global abbreviation already exists for %s" msgstr "E224: %s ã¨ã„ã†ã‚°ãƒãƒ¼ãƒãƒ«çŸç¸®å…¥åŠ›ã¯æ—¢ã«å˜åœ¨ã—ã¾ã™" -#: ../getchar.c:2852 #, c-format msgid "E225: global mapping already exists for %s" msgstr "E225: %s ã¨ã„ã†ã‚°ãƒãƒ¼ãƒãƒ«ãƒžãƒƒãƒ”ãƒ³ã‚°ã¯æ—¢ã«å˜åœ¨ã—ã¾ã™" -#: ../getchar.c:2952 #, c-format msgid "E226: abbreviation already exists for %s" msgstr "E226: %s ã¨ã„ã†çŸç¸®å…¥åŠ›ã¯æ—¢ã«å˜åœ¨ã—ã¾ã™" -#: ../getchar.c:2955 #, c-format msgid "E227: mapping already exists for %s" msgstr "E227: %s ã¨ã„ã†ãƒžãƒƒãƒ”ãƒ³ã‚°ã¯æ—¢ã«å˜åœ¨ã—ã¾ã™" -#: ../getchar.c:3008 msgid "No abbreviation found" msgstr "çŸç¸®å…¥åŠ›ã¯è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ" -#: ../getchar.c:3010 msgid "No mapping found" msgstr "マッピングã¯è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ" -#: ../getchar.c:3974 msgid "E228: makemap: Illegal mode" msgstr "E228: makemap: 䏿£ãªãƒ¢ãƒ¼ãƒ‰" -#. key value of 'cedit' option -#. type of cmdline window or 0 -#. result of cmdline window or 0 -#: ../globals.h:924 -msgid "--No lines in buffer--" -msgstr "--ãƒãƒƒãƒ•ã‚¡ã«è¡ŒãŒã‚りã¾ã›ã‚“--" +msgid "E851: Failed to create a new process for the GUI" +msgstr "E851: GUI用ã®ãƒ—ãƒã‚»ã‚¹ã®èµ·å‹•ã«å¤±æ•—ã—ã¾ã—ãŸ" -#. -#. * The error messages that can be shared are included here. -#. * Excluded are errors that are only used once and debugging messages. -#. -#: ../globals.h:996 -msgid "E470: Command aborted" -msgstr "E470: コマンドãŒä¸æ–ã•れã¾ã—ãŸ" +msgid "E852: The child process failed to start the GUI" +msgstr "E852: åプãƒã‚»ã‚¹ãŒGUIã®èµ·å‹•ã«å¤±æ•—ã—ã¾ã—ãŸ" -#: ../globals.h:997 -msgid "E471: Argument required" -msgstr "E471: 引数ãŒå¿…è¦ã§ã™" +msgid "E229: Cannot start the GUI" +msgstr "E229: GUIã‚’é–‹å§‹ã§ãã¾ã›ã‚“" -#: ../globals.h:998 -msgid "E10: \\ should be followed by /, ? or &" -msgstr "E10: \\ ã®å¾Œã¯ / ã‹ ? ã‹ & ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“" +#, c-format +msgid "E230: Cannot read from \"%s\"" +msgstr "E230: \"%s\"ã‹ã‚‰èªè¾¼ã‚€ã“ã¨ãŒã§ãã¾ã›ã‚“" -#: ../globals.h:1000 -msgid "E11: Invalid in command-line window; <CR> executes, CTRL-C quits" -msgstr "E11: コマンドラインã§ã¯ç„¡åйã§ã™; <CR>ã§å®Ÿè¡Œ, CTRL-Cã§ã‚„ã‚ã‚‹" +msgid "E665: Cannot start GUI, no valid font found" +msgstr "E665: 有効ãªãƒ•ォントãŒè¦‹ã¤ã‹ã‚‰ãªã„ã®ã§, GUIã‚’é–‹å§‹ã§ãã¾ã›ã‚“" -#: ../globals.h:1002 -msgid "E12: Command not allowed from exrc/vimrc in current dir or tag search" -msgstr "" -"E12: ç¾åœ¨ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚„タグ検索ã§ã¯exrc/vimrcã®ã‚³ãƒžãƒ³ãƒ‰ã¯è¨±å¯ã•れã¾ã›ã‚“" +msgid "E231: 'guifontwide' invalid" +msgstr "E231: 'guifontwide' ãŒç„¡åйã§ã™" -#: ../globals.h:1003 -msgid "E171: Missing :endif" -msgstr "E171: :endif ãŒã‚りã¾ã›ã‚“" +msgid "E599: Value of 'imactivatekey' is invalid" +msgstr "E599: 'imactivatekey' ã«è¨å®šã•れãŸå€¤ãŒç„¡åйã§ã™" -#: ../globals.h:1004 -msgid "E600: Missing :endtry" -msgstr "E600: :endtry ãŒã‚りã¾ã›ã‚“" +#, c-format +msgid "E254: Cannot allocate color %s" +msgstr "E254: %s ã®è‰²ã‚’割り当ã¦ã‚‰ã‚Œã¾ã›ã‚“" -#: ../globals.h:1005 -msgid "E170: Missing :endwhile" -msgstr "E170: :endwhile ãŒã‚りã¾ã›ã‚“" +msgid "No match at cursor, finding next" +msgstr "カーソルã®ä½ç½®ã«ãƒžãƒƒãƒã¯ã‚りã¾ã›ã‚“, 次を検索ã—ã¦ã„ã¾ã™" -#: ../globals.h:1006 -msgid "E170: Missing :endfor" -msgstr "E170: :endfor ãŒã‚りã¾ã›ã‚“" - -#: ../globals.h:1007 -msgid "E588: :endwhile without :while" -msgstr "E588: :while ã®ãªã„ :endwhile ãŒã‚りã¾ã™" +msgid "<cannot open> " +msgstr "<é–‹ã‘ã¾ã›ã‚“> " -#: ../globals.h:1008 -msgid "E588: :endfor without :for" -msgstr "E588: :endfor ã®ãªã„ :for ãŒã‚りã¾ã™" +#, c-format +msgid "E616: vim_SelFile: can't get font %s" +msgstr "E616: vim_SelFile: フォント %s ã‚’å–å¾—ã§ãã¾ã›ã‚“" -#: ../globals.h:1009 -msgid "E13: File exists (add ! to override)" -msgstr "E13: ファイルãŒå˜åœ¨ã—ã¾ã™ (! ã‚’è¿½åŠ ã§ä¸Šæ›¸)" +msgid "E614: vim_SelFile: can't return to current directory" +msgstr "E614: vim_SelFile: ç¾åœ¨ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«æˆ»ã‚Œã¾ã›ã‚“" -#: ../globals.h:1010 -msgid "E472: Command failed" -msgstr "E472: コマンドãŒå¤±æ•—ã—ã¾ã—ãŸ" +msgid "Pathname:" +msgstr "パスå:" -#: ../globals.h:1011 -msgid "E473: Internal error" -msgstr "E473: 内部エラーã§ã™" +msgid "E615: vim_SelFile: can't get current directory" +msgstr "E615: vim_SelFile: ç¾åœ¨ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’å–å¾—ã§ãã¾ã›ã‚“" -#: ../globals.h:1012 -msgid "Interrupted" -msgstr "割込ã¾ã‚Œã¾ã—ãŸ" +msgid "OK" +msgstr "OK" -#: ../globals.h:1013 -msgid "E14: Invalid address" -msgstr "E14: 無効ãªã‚¢ãƒ‰ãƒ¬ã‚¹ã§ã™" +msgid "Cancel" +msgstr "ã‚ャンセル" -#: ../globals.h:1014 -msgid "E474: Invalid argument" -msgstr "E474: 無効ãªå¼•æ•°ã§ã™" +msgid "Scrollbar Widget: Could not get geometry of thumb pixmap." +msgstr "スクãƒãƒ¼ãƒ«ãƒãƒ¼: ç”»åƒã‚’å–å¾—ã§ãã¾ã›ã‚“ã§ã—ãŸ." -#: ../globals.h:1015 -#, c-format -msgid "E475: Invalid argument: %s" -msgstr "E475: 無効ãªå¼•æ•°ã§ã™: %s" +msgid "Vim dialog" +msgstr "Vim ダイアãƒã‚°" -#: ../globals.h:1016 -#, c-format -msgid "E15: Invalid expression: %s" -msgstr "E15: 無効ãªå¼ã§ã™: %s" +msgid "E232: Cannot create BalloonEval with both message and callback" +msgstr "E232: メッセージã¨ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã®ã‚ã‚‹ BalloonEval を作æˆã§ãã¾ã›ã‚“" -#: ../globals.h:1017 -msgid "E16: Invalid range" -msgstr "E16: 無効ãªç¯„囲ã§ã™" +msgid "_Cancel" +msgstr "ã‚ャンセル(_C)" -#: ../globals.h:1018 -msgid "E476: Invalid command" -msgstr "E476: 無効ãªã‚³ãƒžãƒ³ãƒ‰ã§ã™" +msgid "_Save" +msgstr "ä¿å˜(_S)" -#: ../globals.h:1019 -#, c-format -msgid "E17: \"%s\" is a directory" -msgstr "E17: \"%s\" ã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã™" +msgid "_Open" +msgstr "é–‹ã(_O)" -#: ../globals.h:1020 -#, fuzzy -msgid "E900: Invalid job id" -msgstr "E49: 無効ãªã‚¹ã‚¯ãƒãƒ¼ãƒ«é‡ã§ã™" +msgid "_OK" +msgstr "_OK" -#: ../globals.h:1021 -msgid "E901: Job table is full" +msgid "" +"&Yes\n" +"&No\n" +"&Cancel" msgstr "" +"ã¯ã„(&Y)\n" +"ã„ã„ãˆ(&N)\n" +"ã‚ャンセル(&C)" -#: ../globals.h:1024 -#, c-format -msgid "E364: Library call failed for \"%s()\"" -msgstr "E364: \"%s\"() ã®ãƒ©ã‚¤ãƒ–ラリ呼出ã«å¤±æ•—ã—ã¾ã—ãŸ" +msgid "Yes" +msgstr "ã¯ã„" -#: ../globals.h:1026 -msgid "E19: Mark has invalid line number" -msgstr "E19: マークã«ç„¡åйãªè¡Œç•ªå·ãŒæŒ‡å®šã•れã¦ã„ã¾ã—ãŸ" +msgid "No" +msgstr "ã„ã„ãˆ" -#: ../globals.h:1027 -msgid "E20: Mark not set" -msgstr "E20: マークã¯è¨å®šã•れã¦ã„ã¾ã›ã‚“" +msgid "Input _Methods" +msgstr "インプットメソッド" -#: ../globals.h:1029 -msgid "E21: Cannot make changes, 'modifiable' is off" -msgstr "E21: 'modifiable' ãŒã‚ªãƒ•ãªã®ã§, 変更ã§ãã¾ã›ã‚“" +msgid "VIM - Search and Replace..." +msgstr "VIM - 検索ã¨ç½®æ›..." -#: ../globals.h:1030 -msgid "E22: Scripts nested too deep" -msgstr "E22: スクリプトã®å…¥ã‚ŒåãŒæ·±éŽãŽã¾ã™" +msgid "VIM - Search..." +msgstr "VIM - 検索..." -#: ../globals.h:1031 -msgid "E23: No alternate file" -msgstr "E23: 副ファイルã¯ã‚りã¾ã›ã‚“" +msgid "Find what:" +msgstr "検索文å—列:" -#: ../globals.h:1032 -msgid "E24: No such abbreviation" -msgstr "E24: ãã®ã‚ˆã†ãªçŸç¸®å…¥åŠ›ã¯ã‚りã¾ã›ã‚“" +msgid "Replace with:" +msgstr "ç½®æ›æ–‡å—列:" -#: ../globals.h:1033 -msgid "E477: No ! allowed" -msgstr "E477: ! ã¯è¨±å¯ã•れã¦ã„ã¾ã›ã‚“" +#. whole word only button +msgid "Match whole word only" +msgstr "æ£ç¢ºã«è©²å½“ã™ã‚‹ã‚‚ã®ã ã‘" -#: ../globals.h:1035 -msgid "E25: Nvim does not have a built-in GUI" -msgstr "E25: GUIã¯ä½¿ç”¨ä¸å¯èƒ½ã§ã™: コンパイル時ã«ç„¡åйã«ã•れã¦ã„ã¾ã™" +#. match case button +msgid "Match case" +msgstr "大文å—/å°æ–‡å—を区別ã™ã‚‹" -#: ../globals.h:1036 -#, c-format -msgid "E28: No such highlight group name: %s" -msgstr "E28: ãã®ã‚ˆã†ãªåã®ãƒã‚¤ãƒ©ã‚¤ãƒˆã‚°ãƒ«ãƒ¼ãƒ—ã¯ã‚りã¾ã›ã‚“: %s" +msgid "Direction" +msgstr "æ–¹å‘" -#: ../globals.h:1037 -msgid "E29: No inserted text yet" -msgstr "E29: ã¾ã テã‚ã‚¹ãƒˆãŒæŒ¿å…¥ã•れã¦ã„ã¾ã›ã‚“" +#. 'Up' and 'Down' buttons +msgid "Up" +msgstr "上" -#: ../globals.h:1038 -msgid "E30: No previous command line" -msgstr "E30: 以å‰ã«ã‚³ãƒžãƒ³ãƒ‰è¡ŒãŒã‚りã¾ã›ã‚“" +msgid "Down" +msgstr "下" -#: ../globals.h:1039 -msgid "E31: No such mapping" -msgstr "E31: ãã®ã‚ˆã†ãªãƒžãƒƒãƒ”ングã¯ã‚りã¾ã›ã‚“" +msgid "Find Next" +msgstr "次を検索" -#: ../globals.h:1040 -msgid "E479: No match" -msgstr "E479: 該当ã¯ã‚りã¾ã›ã‚“" +msgid "Replace" +msgstr "ç½®æ›" -#: ../globals.h:1041 -#, c-format -msgid "E480: No match: %s" -msgstr "E480: 該当ã¯ã‚りã¾ã›ã‚“: %s" +msgid "Replace All" +msgstr "å…¨ã¦ç½®æ›" -#: ../globals.h:1042 -msgid "E32: No file name" -msgstr "E32: ファイルåãŒã‚りã¾ã›ã‚“" +msgid "_Close" +msgstr "é–‰ã˜ã‚‹(_C)" -#: ../globals.h:1044 -msgid "E33: No previous substitute regular expression" -msgstr "E33: æ£è¦è¡¨ç¾ç½®æ›ãŒã¾ã 実行ã•れã¦ã„ã¾ã›ã‚“" +msgid "Vim: Received \"die\" request from session manager\n" +msgstr "Vim: セッションマãƒãƒ¼ã‚¸ãƒ£ã‹ã‚‰ \"die\" è¦æ±‚ã‚’å—ã‘å–りã¾ã—ãŸ\n" -#: ../globals.h:1045 -msgid "E34: No previous command" -msgstr "E34: コマンドãŒã¾ã 実行ã•れã¦ã„ã¾ã›ã‚“" +msgid "Close tab" +msgstr "タブページを閉ã˜ã‚‹" -#: ../globals.h:1046 -msgid "E35: No previous regular expression" -msgstr "E35: æ£è¦è¡¨ç¾ãŒã¾ã 実行ã•れã¦ã„ã¾ã›ã‚“" +msgid "New tab" +msgstr "æ–°è¦ã‚¿ãƒ–ページ" -#: ../globals.h:1047 -msgid "E481: No range allowed" -msgstr "E481: 範囲指定ã¯è¨±å¯ã•れã¦ã„ã¾ã›ã‚“" +msgid "Open Tab..." +msgstr "タブページを開ã..." -#: ../globals.h:1048 -msgid "E36: Not enough room" -msgstr "E36: ウィンドウã«å分ãªé«˜ã•ã‚‚ã—ãã¯å¹…ãŒã‚りã¾ã›ã‚“" +msgid "Vim: Main window unexpectedly destroyed\n" +msgstr "Vim: メインウィンドウãŒä¸æ„ã«ç ´å£Šã•れã¾ã—ãŸ\n" -#: ../globals.h:1049 -#, c-format -msgid "E482: Can't create file %s" -msgstr "E482: ファイル %s を作æˆã§ãã¾ã›ã‚“" +msgid "&Filter" +msgstr "フィルタ(&F)" -#: ../globals.h:1050 -msgid "E483: Can't get temp file name" -msgstr "E483: 一時ファイルã®åå‰ã‚’å–å¾—ã§ãã¾ã›ã‚“" +msgid "&Cancel" +msgstr "ã‚ャンセル(&C)" -#: ../globals.h:1051 -#, c-format -msgid "E484: Can't open file %s" -msgstr "E484: ファイル \"%s\" ã‚’é–‹ã‘ã¾ã›ã‚“" +msgid "Directories" +msgstr "ディレクトリ" -#: ../globals.h:1052 -#, c-format -msgid "E485: Can't read file %s" -msgstr "E485: ファイル %s ã‚’èªè¾¼ã‚ã¾ã›ã‚“" +msgid "Filter" +msgstr "フィルタ" -#: ../globals.h:1054 -msgid "E37: No write since last change (add ! to override)" -msgstr "E37: 最後ã®å¤‰æ›´ãŒä¿å˜ã•れã¦ã„ã¾ã›ã‚“ (! ã‚’è¿½åŠ ã§å¤‰æ›´ã‚’ç ´æ£„)" +msgid "&Help" +msgstr "ヘルプ(&H)" -#: ../globals.h:1055 -msgid "E37: No write since last change" -msgstr "E37: 最後ã®å¤‰æ›´ãŒä¿å˜ã•れã¦ã„ã¾ã›ã‚“" +msgid "Files" +msgstr "ファイル" -#: ../globals.h:1056 -msgid "E38: Null argument" -msgstr "E38: 引数ãŒç©ºã§ã™" +msgid "&OK" +msgstr "&OK" -#: ../globals.h:1057 -msgid "E39: Number expected" -msgstr "E39: 数値ãŒè¦æ±‚ã•れã¦ã„ã¾ã™" +msgid "Selection" +msgstr "é¸æŠž" -#: ../globals.h:1058 -#, c-format -msgid "E40: Can't open errorfile %s" -msgstr "E40: エラーファイル %s ã‚’é–‹ã‘ã¾ã›ã‚“" +msgid "Find &Next" +msgstr "次を検索(&N)" -#: ../globals.h:1059 -msgid "E41: Out of memory!" -msgstr "E41: メモリãŒå°½ãæžœã¦ã¾ã—ãŸ!" +msgid "&Replace" +msgstr "ç½®æ›(&R)" -#: ../globals.h:1060 -msgid "Pattern not found" -msgstr "パターンã¯è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ" +msgid "Replace &All" +msgstr "å…¨ã¦ç½®æ›(&A)" -#: ../globals.h:1061 -#, c-format -msgid "E486: Pattern not found: %s" -msgstr "E486: パターンã¯è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ: %s" +msgid "&Undo" +msgstr "アンドゥ(&U)" -#: ../globals.h:1062 -msgid "E487: Argument must be positive" -msgstr "E487: å¼•æ•°ã¯æ£ã®å€¤ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“" +msgid "Open tab..." +msgstr "タブページを開ã" -#: ../globals.h:1064 -msgid "E459: Cannot go back to previous directory" -msgstr "E459: å‰ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«æˆ»ã‚Œã¾ã›ã‚“" +msgid "Find string (use '\\\\' to find a '\\')" +msgstr "検索文å—列 ('\\' を検索ã™ã‚‹ã«ã¯ '\\\\')" -#: ../globals.h:1066 -msgid "E42: No Errors" -msgstr "E42: エラーã¯ã‚りã¾ã›ã‚“" +msgid "Find & Replace (use '\\\\' to find a '\\')" +msgstr "æ¤œç´¢ãƒ»ç½®æ› ('\\' を検索ã™ã‚‹ã«ã¯ '\\\\')" -#: ../globals.h:1067 -msgid "E776: No location list" -msgstr "E776: ãƒã‚±ãƒ¼ã‚·ãƒ§ãƒ³ãƒªã‚¹ãƒˆã¯ã‚りã¾ã›ã‚“" - -#: ../globals.h:1068 -msgid "E43: Damaged match string" -msgstr "E43: 該当文å—列ãŒç ´æã—ã¦ã„ã¾ã™" +#. We fake this: Use a filter that doesn't select anything and a default +#. * file name that won't be used. +msgid "Not Used" +msgstr "使ã‚れã¾ã›ã‚“" -#: ../globals.h:1069 -msgid "E44: Corrupted regexp program" -msgstr "E44: 䏿£ãªæ£è¦è¡¨ç¾ãƒ—ãƒã‚°ãƒ©ãƒ ã§ã™" +msgid "Directory\t*.nothing\n" +msgstr "ディレクトリ\t*.nothing\n" -#: ../globals.h:1071 -msgid "E45: 'readonly' option is set (add ! to override)" -msgstr "E45: 'readonly' オプションãŒè¨å®šã•れã¦ã„ã¾ã™ (! ã‚’è¿½åŠ ã§ä¸Šæ›¸ã)" - -#: ../globals.h:1073 #, c-format -msgid "E46: Cannot change read-only variable \"%s\"" -msgstr "E46: èªå–専用変数 \"%s\" ã«ã¯å€¤ã‚’è¨å®šã§ãã¾ã›ã‚“" +msgid "E671: Cannot find window title \"%s\"" +msgstr "E671: タイトル㌠\"%s\" ã®ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã¯è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" -#: ../globals.h:1075 #, c-format -msgid "E794: Cannot set variable in the sandbox: \"%s\"" -msgstr "E794: サンドボックスã§ã¯å¤‰æ•° \"%s\" ã«å€¤ã‚’è¨å®šã§ãã¾ã›ã‚“" - -#: ../globals.h:1076 -msgid "E47: Error while reading errorfile" -msgstr "E47: エラーファイルã®èªè¾¼ä¸ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ" - -#: ../globals.h:1078 -msgid "E48: Not allowed in sandbox" -msgstr "E48: サンドボックスã§ã¯è¨±ã•れã¾ã›ã‚“" - -#: ../globals.h:1080 -msgid "E523: Not allowed here" -msgstr "E523: ã“ã“ã§ã¯è¨±å¯ã•れã¾ã›ã‚“" +msgid "E243: Argument not supported: \"-%s\"; Use the OLE version." +msgstr "E243: 引数ã¯ã‚µãƒãƒ¼ãƒˆã•れã¾ã›ã‚“: \"-%s\"; OLE版を使用ã—ã¦ãã ã•ã„." -#: ../globals.h:1082 -msgid "E359: Screen mode setting not supported" -msgstr "E359: スクリーンモードã®è¨å®šã«ã¯å¯¾å¿œã—ã¦ã„ã¾ã›ã‚“" +msgid "E672: Unable to open window inside MDI application" +msgstr "E672: MDIアプリã®ä¸ã§ã¯ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã‚’é–‹ã‘ã¾ã›ã‚“" -#: ../globals.h:1083 -msgid "E49: Invalid scroll size" -msgstr "E49: 無効ãªã‚¹ã‚¯ãƒãƒ¼ãƒ«é‡ã§ã™" +msgid "Vim E458: Cannot allocate colormap entry, some colors may be incorrect" +msgstr "Vim E458: è‰²æŒ‡å®šãŒæ£ã—ããªã„ã®ã§ã‚¨ãƒ³ãƒˆãƒªã‚’割り当ã¦ã‚‰ã‚Œã¾ã›ã‚“" -#: ../globals.h:1084 -msgid "E91: 'shell' option is empty" -msgstr "E91: 'shell' オプションãŒç©ºã§ã™" +#, c-format +msgid "E250: Fonts for the following charsets are missing in fontset %s:" +msgstr "E250: ä»¥ä¸‹ã®æ–‡å—セットã®ãƒ•ォントãŒã‚りã¾ã›ã‚“ %s:" -#: ../globals.h:1085 -msgid "E255: Couldn't read in sign data!" -msgstr "E255: sign ã®ãƒ‡ãƒ¼ã‚¿ã‚’èªè¾¼ã‚ã¾ã›ã‚“ã§ã—ãŸ" +#, c-format +msgid "E252: Fontset name: %s" +msgstr "E252: フォントセットå: %s" -#: ../globals.h:1086 -msgid "E72: Close error on swap file" -msgstr "E72: スワップファイルã®ã‚¯ãƒãƒ¼ã‚ºæ™‚エラーã§ã™" +#, c-format +msgid "Font '%s' is not fixed-width" +msgstr "フォント '%s' ã¯å›ºå®šå¹…ã§ã¯ã‚りã¾ã›ã‚“" -#: ../globals.h:1087 -msgid "E73: tag stack empty" -msgstr "E73: タグスタックãŒç©ºã§ã™" +#, c-format +msgid "E253: Fontset name: %s" +msgstr "E253: フォントセットå: %s" -#: ../globals.h:1088 -msgid "E74: Command too complex" -msgstr "E74: コマンドãŒè¤‡é›‘éŽãŽã¾ã™" +#, c-format +msgid "Font0: %s" +msgstr "フォント0: %s" -#: ../globals.h:1089 -msgid "E75: Name too long" -msgstr "E75: åå‰ãŒé•·éŽãŽã¾ã™" +#, c-format +msgid "Font1: %s" +msgstr "フォント1: %s" -#: ../globals.h:1090 -msgid "E76: Too many [" -msgstr "E76: [ ãŒå¤šéŽãŽã¾ã™" +#, c-format +msgid "Font%ld width is not twice that of font0" +msgstr "フォント%ld ã®å¹…ãŒãƒ•ォント0ã®2å€ã§ã¯ã‚りã¾ã›ã‚“" -#: ../globals.h:1091 -msgid "E77: Too many file names" -msgstr "E77: ファイルåãŒå¤šéŽãŽã¾ã™" +#, c-format +msgid "Font0 width: %ld" +msgstr "フォント0ã®å¹…: %ld" -#: ../globals.h:1092 -msgid "E488: Trailing characters" -msgstr "E488: ä½™åˆ†ãªæ–‡å—ãŒå¾Œã‚ã«ã‚りã¾ã™" +#, c-format +msgid "Font1 width: %ld" +msgstr "フォント1ã®å¹…: %ld" -#: ../globals.h:1093 -msgid "E78: Unknown mark" -msgstr "E78: 未知ã®ãƒžãƒ¼ã‚¯" +msgid "Invalid font specification" +msgstr "無効ãªãƒ•ォント指定ã§ã™" -#: ../globals.h:1094 -msgid "E79: Cannot expand wildcards" -msgstr "E79: ワイルドカードを展開ã§ãã¾ã›ã‚“" +msgid "&Dismiss" +msgstr "å´ä¸‹ã™ã‚‹(&D)" -#: ../globals.h:1096 -msgid "E591: 'winheight' cannot be smaller than 'winminheight'" -msgstr "E591: 'winheight' 㯠'winminheight' よりå°ã•ãã§ãã¾ã›ã‚“" +msgid "no specific match" +msgstr "マッãƒã™ã‚‹ã‚‚ã®ãŒã‚りã¾ã›ã‚“" -#: ../globals.h:1098 -msgid "E592: 'winwidth' cannot be smaller than 'winminwidth'" -msgstr "E592: 'winwidth' 㯠'winminwidth' よりå°ã•ãã§ãã¾ã›ã‚“" +msgid "Vim - Font Selector" +msgstr "Vim - ãƒ•ã‚©ãƒ³ãƒˆé¸æŠž" -#: ../globals.h:1099 -msgid "E80: Error while writing" -msgstr "E80: 書込ã¿ä¸ã®ã‚¨ãƒ©ãƒ¼" +msgid "Name:" +msgstr "åå‰:" -#: ../globals.h:1100 -msgid "Zero count" -msgstr "ゼãƒã‚«ã‚¦ãƒ³ãƒˆ" +#. create toggle button +msgid "Show size in Points" +msgstr "サイズをãƒã‚¤ãƒ³ãƒˆã§è¡¨ç¤ºã™ã‚‹" -#: ../globals.h:1101 -msgid "E81: Using <SID> not in a script context" -msgstr "E81: スクリプト以外ã§<SID>ãŒä½¿ã‚れã¾ã—ãŸ" +msgid "Encoding:" +msgstr "エンコード:" -#: ../globals.h:1102 -#, c-format -msgid "E685: Internal error: %s" -msgstr "E685: 内部エラーã§ã™: %s" +msgid "Font:" +msgstr "フォント:" -#: ../globals.h:1104 -msgid "E363: pattern uses more memory than 'maxmempattern'" -msgstr "E363: パターン㌠'maxmempattern' 以上ã®ãƒ¡ãƒ¢ãƒªã‚’使用ã—ã¾ã™" +msgid "Style:" +msgstr "スタイル:" -#: ../globals.h:1105 -msgid "E749: empty buffer" -msgstr "E749: ãƒãƒƒãƒ•ã‚¡ãŒç©ºã§ã™" +msgid "Size:" +msgstr "サイズ:" -#: ../globals.h:1108 -msgid "E682: Invalid search pattern or delimiter" -msgstr "E682: 検索パターンã‹åŒºåˆ‡ã‚Šè¨˜å·ãŒä¸æ£ã§ã™" +msgid "E256: Hangul automata ERROR" +msgstr "E256: ãƒãƒ³ã‚°ãƒ«ã‚ªãƒ¼ãƒˆãƒžãƒˆãƒ³ã‚¨ãƒ©ãƒ¼" -#: ../globals.h:1109 -msgid "E139: File is loaded in another buffer" -msgstr "E139: åŒã˜åå‰ã®ãƒ•ァイルãŒä»–ã®ãƒãƒƒãƒ•ã‚¡ã§èªè¾¼ã¾ã‚Œã¦ã„ã¾ã™" - -#: ../globals.h:1110 -#, c-format -msgid "E764: Option '%s' is not set" -msgstr "E764: オプション '%s' ã¯è¨å®šã•れã¦ã„ã¾ã›ã‚“" - -#: ../globals.h:1111 -msgid "E850: Invalid register name" -msgstr "E850: 無効ãªãƒ¬ã‚¸ã‚¹ã‚¿åã§ã™" - -#: ../globals.h:1114 -msgid "search hit TOP, continuing at BOTTOM" -msgstr "上ã¾ã§æ¤œç´¢ã—ãŸã®ã§ä¸‹ã«æˆ»ã‚Šã¾ã™" - -#: ../globals.h:1115 -msgid "search hit BOTTOM, continuing at TOP" -msgstr "下ã¾ã§æ¤œç´¢ã—ãŸã®ã§ä¸Šã«æˆ»ã‚Šã¾ã™" - -#: ../hardcopy.c:240 msgid "E550: Missing colon" msgstr "E550: コãƒãƒ³ãŒã‚りã¾ã›ã‚“" -#: ../hardcopy.c:252 msgid "E551: Illegal component" msgstr "E551: 䏿£ãªæ§‹æ–‡è¦ç´ ã§ã™" -#: ../hardcopy.c:259 msgid "E552: digit expected" msgstr "E552: 数値ãŒå¿…è¦ã§ã™" -#: ../hardcopy.c:473 #, c-format msgid "Page %d" msgstr "%d ページ" -#: ../hardcopy.c:597 msgid "No text to be printed" msgstr "å°åˆ·ã™ã‚‹ãƒ†ã‚ストãŒã‚りã¾ã›ã‚“" -#: ../hardcopy.c:668 #, c-format msgid "Printing page %d (%d%%)" msgstr "å°åˆ·ä¸: ページ %d (%d%%)" -#: ../hardcopy.c:680 #, c-format msgid " Copy %d of %d" msgstr " コピー %d (å…¨ %d ä¸)" -#: ../hardcopy.c:733 #, c-format msgid "Printed: %s" msgstr "å°åˆ·ã—ã¾ã—ãŸ: %s" -#: ../hardcopy.c:740 msgid "Printing aborted" msgstr "å°åˆ·ãŒä¸æ¢ã•れã¾ã—ãŸ" -#: ../hardcopy.c:1365 msgid "E455: Error writing to PostScript output file" msgstr "E455: PostScriptå‡ºåŠ›ãƒ•ã‚¡ã‚¤ãƒ«ã®æ›¸è¾¼ã¿ã‚¨ãƒ©ãƒ¼ã§ã™" -#: ../hardcopy.c:1747 #, c-format msgid "E624: Can't open file \"%s\"" msgstr "E624: ファイル \"%s\" ã‚’é–‹ã‘ã¾ã›ã‚“" -#: ../hardcopy.c:1756 ../hardcopy.c:2470 #, c-format msgid "E457: Can't read PostScript resource file \"%s\"" msgstr "E457: PostScriptã®ãƒªã‚½ãƒ¼ã‚¹ãƒ•ァイル \"%s\" ã‚’èªè¾¼ã‚ã¾ã›ã‚“" -#: ../hardcopy.c:1772 #, c-format msgid "E618: file \"%s\" is not a PostScript resource file" msgstr "E618: ファイル \"%s\" 㯠PostScript リソースファイルã§ã¯ã‚りã¾ã›ã‚“" -#: ../hardcopy.c:1788 ../hardcopy.c:1805 ../hardcopy.c:1844 #, c-format msgid "E619: file \"%s\" is not a supported PostScript resource file" msgstr "E619: ファイル \"%s\" ã¯å¯¾å¿œã—ã¦ã„ãªã„ PostScript リソースファイルã§ã™" -#: ../hardcopy.c:1856 #, c-format msgid "E621: \"%s\" resource file has wrong version" msgstr "E621: リソースファイル \"%s\" ã¯ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒç•°ãªã‚Šã¾ã™" -#: ../hardcopy.c:2225 msgid "E673: Incompatible multi-byte encoding and character set." msgstr "E673: äº’æ›æ€§ã®ç„¡ã„マルãƒãƒã‚¤ãƒˆã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã¨æ–‡å—セットã§ã™" -#: ../hardcopy.c:2238 msgid "E674: printmbcharset cannot be empty with multi-byte encoding." msgstr "E674: マルãƒãƒã‚¤ãƒˆã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã§ã¯ printmbcharset を空ã«ã§ãã¾ã›ã‚“" -#: ../hardcopy.c:2254 msgid "E675: No default font specified for multi-byte printing." msgstr "" "E675: マルãƒãƒã‚¤ãƒˆæ–‡å—ã‚’å°åˆ·ã™ã‚‹ãŸã‚ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆãƒ•ã‚©ãƒ³ãƒˆãŒæŒ‡å®šã•れã¦ã„ã¾ã›ã‚“" -#: ../hardcopy.c:2426 msgid "E324: Can't open PostScript output file" msgstr "E324: PostScript出力用ã®ãƒ•ァイルを開ã‘ã¾ã›ã‚“" -#: ../hardcopy.c:2458 #, c-format msgid "E456: Can't open file \"%s\"" msgstr "E456: ファイル \"%s\" ã‚’é–‹ã‘ã¾ã›ã‚“" -#: ../hardcopy.c:2583 msgid "E456: Can't find PostScript resource file \"prolog.ps\"" msgstr "E456: PostScriptã®ãƒªã‚½ãƒ¼ã‚¹ãƒ•ァイル \"prolog.ps\" ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" -#: ../hardcopy.c:2593 msgid "E456: Can't find PostScript resource file \"cidfont.ps\"" msgstr "E456: PostScriptã®ãƒªã‚½ãƒ¼ã‚¹ãƒ•ァイル \"cidfont.ps\" ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" -#: ../hardcopy.c:2622 ../hardcopy.c:2639 ../hardcopy.c:2665 #, c-format msgid "E456: Can't find PostScript resource file \"%s.ps\"" msgstr "E456: PostScriptã®ãƒªã‚½ãƒ¼ã‚¹ãƒ•ァイル \"%s.ps\" ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" -#: ../hardcopy.c:2654 #, c-format msgid "E620: Unable to convert to print encoding \"%s\"" msgstr "E620: å°åˆ·ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ \"%s\" ã¸å¤‰æ›ã§ãã¾ã›ã‚“" -#: ../hardcopy.c:2877 msgid "Sending to printer..." msgstr "プリンタã«é€ä¿¡ä¸..." -#: ../hardcopy.c:2881 msgid "E365: Failed to print PostScript file" msgstr "E365: PostScriptファイルã®å°åˆ·ã«å¤±æ•—ã—ã¾ã—ãŸ" -#: ../hardcopy.c:2883 msgid "Print job sent." msgstr "å°åˆ·ã‚¸ãƒ§ãƒ–ã‚’é€ä¿¡ã—ã¾ã—ãŸ." -#: ../if_cscope.c:85 msgid "Add a new database" msgstr "æ–°ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚’è¿½åŠ " -#: ../if_cscope.c:87 msgid "Query for a pattern" msgstr "パターンã®ã‚¯ã‚¨ãƒªãƒ¼ã‚’è¿½åŠ " -#: ../if_cscope.c:89 msgid "Show this message" msgstr "ã“ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’表示ã™ã‚‹" -#: ../if_cscope.c:91 msgid "Kill a connection" msgstr "接続を終了ã™ã‚‹" -#: ../if_cscope.c:93 msgid "Reinit all connections" msgstr "å…¨ã¦ã®æŽ¥ç¶šã‚’å†åˆæœŸåŒ–ã™ã‚‹" -#: ../if_cscope.c:95 msgid "Show connections" msgstr "接続を表示ã™ã‚‹" -#: ../if_cscope.c:101 #, c-format msgid "E560: Usage: cs[cope] %s" msgstr "E560: 使用方法: cs[cope] %s" -#: ../if_cscope.c:225 msgid "This cscope command does not support splitting the window.\n" msgstr "ã“ã®cscopeコマンドã¯åˆ†å‰²ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã§ã¯ã‚µãƒãƒ¼ãƒˆã•れã¾ã›ã‚“.\n" -#: ../if_cscope.c:266 msgid "E562: Usage: cstag <ident>" msgstr "E562: 使用法: cstag <ident>" -#: ../if_cscope.c:313 msgid "E257: cstag: tag not found" msgstr "E257: cstag: ã‚¿ã‚°ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" -#: ../if_cscope.c:461 #, c-format msgid "E563: stat(%s) error: %d" msgstr "E563: stat(%s) エラー: %d" -#: ../if_cscope.c:551 +msgid "E563: stat error" +msgstr "E563: stat エラー" + #, c-format msgid "E564: %s is not a directory or a valid cscope database" msgstr "E564: %s ã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªåŠã³æœ‰åйãªcscopeã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã§ã¯ã‚りã¾ã›ã‚“" -#: ../if_cscope.c:566 #, c-format msgid "Added cscope database %s" msgstr "cscopeデータベース %s ã‚’è¿½åŠ " -#: ../if_cscope.c:616 #, c-format -msgid "E262: error reading cscope connection %<PRId64>" -msgstr "E262: cscopeã®æŽ¥ç¶š %<PRId64> ã‚’èªè¾¼ã¿ä¸ã®ã‚¨ãƒ©ãƒ¼ã§ã™" +msgid "E262: error reading cscope connection %ld" +msgstr "E262: cscopeã®æŽ¥ç¶š %ld ã‚’èªè¾¼ã¿ä¸ã®ã‚¨ãƒ©ãƒ¼ã§ã™" -#: ../if_cscope.c:711 msgid "E561: unknown cscope search type" msgstr "E561: 未知ã®cscope検索型ã§ã™" -#: ../if_cscope.c:752 ../if_cscope.c:789 msgid "E566: Could not create cscope pipes" msgstr "E566: cscopeパイプを作æˆã§ãã¾ã›ã‚“ã§ã—ãŸ" -#: ../if_cscope.c:767 msgid "E622: Could not fork for cscope" msgstr "E622: cscopeã®èµ·å‹•準備(fork)ã«å¤±æ•—ã—ã¾ã—ãŸ" -#: ../if_cscope.c:849 msgid "cs_create_connection setpgid failed" msgstr "cs_create_connection ã¸ã® setpgid ã«å¤±æ•—ã—ã¾ã—ãŸ" -#: ../if_cscope.c:853 ../if_cscope.c:889 msgid "cs_create_connection exec failed" msgstr "cs_create_connection ã®å®Ÿè¡Œã«å¤±æ•—ã—ã¾ã—ãŸ" -#: ../if_cscope.c:863 ../if_cscope.c:902 msgid "cs_create_connection: fdopen for to_fp failed" msgstr "cs_create_connection: to_fp ã® fdopen ã«å¤±æ•—ã—ã¾ã—ãŸ" -#: ../if_cscope.c:865 ../if_cscope.c:906 msgid "cs_create_connection: fdopen for fr_fp failed" msgstr "cs_create_connection: fr_fp ã® fdopen ã«å¤±æ•—ã—ã¾ã—ãŸ" -#: ../if_cscope.c:890 msgid "E623: Could not spawn cscope process" msgstr "E623: cscopeプãƒã‚»ã‚¹ã‚’èµ·å‹•ã§ãã¾ã›ã‚“ã§ã—ãŸ" -#: ../if_cscope.c:932 msgid "E567: no cscope connections" msgstr "E567: cscope接続ã«å¤±æ•—ã—ã¾ã—ãŸ" -#: ../if_cscope.c:1009 #, c-format msgid "E469: invalid cscopequickfix flag %c for %c" msgstr "E469: 無効㪠cscopequickfix フラグ %c ã® %c ã§ã™" -#: ../if_cscope.c:1058 #, c-format msgid "E259: no matches found for cscope query %s of %s" msgstr "E259: cscopeクエリー %s of %s ã«è©²å½“ãŒã‚りã¾ã›ã‚“ã§ã—ãŸ" -#: ../if_cscope.c:1142 msgid "cscope commands:\n" msgstr "cscopeコマンド:\n" -#: ../if_cscope.c:1150 #, c-format msgid "%-5s: %s%*s (Usage: %s)" msgstr "%-5s: %s%*s (使用法: %s)" -#: ../if_cscope.c:1155 msgid "" "\n" +" a: Find assignments to this symbol\n" " c: Find functions calling this function\n" " d: Find functions called by this function\n" " e: Find this egrep pattern\n" @@ -3233,6 +2549,7 @@ msgid "" " t: Find this text string\n" msgstr "" "\n" +" a: ã“ã®ã‚·ãƒ³ãƒœãƒ«ã«å¯¾ã™ã‚‹ä»£å…¥ã‚’探ã™\n" " c: ã“ã®é–¢æ•°ã‚’呼んã§ã„る関数を探ã™\n" " d: ã“ã®é–¢æ•°ã‹ã‚‰å‘¼ã‚“ã§ã„る関数を探ã™\n" " e: ã“ã®egrepパターンを探ã™\n" @@ -3242,31 +2559,32 @@ msgstr "" " s: ã“ã®Cシンボルを探ã™\n" " t: ã“ã®ãƒ†ã‚スト文å—列を探ã™\n" -#: ../if_cscope.c:1226 +#, c-format +msgid "E625: cannot open cscope database: %s" +msgstr "E625: cscopeデータベース: %s ã‚’é–‹ãã“ã¨ãŒã§ãã¾ã›ã‚“" + +msgid "E626: cannot get cscope database information" +msgstr "E626: cscopeãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®æƒ…å ±ã‚’å–å¾—ã§ãã¾ã›ã‚“" + msgid "E568: duplicate cscope database not added" msgstr "E568: é‡è¤‡ã™ã‚‹cscopeデータベースã¯è¿½åŠ ã•れã¾ã›ã‚“ã§ã—ãŸ" -#: ../if_cscope.c:1335 #, c-format msgid "E261: cscope connection %s not found" msgstr "E261: cscope接続 %s ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ" -#: ../if_cscope.c:1364 #, c-format msgid "cscope connection %s closed" msgstr "cscope接続 %s ãŒé–‰ã˜ã‚‰ã‚Œã¾ã—ãŸ" #. should not reach here -#: ../if_cscope.c:1486 msgid "E570: fatal error in cs_manage_matches" msgstr "E570: cs_manage_matches ã§è‡´å‘½çš„ãªã‚¨ãƒ©ãƒ¼ã§ã™" -#: ../if_cscope.c:1693 #, c-format msgid "Cscope tag: %s" msgstr "Cscope ã‚¿ã‚°: %s" -#: ../if_cscope.c:1711 msgid "" "\n" " # line" @@ -3274,87 +2592,300 @@ msgstr "" "\n" " # 行番å·" -#: ../if_cscope.c:1713 msgid "filename / context / line\n" msgstr "ファイルå / 文脈 / 行\n" -#: ../if_cscope.c:1809 #, c-format msgid "E609: Cscope error: %s" msgstr "E609: cscopeエラー: %s" -#: ../if_cscope.c:2053 msgid "All cscope databases reset" msgstr "å…¨ã¦ã®cscopeデータベースをリセットã—ã¾ã™" -#: ../if_cscope.c:2123 msgid "no cscope connections\n" msgstr "cscope接続ãŒã‚りã¾ã›ã‚“\n" -#: ../if_cscope.c:2126 msgid " # pid database name prepend path\n" msgstr " # pid データベースå prepend パス\n" -#: ../main.c:144 +msgid "Lua library cannot be loaded." +msgstr "Luaライブラリをãƒãƒ¼ãƒ‰ã§ãã¾ã›ã‚“." + +msgid "cannot save undo information" +msgstr "ã‚¢ãƒ³ãƒ‰ã‚¥æƒ…å ±ãŒä¿å˜ã§ãã¾ã›ã‚“" + +msgid "" +"E815: Sorry, this command is disabled, the MzScheme libraries could not be " +"loaded." +msgstr "E815: ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ç„¡åйã§ã™. MzScheme ライブラリをãƒãƒ¼ãƒ‰ã§ãã¾ã›ã‚“." + +msgid "" +"E895: Sorry, this command is disabled, the MzScheme's racket/base module " +"could not be loaded." +msgstr "" +"E895: ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ç„¡åйã§ã™,ã”ã‚ã‚“ãªã•ã„. MzScheme ã® racket/base モジュール" +"ãŒãƒãƒ¼ãƒ‰ã§ãã¾ã›ã‚“ã§ã—ãŸ." + +msgid "invalid expression" +msgstr "無効ãªå¼ã§ã™" + +msgid "expressions disabled at compile time" +msgstr "å¼ã¯ã‚³ãƒ³ãƒ‘イル時ã«ç„¡åйã«ã•れã¦ã„ã¾ã™" + +msgid "hidden option" +msgstr "éš ã—オプション" + +msgid "unknown option" +msgstr "未知ã®ã‚ªãƒ—ションã§ã™" + +msgid "window index is out of range" +msgstr "範囲外ã®ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ç•ªå·ã§ã™" + +msgid "couldn't open buffer" +msgstr "ãƒãƒƒãƒ•ã‚¡ã‚’é–‹ã‘ã¾ã›ã‚“" + +msgid "cannot delete line" +msgstr "行を消ã›ã¾ã›ã‚“" + +msgid "cannot replace line" +msgstr "行を置æ›ã§ãã¾ã›ã‚“" + +msgid "cannot insert line" +msgstr "行を挿入ã§ãã¾ã›ã‚“" + +msgid "string cannot contain newlines" +msgstr "æ–‡å—列ã«ã¯æ”¹è¡Œæ–‡å—ã‚’å«ã‚られã¾ã›ã‚“" + +msgid "error converting Scheme values to Vim" +msgstr "Scheme値ã®Vimã¸ã®å¤‰æ›ã‚¨ãƒ©ãƒ¼" + +msgid "Vim error: ~a" +msgstr "Vim エラー: ~a" + +msgid "Vim error" +msgstr "Vim エラー" + +msgid "buffer is invalid" +msgstr "ãƒãƒƒãƒ•ã‚¡ã¯ç„¡åйã§ã™" + +msgid "window is invalid" +msgstr "ウィンドウã¯ç„¡åйã§ã™" + +msgid "linenr out of range" +msgstr "範囲外ã®è¡Œç•ªå·ã§ã™" + +msgid "not allowed in the Vim sandbox" +msgstr "サンドボックスã§ã¯è¨±ã•れã¾ã›ã‚“" + +msgid "E836: This Vim cannot execute :python after using :py3" +msgstr "E836: ã“ã®Vimã§ã¯ :py3 を使ã£ãŸå¾Œã« :python を使ãˆã¾ã›ã‚“" + +msgid "" +"E263: Sorry, this command is disabled, the Python library could not be " +"loaded." +msgstr "" +"E263: ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ç„¡åйã§ã™,ã”ã‚ã‚“ãªã•ã„: Pythonライブラリをãƒãƒ¼ãƒ‰ã§ãã¾ã›ã‚“" +"ã§ã—ãŸ." + +msgid "" +"E887: Sorry, this command is disabled, the Python's site module could not be " +"loaded." +msgstr "" +"E887: ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ç„¡åйã§ã™,ã”ã‚ã‚“ãªã•ã„. Python ã® site モジュールをãƒãƒ¼ãƒ‰" +"ã§ãã¾ã›ã‚“ã§ã—ãŸ." + +# Added at 07-Feb-2004. +msgid "E659: Cannot invoke Python recursively" +msgstr "E659: Python ã‚’å†å¸°çš„ã«å®Ÿè¡Œã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" + +msgid "E837: This Vim cannot execute :py3 after using :python" +msgstr "E837: ã“ã®Vimã§ã¯ :python を使ã£ãŸå¾Œã« :py3 を使ãˆã¾ã›ã‚“" + +msgid "E265: $_ must be an instance of String" +msgstr "E265: $_ ã¯æ–‡å—列ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“" + +msgid "" +"E266: Sorry, this command is disabled, the Ruby library could not be loaded." +msgstr "" +"E266: ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ç„¡åйã§ã™,ã”ã‚ã‚“ãªã•ã„: Rubyライブラリをãƒãƒ¼ãƒ‰ã§ãã¾ã›ã‚“ã§" +"ã—ãŸ." + +msgid "E267: unexpected return" +msgstr "E267: 予期ã›ã¬ return ã§ã™" + +msgid "E268: unexpected next" +msgstr "E268: 予期ã›ã¬ next ã§ã™" + +msgid "E269: unexpected break" +msgstr "E269: 予期ã›ã¬ break ã§ã™" + +msgid "E270: unexpected redo" +msgstr "E270: 予期ã›ã¬ redo ã§ã™" + +msgid "E271: retry outside of rescue clause" +msgstr "E271: rescue ã®å¤–ã® retry ã§ã™" + +msgid "E272: unhandled exception" +msgstr "E272: å–り扱ã‚れãªã‹ã£ãŸä¾‹å¤–ãŒã‚りã¾ã™" + +#, c-format +msgid "E273: unknown longjmp status %d" +msgstr "E273: 未知ã®longjmp状態: %d" + +msgid "invalid buffer number" +msgstr "無効ãªãƒãƒƒãƒ•ァ番å·ã§ã™" + +msgid "not implemented yet" +msgstr "ã¾ã 実装ã•れã¦ã„ã¾ã›ã‚“" + +#. ??? +msgid "cannot set line(s)" +msgstr "行をè¨å®šã§ãã¾ã›ã‚“" + +msgid "invalid mark name" +msgstr "無効ãªãƒžãƒ¼ã‚¯åã§ã™" + +msgid "mark not set" +msgstr "マークã¯è¨å®šã•れã¦ã„ã¾ã›ã‚“" + +#, c-format +msgid "row %d column %d" +msgstr "行 %d 列 %d" + +msgid "cannot insert/append line" +msgstr "è¡Œã®æŒ¿å…¥/è¿½åŠ ã‚’ã§ãã¾ã›ã‚“" + +msgid "line number out of range" +msgstr "範囲外ã®è¡Œç•ªå·ã§ã™" + +msgid "unknown flag: " +msgstr "未知ã®ãƒ•ラグ: " + +msgid "unknown vimOption" +msgstr "未知㮠vimOption ã§ã™" + +msgid "keyboard interrupt" +msgstr "ã‚ーボード割込ã¿" + +msgid "vim error" +msgstr "vim エラー" + +msgid "cannot create buffer/window command: object is being deleted" +msgstr "" +"ãƒãƒƒãƒ•ã‚¡/ウィンドウ作æˆã‚³ãƒžãƒ³ãƒ‰ã‚’作æˆã§ãã¾ã›ã‚“: ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆãŒæ¶ˆåŽ»ã•れã¦ã„ã¾" +"ã—ãŸ" + +msgid "" +"cannot register callback command: buffer/window is already being deleted" +msgstr "" +"コールãƒãƒƒã‚¯ã‚³ãƒžãƒ³ãƒ‰ã‚’登録ã§ãã¾ã›ã‚“: ãƒãƒƒãƒ•ã‚¡/ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ãŒæ—¢ã«æ¶ˆåŽ»ã•れã¾ã—ãŸ" + +#. This should never happen. Famous last word? +msgid "" +"E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-dev@vim." +"org" +msgstr "" +"E280: TCL 致命的エラー: reflist 汚染!? vim-dev@vim.org ã«å ±å‘Šã—ã¦ãã ã•ã„" + +msgid "cannot register callback command: buffer/window reference not found" +msgstr "" +"コールãƒãƒƒã‚¯ã‚³ãƒžãƒ³ãƒ‰ã‚’登録ã§ãã¾ã›ã‚“: ãƒãƒƒãƒ•ã‚¡/ウィンドウã®å‚ç…§ãŒè¦‹ã¤ã‹ã‚Šã¾ã›" +"ã‚“" + +msgid "" +"E571: Sorry, this command is disabled: the Tcl library could not be loaded." +msgstr "" +"E571: ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ç„¡åйã§ã™,ã”ã‚ã‚“ãªã•ã„: Tclライブラリをãƒãƒ¼ãƒ‰ã§ãã¾ã›ã‚“ã§" +"ã—ãŸ." + +#, c-format +msgid "E572: exit code %d" +msgstr "E572: 終了コード %d" + +msgid "cannot get line" +msgstr "行をå–å¾—ã§ãã¾ã›ã‚“" + +msgid "Unable to register a command server name" +msgstr "命令サーãƒãƒ¼ã®åå‰ã‚’登録ã§ãã¾ã›ã‚“" + +msgid "E248: Failed to send command to the destination program" +msgstr "E248: 目的ã®ãƒ—ãƒã‚°ãƒ©ãƒ ã¸ã®ã‚³ãƒžãƒ³ãƒ‰é€ä¿¡ã«å¤±æ•—ã—ã¾ã—ãŸ" + +#, c-format +msgid "E573: Invalid server id used: %s" +msgstr "E573: 無効ãªã‚µãƒ¼ãƒãƒ¼IDãŒä½¿ã‚れã¾ã—ãŸ: %s" + +msgid "E251: VIM instance registry property is badly formed. Deleted!" +msgstr "E251: VIM 実体ã®ç™»éŒ²ãƒ—ãƒãƒ‘ティãŒä¸æ£ã§ã™. 消去ã—ã¾ã—ãŸ!" + +#, c-format +msgid "E696: Missing comma in List: %s" +msgstr "E696: リスト型ã«ã‚«ãƒ³ãƒžãŒã‚りã¾ã›ã‚“: %s" + +#, c-format +msgid "E697: Missing end of List ']': %s" +msgstr "E697: ãƒªã‚¹ãƒˆåž‹ã®æœ€å¾Œã« ']' ãŒã‚りã¾ã›ã‚“: %s" + msgid "Unknown option argument" msgstr "未知ã®ã‚ªãƒ—ション引数ã§ã™" -#: ../main.c:146 msgid "Too many edit arguments" msgstr "編集引数ãŒå¤šéŽãŽã¾ã™" -#: ../main.c:148 msgid "Argument missing after" msgstr "引数ãŒã‚りã¾ã›ã‚“" -#: ../main.c:150 msgid "Garbage after option argument" msgstr "オプション引数ã®å¾Œã«ã‚´ãƒŸãŒã‚りã¾ã™" -#: ../main.c:152 msgid "Too many \"+command\", \"-c command\" or \"--cmd command\" arguments" msgstr "\"+command\", \"-c command\", \"--cmd command\" ã®å¼•æ•°ãŒå¤šéŽãŽã¾ã™" -#: ../main.c:154 msgid "Invalid argument for" msgstr "無効ãªå¼•æ•°ã§ã™: " -#: ../main.c:294 #, c-format msgid "%d files to edit\n" msgstr "%d 個ã®ãƒ•ァイルãŒç·¨é›†ã‚’控ãˆã¦ã„ã¾ã™\n" -#: ../main.c:1342 +msgid "netbeans is not supported with this GUI\n" +msgstr "netbeans ã¯ã“ã®GUIã§ã¯åˆ©ç”¨ã§ãã¾ã›ã‚“\n" + +msgid "'-nb' cannot be used: not enabled at compile time\n" +msgstr "'-nb' 使用ä¸å¯èƒ½ã§ã™: コンパイル時ã«ç„¡åйã«ã•れã¦ã„ã¾ã™\n" + +msgid "This Vim was not compiled with the diff feature." +msgstr "ã“ã®Vimã«ã¯diff機能ãŒã‚りã¾ã›ã‚“(コンパイル時è¨å®š)." + msgid "Attempt to open script file again: \"" msgstr "スクリプトファイルをå†ã³é–‹ã„ã¦ã¿ã¾ã™: \"" -#: ../main.c:1350 msgid "Cannot open for reading: \"" msgstr "èªè¾¼ç”¨ã¨ã—ã¦é–‹ã‘ã¾ã›ã‚“" -#: ../main.c:1393 msgid "Cannot open for script output: \"" msgstr "スクリプト出力用を開ã‘ã¾ã›ã‚“" -#: ../main.c:1622 +msgid "Vim: Error: Failure to start gvim from NetBeans\n" +msgstr "Vim: エラー: NetBeansã‹ã‚‰gvimをスタートã§ãã¾ã›ã‚“\n" + +msgid "Vim: Error: This version of Vim does not run in a Cygwin terminal\n" +msgstr "Vim: エラー: ã“ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®Vimã¯Cygwin端末ã§ã¯å‹•作ã—ã¾ã›ã‚“\n" + msgid "Vim: Warning: Output is not to a terminal\n" msgstr "Vim: è¦å‘Š: 端末ã¸ã®å‡ºåŠ›ã§ã¯ã‚りã¾ã›ã‚“\n" -#: ../main.c:1624 msgid "Vim: Warning: Input is not from a terminal\n" msgstr "Vim: è¦å‘Š: 端末ã‹ã‚‰ã®å…¥åŠ›ã§ã¯ã‚りã¾ã›ã‚“\n" #. just in case.. -#: ../main.c:1891 msgid "pre-vimrc command line" msgstr "vimrcå‰ã®ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³" -#: ../main.c:1964 #, c-format msgid "E282: Cannot read from \"%s\"" msgstr "E282: \"%s\"ã‹ã‚‰èªè¾¼ã‚€ã“ã¨ãŒã§ãã¾ã›ã‚“" -#: ../main.c:2149 msgid "" "\n" "More info with: \"vim -h\"\n" @@ -3362,23 +2893,18 @@ msgstr "" "\n" "ã‚ˆã‚Šè©³ç´°ãªæƒ…å ±ã¯: \"vim -h\"\n" -#: ../main.c:2178 msgid "[file ..] edit specified file(s)" msgstr "[ファイル..] ã‚るファイルを編集ã™ã‚‹" -#: ../main.c:2179 msgid "- read text from stdin" msgstr "- 標準入力ã‹ã‚‰ãƒ†ã‚ストをèªè¾¼ã‚€" -#: ../main.c:2180 msgid "-t tag edit file where tag is defined" msgstr "-t ã‚¿ã‚° ã‚¿ã‚°ãŒå®šç¾©ã•れãŸã¨ã“ã‚ã‹ã‚‰ç·¨é›†ã™ã‚‹" -#: ../main.c:2181 msgid "-q [errorfile] edit file with first error" msgstr "-q [errorfile] 最åˆã®ã‚¨ãƒ©ãƒ¼ã§ç·¨é›†ã™ã‚‹" -#: ../main.c:2187 msgid "" "\n" "\n" @@ -3388,11 +2914,9 @@ msgstr "" "\n" "使用法:" -#: ../main.c:2189 msgid " vim [arguments] " msgstr " vim [引数] " -#: ../main.c:2193 msgid "" "\n" " or:" @@ -3400,7 +2924,13 @@ msgstr "" "\n" " ã‚‚ã—ãã¯:" -#: ../main.c:2196 +msgid "" +"\n" +"Where case is ignored prepend / to make flag upper case" +msgstr "" +"\n" +"大尿–‡å—ãŒç„¡è¦–ã•ã‚Œã‚‹å ´åˆã¯å¤§æ–‡å—ã«ã™ã‚‹ãŸã‚ã« / ã‚’å‰ç½®ã—ã¦ãã ã•ã„" + msgid "" "\n" "\n" @@ -3410,189 +2940,319 @@ msgstr "" "\n" "引数:\n" -#: ../main.c:2197 msgid "--\t\t\tOnly file names after this" msgstr "--\t\t\tã“ã®ã‚ã¨ã«ã¯ãƒ•ァイルåã ã‘" -#: ../main.c:2199 msgid "--literal\t\tDon't expand wildcards" msgstr "--literal\t\tワイルドカードを展開ã—ãªã„" -#: ../main.c:2201 +msgid "-register\t\tRegister this gvim for OLE" +msgstr "-register\t\tã“ã®gvimã‚’OLEã¨ã—ã¦ç™»éŒ²ã™ã‚‹" + +msgid "-unregister\t\tUnregister gvim for OLE" +msgstr "-unregister\t\tgvimã®OLE登録を解除ã™ã‚‹" + +msgid "-g\t\t\tRun using GUI (like \"gvim\")" +msgstr "-g\t\t\tGUIã§èµ·å‹•ã™ã‚‹ (\"gvim\" ã¨åŒã˜)" + +msgid "-f or --nofork\tForeground: Don't fork when starting GUI" +msgstr "-f or --nofork\tフォアグラウンド: GUIã‚’å§‹ã‚ã‚‹ã¨ãã«forkã—ãªã„" + msgid "-v\t\t\tVi mode (like \"vi\")" msgstr "-v\t\t\tViモード (\"vi\" ã¨åŒã˜)" -#: ../main.c:2202 msgid "-e\t\t\tEx mode (like \"ex\")" msgstr "-e\t\t\tExモード (\"ex\" ã¨åŒã˜)" -#: ../main.c:2203 msgid "-E\t\t\tImproved Ex mode" msgstr "-E\t\t\t改良Exモード" -#: ../main.c:2204 msgid "-s\t\t\tSilent (batch) mode (only for \"ex\")" msgstr "-s\t\t\tサイレント(ãƒãƒƒãƒ)モード (\"ex\" 専用)" -#: ../main.c:2205 msgid "-d\t\t\tDiff mode (like \"vimdiff\")" msgstr "-d\t\t\t差分モード (\"vidiff\" ã¨åŒã˜)" -#: ../main.c:2206 msgid "-y\t\t\tEasy mode (like \"evim\", modeless)" msgstr "-y\t\t\tイージーモード (\"evim\" ã¨åŒã˜, モード無)" -#: ../main.c:2207 msgid "-R\t\t\tReadonly mode (like \"view\")" msgstr "-R\t\t\tèªè¾¼å°‚用モード (\"view\" ã¨åŒã˜)" -#: ../main.c:2208 msgid "-Z\t\t\tRestricted mode (like \"rvim\")" msgstr "-Z\t\t\t制é™ãƒ¢ãƒ¼ãƒ‰ (\"rvim\" ã¨åŒã˜)" -#: ../main.c:2209 msgid "-m\t\t\tModifications (writing files) not allowed" msgstr "-m\t\t\t変更 (ファイルä¿å˜æ™‚) ã‚’ã§ããªã„よã†ã«ã™ã‚‹" -#: ../main.c:2210 msgid "-M\t\t\tModifications in text not allowed" msgstr "-M\t\t\tテã‚ストã®ç·¨é›†ã‚’行ãªãˆãªã„よã†ã«ã™ã‚‹" -#: ../main.c:2211 msgid "-b\t\t\tBinary mode" msgstr "-b\t\t\tãƒã‚¤ãƒŠãƒªãƒ¢ãƒ¼ãƒ‰" -#: ../main.c:2212 msgid "-l\t\t\tLisp mode" msgstr "-l\t\t\tLispモード" -#: ../main.c:2213 msgid "-C\t\t\tCompatible with Vi: 'compatible'" msgstr "-C\t\t\tVi互æ›ãƒ¢ãƒ¼ãƒ‰: 'compatible'" -#: ../main.c:2214 msgid "-N\t\t\tNot fully Vi compatible: 'nocompatible'" msgstr "-N\t\t\tViéžäº’æ›ãƒ¢ãƒ¼ãƒ‰: 'nocompatible" -#: ../main.c:2215 msgid "-V[N][fname]\t\tBe verbose [level N] [log messages to fname]" msgstr "-V[N][fname]\t\tãƒã‚°å‡ºåŠ›è¨å®š [レベル N] [ãƒã‚°ãƒ•ァイルå fname]" -#: ../main.c:2216 msgid "-D\t\t\tDebugging mode" msgstr "-D\t\t\tデãƒãƒƒã‚°ãƒ¢ãƒ¼ãƒ‰" -#: ../main.c:2217 msgid "-n\t\t\tNo swap file, use memory only" msgstr "-n\t\t\tスワップファイルを使用ã›ãšãƒ¡ãƒ¢ãƒªã ã‘" -#: ../main.c:2218 msgid "-r\t\t\tList swap files and exit" msgstr "-r\t\t\tスワップファイルを列挙ã—終了" -#: ../main.c:2219 msgid "-r (with file name)\tRecover crashed session" msgstr "-r (ファイルå)\tクラッシュã—ãŸã‚»ãƒƒã‚·ãƒ§ãƒ³ã‚’復帰" -#: ../main.c:2220 msgid "-L\t\t\tSame as -r" msgstr "-L\t\t\t-rã¨åŒã˜" -#: ../main.c:2221 +msgid "-f\t\t\tDon't use newcli to open window" +msgstr "-f\t\t\tウィンドウを開ãã®ã« newcli を使用ã—ãªã„" + +msgid "-dev <device>\t\tUse <device> for I/O" +msgstr "-dev <device>\t\tI/Oã« <device> を使用ã™ã‚‹" + msgid "-A\t\t\tstart in Arabic mode" msgstr "-A\t\t\tアラビア語モードã§èµ·å‹•ã™ã‚‹" -#: ../main.c:2222 msgid "-H\t\t\tStart in Hebrew mode" msgstr "-H\t\t\tヘブライ語モードã§èµ·å‹•ã™ã‚‹" -#: ../main.c:2223 msgid "-F\t\t\tStart in Farsi mode" msgstr "-F\t\t\tペルシア語モードã§èµ·å‹•ã™ã‚‹" -#: ../main.c:2224 msgid "-T <terminal>\tSet terminal type to <terminal>" msgstr "-T <terminal>\t端末を <terminal> ã«è¨å®šã™ã‚‹" -#: ../main.c:2225 +msgid "--not-a-term\t\tSkip warning for input/output not being a terminal" +msgstr "--not-a-term\t\t入出力ãŒç«¯æœ«ã§ãªã„ã¨ã®è¦å‘Šã‚’スã‚ップã™ã‚‹" + msgid "-u <vimrc>\t\tUse <vimrc> instead of any .vimrc" msgstr "-u <vimrc>\t\t.vimrcã®ä»£ã‚り㫠<vimrc> を使ã†" -#: ../main.c:2226 +msgid "-U <gvimrc>\t\tUse <gvimrc> instead of any .gvimrc" +msgstr "-U <gvimrc>\t\t.gvimrcã®ä»£ã‚り㫠<gvimrc> を使ã†" + msgid "--noplugin\t\tDon't load plugin scripts" msgstr "--noplugin\t\tプラグインスクリプトをãƒãƒ¼ãƒ‰ã—ãªã„" -#: ../main.c:2227 msgid "-p[N]\t\tOpen N tab pages (default: one for each file)" msgstr "-p[N]\t\tN 個タブページを開ã(çœç•¥å€¤: ファイルã«ã¤ã1個)" -#: ../main.c:2228 msgid "-o[N]\t\tOpen N windows (default: one for each file)" msgstr "-o[N]\t\tN 個ウィンドウを開ã(çœç•¥å€¤: ファイルã«ã¤ã1個)" -#: ../main.c:2229 msgid "-O[N]\t\tLike -o but split vertically" msgstr "-O[N]\t\t-oã¨åŒã˜ã ãŒåž‚直分割" -#: ../main.c:2230 msgid "+\t\t\tStart at end of file" msgstr "+\t\t\tãƒ•ã‚¡ã‚¤ãƒ«ã®æœ€å¾Œã‹ã‚‰ã¯ã˜ã‚ã‚‹" -#: ../main.c:2231 msgid "+<lnum>\t\tStart at line <lnum>" msgstr "+<lnum>\t\t<lnum> 行ã‹ã‚‰ã¯ã˜ã‚ã‚‹" -#: ../main.c:2232 msgid "--cmd <command>\tExecute <command> before loading any vimrc file" msgstr "--cmd <command>\tvimrcã‚’ãƒãƒ¼ãƒ‰ã™ã‚‹å‰ã« <command> を実行ã™ã‚‹" -#: ../main.c:2233 msgid "-c <command>\t\tExecute <command> after loading the first file" msgstr "-c <command>\t\t最åˆã®ãƒ•ァイルをãƒãƒ¼ãƒ‰å¾Œ <command> を実行ã™ã‚‹" -#: ../main.c:2235 msgid "-S <session>\t\tSource file <session> after loading the first file" msgstr "-S <session>\t\t最åˆã®ãƒ•ァイルをãƒãƒ¼ãƒ‰å¾Œãƒ•ァイル <session> ã‚’å–込む" -#: ../main.c:2236 msgid "-s <scriptin>\tRead Normal mode commands from file <scriptin>" msgstr "-s <scriptin>\tファイル <scriptin> ã‹ã‚‰ãƒŽãƒ¼ãƒžãƒ«ã‚³ãƒžãƒ³ãƒ‰ã‚’èªè¾¼ã‚€" -#: ../main.c:2237 msgid "-w <scriptout>\tAppend all typed commands to file <scriptout>" msgstr "-w <scriptout>\t入力ã—ãŸå…¨ã‚³ãƒžãƒ³ãƒ‰ã‚’ファイル <scriptout> ã«è¿½åŠ ã™ã‚‹" -#: ../main.c:2238 msgid "-W <scriptout>\tWrite all typed commands to file <scriptout>" msgstr "-W <scriptout>\t入力ã—ãŸå…¨ã‚³ãƒžãƒ³ãƒ‰ã‚’ファイル <scriptout> ã«ä¿å˜ã™ã‚‹" -#: ../main.c:2240 +msgid "-x\t\t\tEdit encrypted files" +msgstr "-x\t\t\tæš—å·åŒ–ã•れãŸãƒ•ァイルを編集ã™ã‚‹" + +msgid "-display <display>\tConnect vim to this particular X-server" +msgstr "-display <display>\tvimを指定ã—㟠X サーãƒãƒ¼ã«æŽ¥ç¶šã™ã‚‹" + +msgid "-X\t\t\tDo not connect to X server" +msgstr "-X\t\t\tXサーãƒãƒ¼ã«æŽ¥ç¶šã—ãªã„" + +msgid "--remote <files>\tEdit <files> in a Vim server if possible" +msgstr "--remote <files>\tå¯èƒ½ãªã‚‰ã°Vimサーãƒãƒ¼ã§ <files> を編集ã™ã‚‹" + +msgid "--remote-silent <files> Same, don't complain if there is no server" +msgstr "--remote-silent <files> åŒä¸Š, サーãƒãƒ¼ãŒç„¡ãã¦ã‚‚è¦å‘Šæ–‡ã‚’出力ã—ãªã„" + +msgid "" +"--remote-wait <files> As --remote but wait for files to have been edited" +msgstr "--remote-wait <files>\t--remote後 ファイルã®ç·¨é›†ãŒçµ‚ã‚ã‚‹ã®ã‚’å¾…ã¤" + +msgid "" +"--remote-wait-silent <files> Same, don't complain if there is no server" +msgstr "" +"--remote-wait-silent <files> åŒä¸Š, サーãƒãƒ¼ãŒç„¡ãã¦ã‚‚è¦å‘Šæ–‡ã‚’出力ã—ãªã„" + +msgid "" +"--remote-tab[-wait][-silent] <files> As --remote but use tab page per file" +msgstr "" +"--remote-tab[-wait][-silent] <files> --remoteã§ãƒ•ァイル1ã¤ã«ã¤ã1ã¤ã®ã‚¿ãƒ–" +"ページを開ã" + +msgid "--remote-send <keys>\tSend <keys> to a Vim server and exit" +msgstr "--remote-send <keys>\tVimサーãƒãƒ¼ã« <keys> ã‚’é€ä¿¡ã—ã¦çµ‚了ã™ã‚‹" + +msgid "--remote-expr <expr>\tEvaluate <expr> in a Vim server and print result" +msgstr "--remote-expr <expr>\tサーãƒãƒ¼ã§ <expr> を実行ã—ã¦çµæžœã‚’表示ã™ã‚‹" + +msgid "--serverlist\t\tList available Vim server names and exit" +msgstr "--serverlist\t\tVimサーãƒãƒ¼åã®ä¸€è¦§ã‚’表示ã—ã¦çµ‚了ã™ã‚‹" + +msgid "--servername <name>\tSend to/become the Vim server <name>" +msgstr "--servername <name>\tVimサーãƒãƒ¼ <name> ã«é€ä¿¡/åå‰è¨å®šã™ã‚‹" + msgid "--startuptime <file>\tWrite startup timing messages to <file>" msgstr "--startuptime <file>\tèµ·å‹•ã«ã‹ã‹ã£ãŸæ™‚é–“ã®è©³ç´°ã‚’ <file> ã¸å‡ºåŠ›ã™ã‚‹" -#: ../main.c:2242 msgid "-i <viminfo>\t\tUse <viminfo> instead of .viminfo" msgstr "-i <viminfo>\t\t.viminfoã®ä»£ã‚り㫠<viminfo> を使ã†" -#: ../main.c:2243 msgid "-h or --help\tPrint Help (this message) and exit" msgstr "-h or --help\tヘルプ(ã“ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸)を表示ã—終了ã™ã‚‹" -#: ../main.c:2244 msgid "--version\t\tPrint version information and exit" msgstr "--version\t\tãƒãƒ¼ã‚¸ãƒ§ãƒ³æƒ…å ±ã‚’è¡¨ç¤ºã—終了ã™ã‚‹" -#: ../mark.c:676 +msgid "" +"\n" +"Arguments recognised by gvim (Motif version):\n" +msgstr "" +"\n" +"gvimã«ã‚ˆã£ã¦è§£é‡ˆã•れる引数(Motifãƒãƒ¼ã‚¸ãƒ§ãƒ³):\n" + +msgid "" +"\n" +"Arguments recognised by gvim (neXtaw version):\n" +msgstr "" +"\n" +"gvimã«ã‚ˆã£ã¦è§£é‡ˆã•れる引数(neXtawãƒãƒ¼ã‚¸ãƒ§ãƒ³):\n" + +msgid "" +"\n" +"Arguments recognised by gvim (Athena version):\n" +msgstr "" +"\n" +"gvimã«ã‚ˆã£ã¦è§£é‡ˆã•れる引数(Athenaãƒãƒ¼ã‚¸ãƒ§ãƒ³):\n" + +msgid "-display <display>\tRun vim on <display>" +msgstr "-display <display>\t<display> ã§vimを実行ã™ã‚‹" + +msgid "-iconic\t\tStart vim iconified" +msgstr "-iconic\t\t最å°åŒ–ã—ãŸçŠ¶æ…‹ã§vimã‚’èµ·å‹•ã™ã‚‹" + +msgid "-background <color>\tUse <color> for the background (also: -bg)" +msgstr "-background <color>\t背景色㫠<color> を使ã†(åŒç¾©: -bg)" + +msgid "-foreground <color>\tUse <color> for normal text (also: -fg)" +msgstr "-foreground <color>\t剿™¯è‰²ã« <color> を使ã†(åŒç¾©: -fg)" + +msgid "-font <font>\t\tUse <font> for normal text (also: -fn)" +msgstr "-font <font>\t\tテã‚スト表示㫠<font> を使ã†(åŒç¾©: -fn)" + +msgid "-boldfont <font>\tUse <font> for bold text" +msgstr "-boldfont <font>\t太å—ã« <font> を使ã†" + +msgid "-italicfont <font>\tUse <font> for italic text" +msgstr "-italicfont <for>\t斜体å—ã« <font> を使ã†" + +msgid "-geometry <geom>\tUse <geom> for initial geometry (also: -geom)" +msgstr "-geometry <geom>\tåˆæœŸé…置㫠<geom> を使ã†(åŒç¾©: -geom)" + +msgid "-borderwidth <width>\tUse a border width of <width> (also: -bw)" +msgstr "-borderwidth <width>\t境界ã®å¹…ã‚’ <width> ã«ã™ã‚‹(åŒç¾©: -bw)" + +msgid "-scrollbarwidth <width> Use a scrollbar width of <width> (also: -sw)" +msgstr "" +"-scrollbarwidth <width> スクãƒãƒ¼ãƒ«ãƒãƒ¼ã®å¹…ã‚’ <width> ã«ã™ã‚‹(åŒç¾©: -sw)" + +msgid "-menuheight <height>\tUse a menu bar height of <height> (also: -mh)" +msgstr "-menuheight <height>\tメニューãƒãƒ¼ã®é«˜ã•ã‚’ <height> ã«ã™ã‚‹(åŒç¾©: -mh)" + +msgid "-reverse\t\tUse reverse video (also: -rv)" +msgstr "-reverse\t\tåè»¢æ˜ åƒã‚’使用ã™ã‚‹(åŒç¾©: -rv)" + +msgid "+reverse\t\tDon't use reverse video (also: +rv)" +msgstr "+reverse\t\tåè»¢æ˜ åƒã‚’使用ã—ãªã„(åŒç¾©: +rv)" + +msgid "-xrm <resource>\tSet the specified resource" +msgstr "-xrm <resource>\t特定ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’使用ã™ã‚‹" + +msgid "" +"\n" +"Arguments recognised by gvim (GTK+ version):\n" +msgstr "" +"\n" +"gvimã«ã‚ˆã£ã¦è§£é‡ˆã•れる引数(GTK+ãƒãƒ¼ã‚¸ãƒ§ãƒ³):\n" + +msgid "-display <display>\tRun vim on <display> (also: --display)" +msgstr "-display <display>\t<display> ã§vimを実行ã™ã‚‹(åŒç¾©: --display)" + +msgid "--role <role>\tSet a unique role to identify the main window" +msgstr "--role <role>\tメインウィンドウをè˜åˆ¥ã™ã‚‹ä¸€æ„ãªå½¹å‰²(role)ã‚’è¨å®šã™ã‚‹" + +msgid "--socketid <xid>\tOpen Vim inside another GTK widget" +msgstr "--socketid <xid>\tç•°ãªã‚‹GTK widgetã§Vimã‚’é–‹ã" + +msgid "--echo-wid\t\tMake gvim echo the Window ID on stdout" +msgstr "--echo-wid\t\tウィンドウIDを標準出力ã«å‡ºåŠ›ã™ã‚‹" + +msgid "-P <parent title>\tOpen Vim inside parent application" +msgstr "-P <親ã®ã‚¿ã‚¤ãƒˆãƒ«>\tVimを親アプリケーションã®ä¸ã§èµ·å‹•ã™ã‚‹" + +msgid "--windowid <HWND>\tOpen Vim inside another win32 widget" +msgstr "--windowid <HWND>\tç•°ãªã‚‹Win32 widgetã®å†…部ã«Vimã‚’é–‹ã" + +msgid "No display" +msgstr "ディスプレイãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" + +#. Failed to send, abort. +msgid ": Send failed.\n" +msgstr ": é€ä¿¡ã«å¤±æ•—ã—ã¾ã—ãŸ.\n" + +#. Let vim start normally. +msgid ": Send failed. Trying to execute locally\n" +msgstr ": é€ä¿¡ã«å¤±æ•—ã—ã¾ã—ãŸ. ãƒãƒ¼ã‚«ãƒ«ã§ã®å®Ÿè¡Œã‚’試ã¿ã¦ã„ã¾ã™\n" + +#, c-format +msgid "%d of %d edited" +msgstr "%d 個 (%d 個ä¸) ã®ãƒ•ァイルを編集ã—ã¾ã—ãŸ" + +msgid "No display: Send expression failed.\n" +msgstr "ディスプレイãŒã‚りã¾ã›ã‚“: å¼ã®é€ä¿¡ã«å¤±æ•—ã—ã¾ã—ãŸ.\n" + +msgid ": Send expression failed.\n" +msgstr ": å¼ã®é€ä¿¡ã«å¤±æ•—ã—ã¾ã—ãŸ.\n" + msgid "No marks set" msgstr "マークãŒè¨å®šã•れã¦ã„ã¾ã›ã‚“" -#: ../mark.c:678 #, c-format msgid "E283: No marks matching \"%s\"" msgstr "E283: \"%s\" ã«è©²å½“ã™ã‚‹ãƒžãƒ¼ã‚¯ãŒã‚りã¾ã›ã‚“" #. Highlight title -#: ../mark.c:687 msgid "" "\n" "mark line col file/text" @@ -3601,7 +3261,6 @@ msgstr "" "mark 行 列 ファイル/テã‚スト" #. Highlight title -#: ../mark.c:789 msgid "" "\n" " jump line col file/text" @@ -3610,7 +3269,6 @@ msgstr "" " jump 行 列 ファイル/テã‚スト" #. Highlight title -#: ../mark.c:831 msgid "" "\n" "change line col text" @@ -3618,7 +3276,6 @@ msgstr "" "\n" "変更 行 列 テã‚スト" -#: ../mark.c:1238 msgid "" "\n" "# File marks:\n" @@ -3627,7 +3284,6 @@ msgstr "" "# ファイルマーク:\n" #. Write the jumplist with -' -#: ../mark.c:1271 msgid "" "\n" "# Jumplist (newest first):\n" @@ -3635,7 +3291,6 @@ msgstr "" "\n" "# ジャンプリスト (æ–°ã—ã„ã‚‚ã®ãŒå…ˆ):\n" -#: ../mark.c:1352 msgid "" "\n" "# History of marks within files (newest to oldest):\n" @@ -3643,84 +3298,88 @@ msgstr "" "\n" "# ファイル内マークã®å±¥æ´ (æ–°ã—ã„ã‚‚ã®ã‹ã‚‰å¤ã„ã‚‚ã®):\n" -#: ../mark.c:1431 msgid "Missing '>'" msgstr "'>' ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" -#: ../memfile.c:426 +msgid "E543: Not a valid codepage" +msgstr "E543: 無効ãªã‚³ãƒ¼ãƒ‰ãƒšãƒ¼ã‚¸ã§ã™" + +msgid "E284: Cannot set IC values" +msgstr "E284: ICã®å€¤ã‚’è¨å®šã§ãã¾ã›ã‚“" + +msgid "E285: Failed to create input context" +msgstr "E285: インプットコンテã‚ストã®ä½œæˆã«å¤±æ•—ã—ã¾ã—ãŸ" + +msgid "E286: Failed to open input method" +msgstr "E286: インプットメソッドã®ã‚ªãƒ¼ãƒ—ンã«å¤±æ•—ã—ã¾ã—ãŸ" + +msgid "E287: Warning: Could not set destroy callback to IM" +msgstr "E287: è¦å‘Š: IMã®ç ´å£Šã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã‚’è¨å®šã§ãã¾ã›ã‚“ã§ã—ãŸ" + +msgid "E288: input method doesn't support any style" +msgstr "E288: インプットメソッドã¯ã©ã‚“ãªã‚¹ã‚¿ã‚¤ãƒ«ã‚‚サãƒãƒ¼ãƒˆã—ã¾ã›ã‚“" + +msgid "E289: input method doesn't support my preedit type" +msgstr "E289: インプットメソッド㯠my preedit type をサãƒãƒ¼ãƒˆã—ã¾ã›ã‚“" + msgid "E293: block was not locked" msgstr "E293: ブãƒãƒƒã‚¯ãŒãƒãƒƒã‚¯ã•れã¦ã„ã¾ã›ã‚“" -#: ../memfile.c:799 msgid "E294: Seek error in swap file read" msgstr "E294: スワップファイルèªè¾¼æ™‚ã«ã‚·ãƒ¼ã‚¯ã‚¨ãƒ©ãƒ¼ã§ã™" -#: ../memfile.c:803 msgid "E295: Read error in swap file" msgstr "E295: スワップファイルã®èªè¾¼ã¿ã‚¨ãƒ©ãƒ¼ã§ã™" -#: ../memfile.c:849 msgid "E296: Seek error in swap file write" msgstr "E296: ã‚¹ãƒ¯ãƒƒãƒ—ãƒ•ã‚¡ã‚¤ãƒ«æ›¸è¾¼ã¿æ™‚ã«ã‚·ãƒ¼ã‚¯ã‚¨ãƒ©ãƒ¼ã§ã™" -#: ../memfile.c:865 msgid "E297: Write error in swap file" msgstr "E297: ã‚¹ãƒ¯ãƒƒãƒ—ãƒ•ã‚¡ã‚¤ãƒ«ã®æ›¸è¾¼ã¿ã‚¨ãƒ©ãƒ¼ã§ã™" -#: ../memfile.c:1036 msgid "E300: Swap file already exists (symlink attack?)" msgstr "E300: ã‚¹ãƒ¯ãƒƒãƒ—ãƒ•ã‚¡ã‚¤ãƒ«ãŒæ—¢ã«å˜åœ¨ã—ã¾ã™ (symlinkã«ã‚ˆã‚‹æ”»æ’ƒ?)" -#: ../memline.c:318 msgid "E298: Didn't get block nr 0?" msgstr "E298: ブãƒãƒƒã‚¯ 0 ã‚’å–å¾—ã§ãã¾ã›ã‚“?" -#: ../memline.c:361 msgid "E298: Didn't get block nr 1?" msgstr "E298: ブãƒãƒƒã‚¯ 1 ã‚’å–å¾—ã§ãã¾ã›ã‚“?" -#: ../memline.c:377 msgid "E298: Didn't get block nr 2?" msgstr "E298: ブãƒãƒƒã‚¯ 2 ã‚’å–å¾—ã§ãã¾ã›ã‚“?" +msgid "E843: Error while updating swap file crypt" +msgstr "E843: ã‚¹ãƒ¯ãƒƒãƒ—ãƒ•ã‚¡ã‚¤ãƒ«ã®æš—å·ã‚’æ›´æ–°ä¸ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ" + #. could not (re)open the swap file, what can we do???? -#: ../memline.c:465 msgid "E301: Oops, lost the swap file!!!" msgstr "E301: ãŠã£ã¨, スワップファイルãŒå¤±ã‚れã¾ã—ãŸ!!!" -#: ../memline.c:477 msgid "E302: Could not rename swap file" msgstr "E302: スワップファイルã®åå‰ã‚’変ãˆã‚‰ã‚Œã¾ã›ã‚“" -#: ../memline.c:554 #, c-format msgid "E303: Unable to open swap file for \"%s\", recovery impossible" msgstr "E303: \"%s\" ã®ã‚¹ãƒ¯ãƒƒãƒ—ファイルを開ã‘ãªã„ã®ã§ãƒªã‚«ãƒãƒªã¯ä¸å¯èƒ½ã§ã™" -#: ../memline.c:666 msgid "E304: ml_upd_block0(): Didn't get block 0??" msgstr "E304: ml_upd_block0(): ブãƒãƒƒã‚¯ 0 ã‚’å–å¾—ã§ãã¾ã›ã‚“ã§ã—ãŸ??" -#. no swap files found -#: ../memline.c:830 #, c-format msgid "E305: No swap file found for %s" msgstr "E305: %s ã«ã¯ã‚¹ãƒ¯ãƒƒãƒ—ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" -#: ../memline.c:839 msgid "Enter number of swap file to use (0 to quit): " msgstr "使用ã™ã‚‹ã‚¹ãƒ¯ãƒƒãƒ—ファイルã®ç•ªå·ã‚’入力ã—ã¦ãã ã•ã„(0 ã§çµ‚了): " -#: ../memline.c:879 #, c-format msgid "E306: Cannot open %s" msgstr "E306: %s ã‚’é–‹ã‘ã¾ã›ã‚“" -#: ../memline.c:897 msgid "Unable to read block 0 from " msgstr "ブãƒãƒƒã‚¯ 0 ã‚’èªè¾¼ã‚ã¾ã›ã‚“ " -#: ../memline.c:900 msgid "" "\n" "Maybe no changes were made or Vim did not update the swap file." @@ -3728,28 +3387,22 @@ msgstr "" "\n" "æã‚‰ã変更ãŒã•れã¦ã„ãªã„ã‹VimãŒã‚¹ãƒ¯ãƒƒãƒ—ファイルを更新ã—ã¦ã„ã¾ã›ã‚“." -#: ../memline.c:909 msgid " cannot be used with this version of Vim.\n" msgstr " Vimã®ã“ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“.\n" -#: ../memline.c:911 msgid "Use Vim version 3.0.\n" msgstr "Vimã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³3.0を使用ã—ã¦ãã ã•ã„.\n" -#: ../memline.c:916 #, c-format msgid "E307: %s does not look like a Vim swap file" msgstr "E307: %s ã¯Vimã®ã‚¹ãƒ¯ãƒƒãƒ—ファイルã§ã¯ãªã„よã†ã§ã™" -#: ../memline.c:922 msgid " cannot be used on this computer.\n" msgstr " ã“ã®ã‚³ãƒ³ãƒ”ュータã§ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“.\n" -#: ../memline.c:924 msgid "The file was created on " msgstr "ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯æ¬¡ã®å ´æ‰€ã§ä½œã‚‰ã‚Œã¾ã—㟠" -#: ../memline.c:928 msgid "" ",\n" "or the file has been damaged." @@ -3757,85 +3410,104 @@ msgstr "" ",\n" "ã‚‚ã—ãã¯ãƒ•ã‚¡ã‚¤ãƒ«ãŒæå‚·ã—ã¦ã„ã¾ã™." -#: ../memline.c:945 +#, c-format +msgid "" +"E833: %s is encrypted and this version of Vim does not support encryption" +msgstr "" +"E833: %s ã¯ã“ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®Vimã§ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ãªã„å½¢å¼ã§æš—å·åŒ–ã•れã¦ã„ã¾ã™" + msgid " has been damaged (page size is smaller than minimum value).\n" msgstr " ã¯æå‚·ã—ã¦ã„ã¾ã™ (ãƒšãƒ¼ã‚¸ã‚µã‚¤ã‚ºãŒæœ€å°å€¤ã‚’下回ã£ã¦ã„ã¾ã™).\n" -#: ../memline.c:974 #, c-format msgid "Using swap file \"%s\"" msgstr "スワップファイル \"%s\" を使用ä¸" -#: ../memline.c:980 #, c-format msgid "Original file \"%s\"" msgstr "原本ファイル \"%s\"" -#: ../memline.c:995 msgid "E308: Warning: Original file may have been changed" msgstr "E308: è¦å‘Š: 原本ファイルãŒå¤‰æ›´ã•れã¦ã„ã¾ã™" -#: ../memline.c:1061 +#, c-format +msgid "Swap file is encrypted: \"%s\"" +msgstr "ã‚¹ãƒ¯ãƒƒãƒ—ãƒ•ã‚¡ã‚¤ãƒ«ã¯æš—å·åŒ–ã•れã¦ã„ã¾ã™: \"%s\"" + +msgid "" +"\n" +"If you entered a new crypt key but did not write the text file," +msgstr "" +"\n" +"æ–°ã—ã„æš—å·ã‚ーを入力ã—ãŸã‚ã¨ã«ãƒ†ã‚ストファイルをä¿å˜ã—ã¦ã„ãªã„å ´åˆã¯," + +msgid "" +"\n" +"enter the new crypt key." +msgstr "" +"\n" +"æ–°ã—ã„æš—å·ã‚ーを入力ã—ã¦ãã ã•ã„." + +msgid "" +"\n" +"If you wrote the text file after changing the crypt key press enter" +msgstr "" +"\n" +"æš—å·ã‚ーを変ãˆãŸã‚ã¨ã«ãƒ†ã‚ストファイルをä¿å˜ã—ãŸå ´åˆã¯, テã‚ストファイルã¨" + +msgid "" +"\n" +"to use the same key for text file and swap file" +msgstr "" +"\n" +"スワップファイルã«åŒã˜æš—å·ã‚ーを使ã†ãŸã‚ã«enterã ã‘を押ã—ã¦ãã ã•ã„." + #, c-format msgid "E309: Unable to read block 1 from %s" msgstr "E309: %s ã‹ã‚‰ãƒ–ãƒãƒƒã‚¯ 1 ã‚’èªè¾¼ã‚ã¾ã›ã‚“" -#: ../memline.c:1065 msgid "???MANY LINES MISSING" msgstr "???多ãã®è¡ŒãŒå¤±ã‚れã¦ã„ã¾ã™" -#: ../memline.c:1076 msgid "???LINE COUNT WRONG" msgstr "???行数ãŒé–“é•ã£ã¦ã„ã¾ã™" -#: ../memline.c:1082 msgid "???EMPTY BLOCK" msgstr "???ブãƒãƒƒã‚¯ãŒç©ºã§ã™" -#: ../memline.c:1103 msgid "???LINES MISSING" msgstr "???行ãŒå¤±ã‚れã¦ã„ã¾ã™" -#: ../memline.c:1128 #, c-format msgid "E310: Block 1 ID wrong (%s not a .swp file?)" msgstr "E310: ブãƒãƒƒã‚¯ 1 ã®IDãŒé–“é•ã£ã¦ã„ã¾ã™(%s ãŒ.swpファイルã§ãªã„?)" -#: ../memline.c:1133 msgid "???BLOCK MISSING" msgstr "???ブãƒãƒƒã‚¯ãŒã‚りã¾ã›ã‚“" -#: ../memline.c:1147 msgid "??? from here until ???END lines may be messed up" msgstr "??? ã“ã“ã‹ã‚‰ ???END ã¾ã§ã®è¡ŒãŒç ´å£Šã•れã¦ã„るよã†ã§ã™" -#: ../memline.c:1164 msgid "??? from here until ???END lines may have been inserted/deleted" msgstr "??? ã“ã“ã‹ã‚‰ ???END ã¾ã§ã®è¡ŒãŒæŒ¿å…¥ã‹å‰Šé™¤ã•れãŸã‚ˆã†ã§ã™" -#: ../memline.c:1181 msgid "???END" msgstr "???END" -#: ../memline.c:1238 msgid "E311: Recovery Interrupted" msgstr "E311: リカãƒãƒªãŒå‰²è¾¼ã¾ã‚Œã¾ã—ãŸ" -#: ../memline.c:1243 msgid "" "E312: Errors detected while recovering; look for lines starting with ???" msgstr "" "E312: リカãƒãƒªã®æœ€ä¸ã«ã‚¨ãƒ©ãƒ¼ãŒæ¤œå‡ºã•れã¾ã—ãŸ; ???ã§å§‹ã¾ã‚‹è¡Œã‚’å‚ç…§ã—ã¦ãã ã•ã„" -#: ../memline.c:1245 msgid "See \":help E312\" for more information." msgstr "詳細㯠\":help E312\" ã‚’å‚ç…§ã—ã¦ãã ã•ã„" -#: ../memline.c:1249 msgid "Recovery completed. You should check if everything is OK." msgstr "リカãƒãƒªãŒçµ‚了ã—ã¾ã—ãŸ. å…¨ã¦ãŒæ£ã—ã„ã‹ãƒã‚§ãƒƒã‚¯ã—ã¦ãã ã•ã„." -#: ../memline.c:1251 msgid "" "\n" "(You might want to write out this file under another name\n" @@ -3843,15 +3515,12 @@ msgstr "" "\n" "(変更をãƒã‚§ãƒƒã‚¯ã™ã‚‹ãŸã‚ã«, ã“ã®ãƒ•ァイルを別ã®åå‰ã§ä¿å˜ã—ãŸä¸Šã§\n" -#: ../memline.c:1252 msgid "and run diff with the original file to check for changes)" msgstr "原本ファイルã¨ã® diff を実行ã™ã‚‹ã¨è‰¯ã„ã§ã—ょã†)" -#: ../memline.c:1254 msgid "Recovery completed. Buffer contents equals file contents." msgstr "復元完了. ãƒãƒƒãƒ•ã‚¡ã®å†…容ã¯ãƒ•ァイルã¨åŒã˜ã«ãªã‚Šã¾ã—ãŸ." -#: ../memline.c:1255 msgid "" "\n" "You may want to delete the .swp file now.\n" @@ -3861,52 +3530,43 @@ msgstr "" "å…ƒã®.swpファイルã¯å‰Šé™¤ã—ã¦ã‚‚æ§‹ã„ã¾ã›ã‚“\n" "\n" +msgid "Using crypt key from swap file for the text file.\n" +msgstr "スワップファイルã‹ã‚‰å–å¾—ã—ãŸæš—å·ã‚ーをテã‚ストファイルã«ä½¿ã„ã¾ã™.\n" + #. use msg() to start the scrolling properly -#: ../memline.c:1327 msgid "Swap files found:" msgstr "スワップファイルãŒè¤‡æ•°è¦‹ã¤ã‹ã‚Šã¾ã—ãŸ:" -#: ../memline.c:1446 msgid " In current directory:\n" msgstr " ç¾åœ¨ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª:\n" -#: ../memline.c:1448 msgid " Using specified name:\n" msgstr " 以下ã®åå‰ã‚’使用ä¸:\n" -#: ../memline.c:1450 msgid " In directory " msgstr " ディレクトリ " -#: ../memline.c:1465 msgid " -- none --\n" msgstr " -- ãªã— --\n" -#: ../memline.c:1527 msgid " owned by: " msgstr " 所有者: " -#: ../memline.c:1529 msgid " dated: " msgstr " 日付: " -#: ../memline.c:1532 ../memline.c:3231 msgid " dated: " msgstr " 日付: " -#: ../memline.c:1548 msgid " [from Vim version 3.0]" msgstr " [from Vim version 3.0]" -#: ../memline.c:1550 msgid " [does not look like a Vim swap file]" msgstr " [Vimã®ã‚¹ãƒ¯ãƒƒãƒ—ファイルã§ã¯ãªã„よã†ã§ã™]" -#: ../memline.c:1552 msgid " file name: " msgstr " ファイルå: " -#: ../memline.c:1558 msgid "" "\n" " modified: " @@ -3914,15 +3574,12 @@ msgstr "" "\n" " 変更状態: " -#: ../memline.c:1559 msgid "YES" msgstr "ã‚り" -#: ../memline.c:1559 msgid "no" msgstr "ãªã—" -#: ../memline.c:1562 msgid "" "\n" " user name: " @@ -3930,11 +3587,9 @@ msgstr "" "\n" " ユーザーå: " -#: ../memline.c:1568 msgid " host name: " msgstr " ホストå: " -#: ../memline.c:1570 msgid "" "\n" " host name: " @@ -3942,7 +3597,6 @@ msgstr "" "\n" " ホストå: " -#: ../memline.c:1575 msgid "" "\n" " process ID: " @@ -3950,11 +3604,16 @@ msgstr "" "\n" " プãƒã‚»ã‚¹ID: " -#: ../memline.c:1579 msgid " (still running)" msgstr " (ã¾ã 実行ä¸)" -#: ../memline.c:1586 +msgid "" +"\n" +" [not usable with this version of Vim]" +msgstr "" +"\n" +" [ã“ã®Vimãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“]" + msgid "" "\n" " [not usable on this computer]" @@ -3962,97 +3621,75 @@ msgstr "" "\n" " [ã“ã®ã‚³ãƒ³ãƒ”ュータã§ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“]" -#: ../memline.c:1590 msgid " [cannot be read]" msgstr " [èªè¾¼ã‚ã¾ã›ã‚“]" -#: ../memline.c:1593 msgid " [cannot be opened]" msgstr " [é–‹ã‘ã¾ã›ã‚“]" -#: ../memline.c:1698 msgid "E313: Cannot preserve, there is no swap file" msgstr "E313: スワップファイルãŒç„¡ã„ã®ã§ç¶æŒã§ãã¾ã›ã‚“" -#: ../memline.c:1747 msgid "File preserved" msgstr "ファイルãŒç¶æŒã•れã¾ã™" -#: ../memline.c:1749 msgid "E314: Preserve failed" msgstr "E314: ç¶æŒã«å¤±æ•—ã—ã¾ã—ãŸ" -#: ../memline.c:1819 #, c-format -msgid "E315: ml_get: invalid lnum: %<PRId64>" -msgstr "E315: ml_get: 無効ãªlnumã§ã™: %<PRId64>" +msgid "E315: ml_get: invalid lnum: %ld" +msgstr "E315: ml_get: 無効ãªlnumã§ã™: %ld" -#: ../memline.c:1851 #, c-format -msgid "E316: ml_get: cannot find line %<PRId64>" -msgstr "E316: ml_get: 行 %<PRId64> を見ã¤ã‘られã¾ã›ã‚“" +msgid "E316: ml_get: cannot find line %ld" +msgstr "E316: ml_get: 行 %ld を見ã¤ã‘られã¾ã›ã‚“" -#: ../memline.c:2236 msgid "E317: pointer block id wrong 3" msgstr "E317: ãƒã‚¤ãƒ³ã‚¿ãƒ–ãƒãƒƒã‚¯ã®IDãŒé–“é•ã£ã¦ã„ã¾ã™ 3" -#: ../memline.c:2311 msgid "stack_idx should be 0" msgstr "stack_idx 㯠0 ã§ã‚ã‚‹ã¹ãã§ã™" -#: ../memline.c:2369 msgid "E318: Updated too many blocks?" msgstr "E318: æ›´æ–°ã•れãŸãƒ–ãƒãƒƒã‚¯ãŒå¤šéŽãŽã‚‹ã‹ã‚‚?" -#: ../memline.c:2511 msgid "E317: pointer block id wrong 4" msgstr "E317: ãƒã‚¤ãƒ³ã‚¿ãƒ–ãƒãƒƒã‚¯ã®IDãŒé–“é•ã£ã¦ã„ã¾ã™ 4" -#: ../memline.c:2536 msgid "deleted block 1?" msgstr "ブãƒãƒƒã‚¯ 1 ã¯æ¶ˆã•れãŸ?" -#: ../memline.c:2707 #, c-format -msgid "E320: Cannot find line %<PRId64>" -msgstr "E320: 行 %<PRId64> ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" +msgid "E320: Cannot find line %ld" +msgstr "E320: 行 %ld ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" -#: ../memline.c:2916 msgid "E317: pointer block id wrong" msgstr "E317: ãƒã‚¤ãƒ³ã‚¿ãƒ–ãƒãƒƒã‚¯ã®IDãŒé–“é•ã£ã¦ã„ã¾ã™" -#: ../memline.c:2930 msgid "pe_line_count is zero" msgstr "pe_line_count ãŒã‚¼ãƒã§ã™" -#: ../memline.c:2955 #, c-format -msgid "E322: line number out of range: %<PRId64> past the end" -msgstr "E322: 行番å·ãŒç¯„囲外ã§ã™: %<PRId64> è¶…ãˆã¦ã„ã¾ã™" +msgid "E322: line number out of range: %ld past the end" +msgstr "E322: 行番å·ãŒç¯„囲外ã§ã™: %ld è¶…ãˆã¦ã„ã¾ã™" -#: ../memline.c:2959 #, c-format -msgid "E323: line count wrong in block %<PRId64>" -msgstr "E323: ブãƒãƒƒã‚¯ %<PRId64> ã®è¡Œã‚«ã‚¦ãƒ³ãƒˆãŒé–“é•ã£ã¦ã„ã¾ã™" +msgid "E323: line count wrong in block %ld" +msgstr "E323: ブãƒãƒƒã‚¯ %ld ã®è¡Œã‚«ã‚¦ãƒ³ãƒˆãŒé–“é•ã£ã¦ã„ã¾ã™" -#: ../memline.c:2999 msgid "Stack size increases" msgstr "スタックサイズãŒå¢—ãˆã¾ã™" -#: ../memline.c:3038 msgid "E317: pointer block id wrong 2" msgstr "E317: ãƒã‚¤ãƒ³ã‚¿ãƒ–ãƒãƒƒã‚¯ã®IDãŒé–“é•ã£ã¦ã„ã¾ã™ 2" -#: ../memline.c:3070 #, c-format msgid "E773: Symlink loop for \"%s\"" msgstr "E773: \"%s\" ã®ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ãŒãƒ«ãƒ¼ãƒ—ã«ãªã£ã¦ã„ã¾ã™" -#: ../memline.c:3221 msgid "E325: ATTENTION" msgstr "E325: 注æ„" -#: ../memline.c:3222 msgid "" "\n" "Found a swap file by the name \"" @@ -4060,39 +3697,32 @@ msgstr "" "\n" "次ã®åå‰ã§ã‚¹ãƒ¯ãƒƒãƒ—ファイルを見ã¤ã‘ã¾ã—㟠\"" -#: ../memline.c:3226 msgid "While opening file \"" msgstr "次ã®ãƒ•ァイルを開ã„ã¦ã„ã‚‹æœ€ä¸ \"" -#: ../memline.c:3239 msgid " NEWER than swap file!\n" msgstr " スワップファイルよりも新ã—ã„ã§ã™!\n" -#: ../memline.c:3244 +#. Some of these messages are long to allow translation to +#. * other languages. msgid "" "\n" "(1) Another program may be editing the same file. If this is the case,\n" " be careful not to end up with two different instances of the same\n" -" file when making changes." +" file when making changes. Quit, or continue with caution.\n" msgstr "" "\n" "(1) 別ã®ãƒ—ãƒã‚°ãƒ©ãƒ ãŒåŒã˜ãƒ•ァイルを編集ã—ã¦ã„ã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“.\n" " ã“ã®å ´åˆã«ã¯, 変更をã—ã¦ã—ã¾ã†ã¨1ã¤ã®ãƒ•ァイルã«å¯¾ã—ã¦ç•°ãªã‚‹2ã¤ã®\n" -" インスタンスãŒã§ãã¦ã—ã¾ã†ã®ã§, ãã†ã—ãªã„よã†ã«æ°—ã‚’ã¤ã‘ã¦ãã ã•ã„." - -#: ../memline.c:3245 -msgid " Quit, or continue with caution.\n" -msgstr " 終了ã™ã‚‹ã‹, 注æ„ã—ãªãŒã‚‰ç¶šã‘ã¦ãã ã•ã„.\n" +" インスタンスãŒã§ãã¦ã—ã¾ã†ã®ã§, ãã†ã—ãªã„よã†ã«æ°—ã‚’ã¤ã‘ã¦ãã ã•ã„.\n" +" 終了ã™ã‚‹ã‹, 注æ„ã—ãªãŒã‚‰ç¶šã‘ã¦ãã ã•ã„.\n" -#: ../memline.c:3246 msgid "(2) An edit session for this file crashed.\n" msgstr "(2) ã“ã®ãƒ•ァイルã®ç·¨é›†ã‚»ãƒƒã‚·ãƒ§ãƒ³ãŒã‚¯ãƒ©ãƒƒã‚·ãƒ¥ã—ãŸ.\n" -#: ../memline.c:3247 msgid " If this is the case, use \":recover\" or \"vim -r " msgstr " ã“ã®å ´åˆã«ã¯ \":recover\" ã‹ \"vim -r " -#: ../memline.c:3249 msgid "" "\"\n" " to recover the changes (see \":help recovery\").\n" @@ -4100,11 +3730,9 @@ msgstr "" "\"\n" " を使用ã—ã¦å¤‰æ›´ã‚’リカãƒãƒ¼ã—ã¾ã™(\":help recovery\" ã‚’å‚ç…§).\n" -#: ../memline.c:3250 msgid " If you did this already, delete the swap file \"" msgstr " æ—¢ã«ã“れを行ãªã£ãŸã®ãªã‚‰ã°, スワップファイル \"" -#: ../memline.c:3252 msgid "" "\"\n" " to avoid this message.\n" @@ -4112,23 +3740,18 @@ msgstr "" "\"\n" " を消ã›ã°ã“ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’回é¿ã§ãã¾ã™.\n" -#: ../memline.c:3450 ../memline.c:3452 msgid "Swap file \"" msgstr "スワップファイル \"" -#: ../memline.c:3451 ../memline.c:3455 msgid "\" already exists!" msgstr "\" ãŒæ—¢ã«ã‚りã¾ã™!" -#: ../memline.c:3457 msgid "VIM - ATTENTION" msgstr "VIM - 注æ„" -#: ../memline.c:3459 msgid "Swap file already exists!" msgstr "ã‚¹ãƒ¯ãƒƒãƒ—ãƒ•ã‚¡ã‚¤ãƒ«ãŒæ—¢ã«å˜åœ¨ã—ã¾ã™!" -#: ../memline.c:3464 msgid "" "&Open Read-Only\n" "&Edit anyway\n" @@ -4142,7 +3765,6 @@ msgstr "" "終了ã™ã‚‹(&Q)\n" "䏿¢ã™ã‚‹(&A)" -#: ../memline.c:3467 msgid "" "&Open Read-Only\n" "&Edit anyway\n" @@ -4158,56 +3780,34 @@ msgstr "" "終了ã™ã‚‹(&Q)\n" "䏿¢ã™ã‚‹(&A)" -#. -#. * Change the ".swp" extension to find another file that can be used. -#. * First decrement the last char: ".swo", ".swn", etc. -#. * If that still isn't enough decrement the last but one char: ".svz" -#. * Can happen when editing many "No Name" buffers. -#. -#. ".s?a" -#. ".saa": tried enough, give up -#: ../memline.c:3528 msgid "E326: Too many swap files found" msgstr "E326: スワップファイルãŒå¤šæ•°è¦‹ã¤ã‹ã‚Šã¾ã—ãŸ" -#: ../memory.c:227 -#, c-format -msgid "E342: Out of memory! (allocating %<PRIu64> bytes)" -msgstr "E342: メモリãŒè¶³ã‚Šã¾ã›ã‚“! (%<PRIu64> ãƒã‚¤ãƒˆã‚’å‰²å½“è¦æ±‚)" - -#: ../menu.c:62 msgid "E327: Part of menu-item path is not sub-menu" msgstr "E327: メニューアイテムã®ãƒ‘スã®éƒ¨åˆ†ãŒã‚µãƒ–メニューã§ã¯ã‚りã¾ã›ã‚“" -#: ../menu.c:63 msgid "E328: Menu only exists in another mode" msgstr "E328: メニューã¯ä»–ã®ãƒ¢ãƒ¼ãƒ‰ã«ã ã‘ã‚りã¾ã™" -#: ../menu.c:64 #, c-format msgid "E329: No menu \"%s\"" msgstr "E329: \"%s\" ã¨ã„ã†ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã¯ã‚りã¾ã›ã‚“" #. Only a mnemonic or accelerator is not valid. -#: ../menu.c:329 msgid "E792: Empty menu name" msgstr "E792: メニューåãŒç©ºã§ã™" -#: ../menu.c:340 msgid "E330: Menu path must not lead to a sub-menu" msgstr "E330: メニューパスã¯ã‚µãƒ–メニューを生ã˜ã‚‹ã¹ãã§ã¯ã‚りã¾ã›ã‚“" -#: ../menu.c:365 msgid "E331: Must not add menu items directly to menu bar" msgstr "E331: メニューãƒãƒ¼ã«ã¯ç›´æŽ¥ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‚¢ã‚¤ãƒ†ãƒ ã‚’è¿½åŠ ã§ãã¾ã›ã‚“" -#: ../menu.c:370 msgid "E332: Separator cannot be part of a menu path" msgstr "E332: 区切りã¯ãƒ¡ãƒ‹ãƒ¥ãƒ¼ãƒ‘スã®ä¸€éƒ¨ã§ã¯ã‚りã¾ã›ã‚“" #. Now we have found the matching menu, and we list the mappings #. Highlight title -#: ../menu.c:762 msgid "" "\n" "--- Menus ---" @@ -4215,69 +3815,60 @@ msgstr "" "\n" "--- メニュー ---" -#: ../menu.c:1313 +msgid "Tear off this menu" +msgstr "ã“ã®ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‚’切りå–ã‚‹" + msgid "E333: Menu path must lead to a menu item" msgstr "E333: メニューパスã¯ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‚¢ã‚¤ãƒ†ãƒ を生ã˜ãªã‘れã°ã„ã‘ã¾ã›ã‚“" -#: ../menu.c:1330 #, c-format msgid "E334: Menu not found: %s" msgstr "E334: メニューãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“: %s" -#: ../menu.c:1396 #, c-format msgid "E335: Menu not defined for %s mode" msgstr "E335: %s ã«ã¯ãƒ¡ãƒ‹ãƒ¥ãƒ¼ãŒå®šç¾©ã•れã¦ã„ã¾ã›ã‚“" -#: ../menu.c:1426 msgid "E336: Menu path must lead to a sub-menu" msgstr "E336: メニューパスã¯ã‚µãƒ–メニューを生ã˜ãªã‘れã°ã„ã‘ã¾ã›ã‚“" -#: ../menu.c:1447 msgid "E337: Menu not found - check menu names" msgstr "E337: メニューãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ - メニューåを確èªã—ã¦ãã ã•ã„" -#: ../message.c:423 #, c-format msgid "Error detected while processing %s:" msgstr "%s ã®å‡¦ç†ä¸ã«ã‚¨ãƒ©ãƒ¼ãŒæ¤œå‡ºã•れã¾ã—ãŸ:" -#: ../message.c:445 #, c-format msgid "line %4ld:" msgstr "行 %4ld:" -#: ../message.c:617 #, c-format msgid "E354: Invalid register name: '%s'" msgstr "E354: 無効ãªãƒ¬ã‚¸ã‚¹ã‚¿å: '%s'" -#: ../message.c:986 +msgid "Messages maintainer: Bram Moolenaar <Bram@vim.org>" +msgstr "日本語メッセージ翻訳/監修: æ‘岡 太郎 <koron.kaoriya@gmail.com>" + msgid "Interrupt: " msgstr "割込ã¿: " -#: ../message.c:988 msgid "Press ENTER or type command to continue" msgstr "ç¶šã‘ã‚‹ã«ã¯ENTERを押ã™ã‹ã‚³ãƒžãƒ³ãƒ‰ã‚’入力ã—ã¦ãã ã•ã„" -#: ../message.c:1843 #, c-format -msgid "%s line %<PRId64>" -msgstr "%s 行 %<PRId64>" +msgid "%s line %ld" +msgstr "%s 行 %ld" -#: ../message.c:2392 msgid "-- More --" msgstr "-- 継続 --" -#: ../message.c:2398 msgid " SPACE/d/j: screen/page/line down, b/u/k: up, q: quit " msgstr " SPACE/d/j: ç”»é¢/ページ/行 下, b/u/k: 上, q: 終了 " -#: ../message.c:3021 ../message.c:3031 msgid "Question" msgstr "質å•" -#: ../message.c:3023 msgid "" "&Yes\n" "&No" @@ -4285,17 +3876,6 @@ msgstr "" "ã¯ã„(&Y)\n" "ã„ã„ãˆ(&N)" -#: ../message.c:3033 -msgid "" -"&Yes\n" -"&No\n" -"&Cancel" -msgstr "" -"ã¯ã„(&Y)\n" -"ã„ã„ãˆ(&N)\n" -"ã‚ャンセル(&C)" - -#: ../message.c:3045 msgid "" "&Yes\n" "&No\n" @@ -4309,175 +3889,247 @@ msgstr "" "å…¨ã¦æ”¾æ£„(&D)\n" "ã‚ャンセル(&C)" -#: ../message.c:3058 +msgid "Select Directory dialog" +msgstr "ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªé¸æŠžãƒ€ã‚¤ã‚¢ãƒã‚°" + +msgid "Save File dialog" +msgstr "ファイルä¿å˜ãƒ€ã‚¤ã‚¢ãƒã‚°" + +msgid "Open File dialog" +msgstr "ファイルèªè¾¼ãƒ€ã‚¤ã‚¢ãƒã‚°" + +#. TODO: non-GUI file selector here +msgid "E338: Sorry, no file browser in console mode" +msgstr "E338: コンソールモードã§ã¯ãƒ•ァイルブラウザを使ãˆã¾ã›ã‚“, ã”ã‚ã‚“ãªã•ã„" + msgid "E766: Insufficient arguments for printf()" msgstr "E766: printf() ã®å¼•æ•°ãŒä¸å分ã§ã™" -#: ../message.c:3119 msgid "E807: Expected Float argument for printf()" msgstr "E807: printf() ã®å¼•æ•°ã«ã¯æµ®å‹•å°‘æ•°ç‚¹æ•°ãŒæœŸå¾…ã•れã¦ã„ã¾ã™" -#: ../message.c:3873 msgid "E767: Too many arguments to printf()" msgstr "E767: printf() ã®å¼•æ•°ãŒå¤šéŽãŽã¾ã™" -#: ../misc1.c:2256 msgid "W10: Warning: Changing a readonly file" msgstr "W10: è¦å‘Š: èªè¾¼å°‚用ファイルを変更ã—ã¾ã™" -#: ../misc1.c:2537 msgid "Type number and <Enter> or click with mouse (empty cancels): " msgstr "" "番å·ã¨<Enter>を入力ã™ã‚‹ã‹ãƒžã‚¦ã‚¹ã§ã‚¯ãƒªãƒƒã‚¯ã—ã¦ãã ã•ã„ (空ã§ã‚ャンセル): " -#: ../misc1.c:2539 msgid "Type number and <Enter> (empty cancels): " msgstr "番å·ã¨<Enter>を入力ã—ã¦ãã ã•ã„ (空ã§ã‚ャンセル): " -#: ../misc1.c:2585 msgid "1 more line" msgstr "1 行 è¿½åŠ ã—ã¾ã—ãŸ" -#: ../misc1.c:2588 msgid "1 line less" msgstr "1 行 削除ã—ã¾ã—ãŸ" -#: ../misc1.c:2593 #, c-format -msgid "%<PRId64> more lines" -msgstr "%<PRId64> 行 è¿½åŠ ã—ã¾ã—ãŸ" +msgid "%ld more lines" +msgstr "%ld 行 è¿½åŠ ã—ã¾ã—ãŸ" -#: ../misc1.c:2596 #, c-format -msgid "%<PRId64> fewer lines" -msgstr "%<PRId64> 行 削除ã—ã¾ã—ãŸ" +msgid "%ld fewer lines" +msgstr "%ld 行 削除ã—ã¾ã—ãŸ" -#: ../misc1.c:2599 msgid " (Interrupted)" msgstr " (割込ã¾ã‚Œã¾ã—ãŸ)" -#: ../misc1.c:2635 msgid "Beep!" msgstr "ビーッ!" -#: ../misc2.c:738 +msgid "ERROR: " +msgstr "エラー: " + +#, c-format +msgid "" +"\n" +"[bytes] total alloc-freed %lu-%lu, in use %lu, peak use %lu\n" +msgstr "" +"\n" +"[メモリ(ãƒã‚¤ãƒˆ)] ç·å‰²å½“-è§£æ”¾é‡ %lu-%lu, ä½¿ç”¨é‡ %lu, ピーク時 %lu\n" + +#, c-format +msgid "" +"[calls] total re/malloc()'s %lu, total free()'s %lu\n" +"\n" +msgstr "" +"[呼出] ç· re/malloc() 回数 %lu, ç· free() 回数 %lu\n" +"\n" + +msgid "E340: Line is becoming too long" +msgstr "E340: 行ãŒé•·ããªã‚ŠéŽãŽã¾ã—ãŸ" + +#, c-format +msgid "E341: Internal error: lalloc(%ld, )" +msgstr "E341: 内部エラー: lalloc(%ld,)" + +#, c-format +msgid "E342: Out of memory! (allocating %lu bytes)" +msgstr "E342: メモリãŒè¶³ã‚Šã¾ã›ã‚“! (%lu ãƒã‚¤ãƒˆã‚’å‰²å½“è¦æ±‚)" + #, c-format msgid "Calling shell to execute: \"%s\"" msgstr "実行ã®ãŸã‚ã«ã‚·ã‚§ãƒ«ã‚’呼出ã—ä¸: \"%s\"" -#: ../normal.c:183 +msgid "E545: Missing colon" +msgstr "E545: コãƒãƒ³ãŒã‚りã¾ã›ã‚“" + +msgid "E546: Illegal mode" +msgstr "E546: 䏿£ãªãƒ¢ãƒ¼ãƒ‰ã§ã™" + +msgid "E547: Illegal mouseshape" +msgstr "E547: 䏿£ãª 'mouseshape' ã§ã™" + +msgid "E548: digit expected" +msgstr "E548: 数値ãŒå¿…è¦ã§ã™" + +msgid "E549: Illegal percentage" +msgstr "E549: 䏿£ãªãƒ‘ーセンテージã§ã™" + +msgid "E854: path too long for completion" +msgstr "E854: パスãŒé•·éŽãŽã¦è£œå®Œã§ãã¾ã›ã‚“" + +#, c-format +msgid "" +"E343: Invalid path: '**[number]' must be at the end of the path or be " +"followed by '%s'." +msgstr "" +"E343: 無効ãªãƒ‘スã§ã™: '**[数値]' ã¯pathã®æœ€å¾Œã‹ '%s' ãŒç¶šã„ã¦ãªã„ã¨ã„ã‘ã¾ã›" +"ã‚“." + +#, c-format +msgid "E344: Can't find directory \"%s\" in cdpath" +msgstr "E344: cdpathã«ã¯ \"%s\" ã¨ã„ã†ãƒ•ァイルãŒã‚りã¾ã›ã‚“" + +#, c-format +msgid "E345: Can't find file \"%s\" in path" +msgstr "E345: pathã«ã¯ \"%s\" ã¨ã„ã†ãƒ•ァイルãŒã‚りã¾ã›ã‚“" + +#, c-format +msgid "E346: No more directory \"%s\" found in cdpath" +msgstr "E346: cdpathã«ã¯ã“れ以上 \"%s\" ã¨ã„ã†ãƒ•ァイルãŒã‚りã¾ã›ã‚“" + +#, c-format +msgid "E347: No more file \"%s\" found in path" +msgstr "E347: パスã«ã¯ã“れ以上 \"%s\" ã¨ã„ã†ãƒ•ァイルãŒã‚りã¾ã›ã‚“" + +#, c-format +msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\"" +msgstr "" +"E668: NetBeansã®æŽ¥ç¶šæƒ…å ±ãƒ•ã‚¡ã‚¤ãƒ«ã®ã‚¢ã‚¯ã‚»ã‚¹ãƒ¢ãƒ¼ãƒ‰ã«å•題ãŒã‚りã¾ã™: \"%s\"" + +#, c-format +msgid "E658: NetBeans connection lost for buffer %ld" +msgstr "E658: ãƒãƒƒãƒ•ã‚¡ %ld ã® NetBeans 接続ãŒå¤±ã‚れã¾ã—ãŸ" + +msgid "E838: netbeans is not supported with this GUI" +msgstr "E838: NetBeansã¯ã“ã®GUIã«ã¯å¯¾å¿œã—ã¦ã„ã¾ã›ã‚“" + +msgid "E511: netbeans already connected" +msgstr "E511: NetBeansã¯æ—¢ã«æŽ¥ç¶šã—ã¦ã„ã¾ã™" + +#, c-format +msgid "E505: %s is read-only (add ! to override)" +msgstr "E505: %s ã¯èªè¾¼å°‚用ã§ã™ (強制書込ã«ã¯ ! ã‚’è¿½åŠ )" + msgid "E349: No identifier under cursor" msgstr "E349: カーソルã®ä½ç½®ã«ã¯è˜åˆ¥åãŒã‚りã¾ã›ã‚“" -#: ../normal.c:1866 msgid "E774: 'operatorfunc' is empty" msgstr "E774: 'operatorfunc' オプションãŒç©ºã§ã™" -#: ../normal.c:2637 +msgid "E775: Eval feature not available" +msgstr "E775: å¼è©•価機能ãŒç„¡åйã«ãªã£ã¦ã„ã¾ã™" + msgid "Warning: terminal cannot highlight" msgstr "è¦å‘Š: 使用ã—ã¦ã„る端末ã¯ãƒã‚¤ãƒ©ã‚¤ãƒˆã§ãã¾ã›ã‚“" -#: ../normal.c:2807 msgid "E348: No string under cursor" msgstr "E348: カーソルã®ä½ç½®ã«ã¯æ–‡å—列ãŒã‚りã¾ã›ã‚“" -#: ../normal.c:3937 msgid "E352: Cannot erase folds with current 'foldmethod'" msgstr "E352: ç¾åœ¨ã® 'foldmethod' ã§ã¯æŠ˜ç•³ã¿ã‚’消去ã§ãã¾ã›ã‚“" -#: ../normal.c:5897 msgid "E664: changelist is empty" msgstr "E664: 変更リストãŒç©ºã§ã™" -#: ../normal.c:5899 msgid "E662: At start of changelist" msgstr "E662: 変更リストã®å…ˆé " -#: ../normal.c:5901 msgid "E663: At end of changelist" msgstr "E663: å¤‰æ›´ãƒªã‚¹ãƒˆã®æœ«å°¾" -#: ../normal.c:7053 -msgid "Type :quit<Enter> to exit Nvim" +msgid "Type :quit<Enter> to exit Vim" msgstr "Vimを終了ã™ã‚‹ã«ã¯ :quit<Enter> ã¨å…¥åŠ›ã—ã¦ãã ã•ã„" -#: ../ops.c:248 #, c-format msgid "1 line %sed 1 time" msgstr "1 行㌠%s ã§ 1 回処ç†ã•れã¾ã—ãŸ" -#: ../ops.c:250 #, c-format msgid "1 line %sed %d times" msgstr "1 行㌠%s ã§ %d 回処ç†ã•れã¾ã—ãŸ" -#: ../ops.c:253 #, c-format -msgid "%<PRId64> lines %sed 1 time" -msgstr "%<PRId64> 行㌠%s ã§ 1 回処ç†ã•れã¾ã—ãŸ" +msgid "%ld lines %sed 1 time" +msgstr "%ld 行㌠%s ã§ 1 回処ç†ã•れã¾ã—ãŸ" -#: ../ops.c:256 #, c-format -msgid "%<PRId64> lines %sed %d times" -msgstr "%<PRId64> 行㌠%s ã§ %d 回処ç†ã•れã¾ã—ãŸ" +msgid "%ld lines %sed %d times" +msgstr "%ld 行㌠%s ã§ %d 回処ç†ã•れã¾ã—ãŸ" -#: ../ops.c:592 #, c-format -msgid "%<PRId64> lines to indent... " -msgstr "%<PRId64> 行ãŒã‚¤ãƒ³ãƒ‡ãƒ³ãƒˆã•れã¾ã™... " +msgid "%ld lines to indent... " +msgstr "%ld 行ãŒã‚¤ãƒ³ãƒ‡ãƒ³ãƒˆã•れã¾ã™... " -#: ../ops.c:634 msgid "1 line indented " msgstr "1 行をインデントã—ã¾ã—㟠" -#: ../ops.c:636 #, c-format -msgid "%<PRId64> lines indented " -msgstr "%<PRId64> 行をインデントã—ã¾ã—㟠" +msgid "%ld lines indented " +msgstr "%ld 行をインデントã—ã¾ã—㟠" -#: ../ops.c:938 msgid "E748: No previously used register" msgstr "E748: ã¾ã レジスタを使用ã—ã¦ã„ã¾ã›ã‚“" #. must display the prompt -#: ../ops.c:1433 msgid "cannot yank; delete anyway" msgstr "ヤンクã§ãã¾ã›ã‚“; ã¨ã«ã‹ã消去" -#: ../ops.c:1929 msgid "1 line changed" msgstr "1 行ãŒå¤‰æ›´ã•れã¾ã—ãŸ" -#: ../ops.c:1931 #, c-format -msgid "%<PRId64> lines changed" -msgstr "%<PRId64> 行ãŒå¤‰æ›´ã•れã¾ã—ãŸ" +msgid "%ld lines changed" +msgstr "%ld 行ãŒå¤‰æ›´ã•れã¾ã—ãŸ" + +#, c-format +msgid "freeing %ld lines" +msgstr "%ld 行を解放ä¸" -#: ../ops.c:2521 msgid "block of 1 line yanked" msgstr "1 行ã®ãƒ–ãƒãƒƒã‚¯ãŒãƒ¤ãƒ³ã‚¯ã•れã¾ã—ãŸ" -#: ../ops.c:2523 msgid "1 line yanked" msgstr "1 行ãŒãƒ¤ãƒ³ã‚¯ã•れã¾ã—ãŸ" -#: ../ops.c:2525 #, c-format -msgid "block of %<PRId64> lines yanked" -msgstr "%<PRId64> 行ã®ãƒ–ãƒãƒƒã‚¯ãŒãƒ¤ãƒ³ã‚¯ã•れã¾ã—ãŸ" +msgid "block of %ld lines yanked" +msgstr "%ld 行ã®ãƒ–ãƒãƒƒã‚¯ãŒãƒ¤ãƒ³ã‚¯ã•れã¾ã—ãŸ" -#: ../ops.c:2528 #, c-format -msgid "%<PRId64> lines yanked" -msgstr "%<PRId64> 行ãŒãƒ¤ãƒ³ã‚¯ã•れã¾ã—ãŸ" +msgid "%ld lines yanked" +msgstr "%ld 行ãŒãƒ¤ãƒ³ã‚¯ã•れã¾ã—ãŸ" -#: ../ops.c:2710 #, c-format msgid "E353: Nothing in register %s" msgstr "E353: レジスタ %s ã«ã¯ä½•ã‚‚ã‚りã¾ã›ã‚“" #. Highlight title -#: ../ops.c:3185 msgid "" "\n" "--- Registers ---" @@ -4485,11 +4137,9 @@ msgstr "" "\n" "--- レジスタ ---" -#: ../ops.c:4455 msgid "Illegal register name" msgstr "䏿£ãªãƒ¬ã‚¸ã‚¹ã‚¿å" -#: ../ops.c:4533 msgid "" "\n" "# Registers:\n" @@ -4497,7 +4147,6 @@ msgstr "" "\n" "# レジスタ:\n" -#: ../ops.c:4575 #, c-format msgid "E574: Unknown register type %d" msgstr "E574: 未知ã®ãƒ¬ã‚¸ã‚¹ã‚¿åž‹ %d ã§ã™" @@ -4507,86 +4156,61 @@ msgid "" "lines" msgstr "E883: 検索パターンã¨å¼ãƒ¬ã‚¸ã‚¹ã‚¿ã«ã¯2行以上をå«ã‚られã¾ã›ã‚“" -#: ../ops.c:5089 #, c-format -msgid "%<PRId64> Cols; " -msgstr "%<PRId64> 列; " +msgid "%ld Cols; " +msgstr "%ld 列; " -#: ../ops.c:5097 #, c-format -msgid "" -"Selected %s%<PRId64> of %<PRId64> Lines; %<PRId64> of %<PRId64> Words; " -"%<PRId64> of %<PRId64> Bytes" -msgstr "" -"é¸æŠž %s%<PRId64> / %<PRId64> 行; %<PRId64> / %<PRId64> å˜èªž; %<PRId64> / " -"%<PRId64> ãƒã‚¤ãƒˆ" +msgid "Selected %s%ld of %ld Lines; %lld of %lld Words; %lld of %lld Bytes" +msgstr "é¸æŠž %s%ld / %ld 行; %lld / %lld å˜èªž; %lld / %lld ãƒã‚¤ãƒˆ" -#: ../ops.c:5105 #, c-format msgid "" -"Selected %s%<PRId64> of %<PRId64> Lines; %<PRId64> of %<PRId64> Words; " -"%<PRId64> of %<PRId64> Chars; %<PRId64> of %<PRId64> Bytes" +"Selected %s%ld of %ld Lines; %lld of %lld Words; %lld of %lld Chars; %lld of " +"%lld Bytes" msgstr "" -"é¸æŠž %s%<PRId64> / %<PRId64> 行; %<PRId64> / %<PRId64> å˜èªž; %<PRId64> / " -"%<PRId64> æ–‡å—; %<PRId64> / %<PRId64> ãƒã‚¤ãƒˆ" +"é¸æŠž %s%ld / %ld 行; %lld / %lld å˜èªž; %lld / %lld æ–‡å—; %lld / %lld ãƒã‚¤ãƒˆ" -#: ../ops.c:5123 #, c-format -msgid "" -"Col %s of %s; Line %<PRId64> of %<PRId64>; Word %<PRId64> of %<PRId64>; Byte " -"%<PRId64> of %<PRId64>" -msgstr "" -"列 %s / %s; 行 %<PRId64> of %<PRId64>; å˜èªž %<PRId64> / %<PRId64>; ãƒã‚¤ãƒˆ " -"%<PRId64> / %<PRId64>" +msgid "Col %s of %s; Line %ld of %ld; Word %lld of %lld; Byte %lld of %lld" +msgstr "列 %s / %s; 行 %ld of %ld; å˜èªž %lld / %lld; ãƒã‚¤ãƒˆ %lld / %lld" -#: ../ops.c:5133 #, c-format msgid "" -"Col %s of %s; Line %<PRId64> of %<PRId64>; Word %<PRId64> of %<PRId64>; Char " -"%<PRId64> of %<PRId64>; Byte %<PRId64> of %<PRId64>" +"Col %s of %s; Line %ld of %ld; Word %lld of %lld; Char %lld of %lld; Byte " +"%lld of %lld" msgstr "" -"列 %s / %s; 行 %<PRId64> / %<PRId64>; å˜èªž %<PRId64> / %<PRId64>; æ–‡å— " -"%<PRId64> / %<PRId64>; ãƒã‚¤ãƒˆ %<PRId64> of %<PRId64>" +"列 %s / %s; 行 %ld / %ld; å˜èªž %lld / %lld; æ–‡å— %lld / %lld; ãƒã‚¤ãƒˆ %lld of " +"%lld" -#: ../ops.c:5146 #, c-format -msgid "(+%<PRId64> for BOM)" -msgstr "(+%<PRId64> for BOM)" +msgid "(+%ld for BOM)" +msgstr "(+%ld for BOM)" -#: ../option.c:1238 msgid "%<%f%h%m%=Page %N" msgstr "%<%f%h%m%=%N ページ" -#: ../option.c:1574 msgid "Thanks for flying Vim" msgstr "Vim を使ã£ã¦ãれã¦ã‚りãŒã¨ã†" -#. found a mismatch: skip -#: ../option.c:2698 msgid "E518: Unknown option" msgstr "E518: 未知ã®ã‚ªãƒ—ションã§ã™" -#: ../option.c:2709 msgid "E519: Option not supported" msgstr "E519: オプションã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“" -#: ../option.c:2740 msgid "E520: Not allowed in a modeline" msgstr "E520: modeline ã§ã¯è¨±å¯ã•れã¾ã›ã‚“" -#: ../option.c:2815 msgid "E846: Key code not set" msgstr "E846: ã‚ーコードãŒè¨å®šã•れã¦ã„ã¾ã›ã‚“" -#: ../option.c:2924 msgid "E521: Number required after =" msgstr "E521: = ã®å¾Œã«ã¯æ•°å—ãŒå¿…è¦ã§ã™" -#: ../option.c:3226 ../option.c:3864 msgid "E522: Not found in termcap" msgstr "E522: termcap 内ã«è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" -#: ../option.c:3335 #, c-format msgid "E539: Illegal character <%s>" msgstr "E539: 䏿£ãªæ–‡å—ã§ã™ <%s>" @@ -4595,93 +4219,99 @@ msgstr "E539: 䏿£ãªæ–‡å—ã§ã™ <%s>" msgid "For option %s" msgstr "オプション: %s" -#: ../option.c:3862 msgid "E529: Cannot set 'term' to empty string" msgstr "E529: 'term' ã«ã¯ç©ºæ–‡å—列をè¨å®šã§ãã¾ã›ã‚“" -#: ../option.c:3885 +msgid "E530: Cannot change term in GUI" +msgstr "E530: GUIã§ã¯ 'term' を変更ã§ãã¾ã›ã‚“" + +msgid "E531: Use \":gui\" to start the GUI" +msgstr "E531: GUIをスタートã™ã‚‹ã«ã¯ \":gui\" を使用ã—ã¦ãã ã•ã„" + msgid "E589: 'backupext' and 'patchmode' are equal" msgstr "E589: 'backupext' 㨠'patchmode' ãŒåŒã˜ã§ã™" -#: ../option.c:3964 msgid "E834: Conflicts with value of 'listchars'" msgstr "E834: 'listchars'ã®å€¤ã«çŸ›ç›¾ãŒã‚りã¾ã™" -#: ../option.c:3966 msgid "E835: Conflicts with value of 'fillchars'" msgstr "E835: 'fillchars'ã®å€¤ã«çŸ›ç›¾ãŒã‚りã¾ã™" -#: ../option.c:4163 +msgid "E617: Cannot be changed in the GTK+ 2 GUI" +msgstr "E617: GTK+2 GUIã§ã¯å¤‰æ›´ã§ãã¾ã›ã‚“" + msgid "E524: Missing colon" msgstr "E524: コãƒãƒ³ãŒã‚りã¾ã›ã‚“" -#: ../option.c:4165 msgid "E525: Zero length string" msgstr "E525: æ–‡å—列ã®é•·ã•ãŒã‚¼ãƒã§ã™" -#: ../option.c:4220 #, c-format msgid "E526: Missing number after <%s>" msgstr "E526: <%s> ã®å¾Œã«æ•°å—ãŒã‚りã¾ã›ã‚“" -#: ../option.c:4232 msgid "E527: Missing comma" msgstr "E527: カンマãŒã‚りã¾ã›ã‚“" -#: ../option.c:4239 msgid "E528: Must specify a ' value" msgstr "E528: ' ã®å€¤ã‚’指定ã—ãªã‘れã°ãªã‚Šã¾ã›ã‚“" -#: ../option.c:4271 msgid "E595: contains unprintable or wide character" msgstr "E595: 表示ã§ããªã„æ–‡å—ã‹ãƒ¯ã‚¤ãƒ‰æ–‡å—ã‚’å«ã‚“ã§ã„ã¾ã™" -#: ../option.c:4469 +msgid "E596: Invalid font(s)" +msgstr "E596: 無効ãªãƒ•ォントã§ã™" + +msgid "E597: can't select fontset" +msgstr "E597: ãƒ•ã‚©ãƒ³ãƒˆã‚»ãƒƒãƒˆã‚’é¸æŠžã§ãã¾ã›ã‚“" + +msgid "E598: Invalid fontset" +msgstr "E598: 無効ãªãƒ•ォントセットã§ã™" + +msgid "E533: can't select wide font" +msgstr "E533: ãƒ¯ã‚¤ãƒ‰ãƒ•ã‚©ãƒ³ãƒˆã‚’é¸æŠžã§ãã¾ã›ã‚“" + +msgid "E534: Invalid wide font" +msgstr "E534: 無効ãªãƒ¯ã‚¤ãƒ‰ãƒ•ォントã§ã™" + #, c-format msgid "E535: Illegal character after <%c>" msgstr "E535: <%c> ã®å¾Œã«ä¸æ£ãªæ–‡å—ãŒã‚りã¾ã™" -#: ../option.c:4534 msgid "E536: comma required" msgstr "E536: カンマãŒå¿…è¦ã§ã™" -#: ../option.c:4543 #, c-format msgid "E537: 'commentstring' must be empty or contain %s" msgstr "E537: 'commentstring' ã¯ç©ºã§ã‚ã‚‹ã‹ %s ã‚’å«ã‚€å¿…è¦ãŒã‚りã¾ã™" -#: ../option.c:4928 +msgid "E538: No mouse support" +msgstr "E538: マウスã¯ã‚µãƒãƒ¼ãƒˆã•れã¾ã›ã‚“" + msgid "E540: Unclosed expression sequence" msgstr "E540: å¼ãŒçµ‚了ã—ã¦ã„ã¾ã›ã‚“" -#: ../option.c:4932 msgid "E541: too many items" msgstr "E541: è¦ç´ ãŒå¤šéŽãŽã¾ã™" -#: ../option.c:4934 msgid "E542: unbalanced groups" msgstr "E542: グループãŒé‡£åˆã„ã¾ã›ã‚“" -#: ../option.c:5148 msgid "E590: A preview window already exists" msgstr "E590: ãƒ—ãƒ¬ãƒ“ãƒ¥ãƒ¼ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ãŒæ—¢ã«å˜åœ¨ã—ã¾ã™" -#: ../option.c:5311 msgid "W17: Arabic requires UTF-8, do ':set encoding=utf-8'" msgstr "" "W17: アラビア文å—ã«ã¯UTF-8ãŒå¿…è¦ãªã®ã§, ':set encoding=utf-8' ã—ã¦ãã ã•ã„" -#: ../option.c:5623 #, c-format msgid "E593: Need at least %d lines" msgstr "E593: 最低 %d ã®è¡Œæ•°ãŒå¿…è¦ã§ã™" -#: ../option.c:5631 #, c-format msgid "E594: Need at least %d columns" msgstr "E594: 最低 %d ã®ã‚«ãƒ©ãƒ å¹…ãŒå¿…è¦ã§ã™" -#: ../option.c:6011 #, c-format msgid "E355: Unknown option: %s" msgstr "E355: 未知ã®ã‚ªãƒ—ションã§ã™: %s" @@ -4689,12 +4319,10 @@ msgstr "E355: 未知ã®ã‚ªãƒ—ションã§ã™: %s" #. There's another character after zeros or the string #. * is empty. In both cases, we are trying to set a #. * num option using a string. -#: ../option.c:6037 #, c-format msgid "E521: Number required: &%s = '%s'" msgstr "E521: æ•°å—ãŒå¿…è¦ã§ã™: &%s = '%s'" -#: ../option.c:6149 msgid "" "\n" "--- Terminal codes ---" @@ -4702,7 +4330,6 @@ msgstr "" "\n" "--- 端末コード ---" -#: ../option.c:6151 msgid "" "\n" "--- Global option values ---" @@ -4710,7 +4337,6 @@ msgstr "" "\n" "--- ã‚°ãƒãƒ¼ãƒãƒ«ã‚ªãƒ—ション値 ---" -#: ../option.c:6153 msgid "" "\n" "--- Local option values ---" @@ -4718,7 +4344,6 @@ msgstr "" "\n" "--- ãƒãƒ¼ã‚«ãƒ«ã‚ªãƒ—ション値 ---" -#: ../option.c:6155 msgid "" "\n" "--- Options ---" @@ -4726,37 +4351,119 @@ msgstr "" "\n" "--- オプション ---" -#: ../option.c:6816 msgid "E356: get_varp ERROR" msgstr "E356: get_varp エラー" -#: ../option.c:7696 #, c-format msgid "E357: 'langmap': Matching character missing for %s" msgstr "E357: 'langmap': %s ã«å¯¾å¿œã™ã‚‹æ–‡å—ãŒã‚りã¾ã›ã‚“" -#: ../option.c:7715 #, c-format msgid "E358: 'langmap': Extra characters after semicolon: %s" msgstr "E358: 'langmap': セミコãƒãƒ³ã®å¾Œã«ä½™åˆ†ãªæ–‡å—ãŒã‚りã¾ã™: %s" -#: ../os/shell.c:194 -msgid "" -"\n" -"Cannot execute shell " -msgstr "" -"\n" -"シェルを実行ã§ãã¾ã›ã‚“ " +msgid "cannot open " +msgstr "é–‹ã‘ã¾ã›ã‚“ " + +msgid "VIM: Can't open window!\n" +msgstr "VIM: ウィンドウを開ã‘ã¾ã›ã‚“!\n" + +msgid "Need Amigados version 2.04 or later\n" +msgstr "Amigadosã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.04ã‹ãれ以é™ãŒå¿…è¦ã§ã™\n" + +#, c-format +msgid "Need %s version %ld\n" +msgstr "%s ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ %ld ãŒå¿…è¦ã§ã™\n" + +msgid "Cannot open NIL:\n" +msgstr "NILã‚’é–‹ã‘ã¾ã›ã‚“:\n" + +msgid "Cannot create " +msgstr "作æˆã§ãã¾ã›ã‚“ " + +#, c-format +msgid "Vim exiting with %d\n" +msgstr "Vim㯠%d ã§çµ‚了ã—ã¾ã™\n" + +msgid "cannot change console mode ?!\n" +msgstr "コンソールモードを変更ã§ãã¾ã›ã‚“?!\n" + +msgid "mch_get_shellsize: not a console??\n" +msgstr "mch_get_shellsize: コンソールã§ã¯ãªã„??\n" + +#. if Vim opened a window: Executing a shell may cause crashes +msgid "E360: Cannot execute shell with -f option" +msgstr "E360: -f オプションã§ã‚·ã‚§ãƒ«ã‚’実行ã§ãã¾ã›ã‚“" + +msgid "Cannot execute " +msgstr "実行ã§ãã¾ã›ã‚“ " + +msgid "shell " +msgstr "シェル " + +msgid " returned\n" +msgstr " 戻りã¾ã—ãŸ\n" + +msgid "ANCHOR_BUF_SIZE too small." +msgstr "ANCHOR_BUF_SIZE ãŒå°ã•éŽãŽã¾ã™." + +msgid "I/O ERROR" +msgstr "入出力エラー" + +msgid "Message" +msgstr "メッセージ" + +msgid "'columns' is not 80, cannot execute external commands" +msgstr "'columns' ㌠80 ã§ã¯ãªã„ãŸã‚ã€å¤–部コマンドを実行ã§ãã¾ã›ã‚“" + +msgid "E237: Printer selection failed" +msgstr "E237: プリンタã®é¸æŠžã«å¤±æ•—ã—ã¾ã—ãŸ" + +#, c-format +msgid "to %s on %s" +msgstr "%s 㸠(%s 上ã®)" + +#, c-format +msgid "E613: Unknown printer font: %s" +msgstr "E613: 未知ã®ãƒ—リンタオプションã§ã™: %s" + +#, c-format +msgid "E238: Print error: %s" +msgstr "E238: å°åˆ·ã‚¨ãƒ©ãƒ¼: %s" + +#, c-format +msgid "Printing '%s'" +msgstr "å°åˆ·ã—ã¦ã„ã¾ã™: '%s'" + +#, c-format +msgid "E244: Illegal charset name \"%s\" in font name \"%s\"" +msgstr "E244: æ–‡å—セットå \"%s\" ã¯ä¸æ£ã§ã™ (フォントå \"%s\")" + +#, c-format +msgid "E244: Illegal quality name \"%s\" in font name \"%s\"" +msgstr "E244: å“質å \"%s\" ã¯ä¸æ£ã§ã™ (フォントå \"%s\")" + +#, c-format +msgid "E245: Illegal char '%c' in font name \"%s\"" +msgstr "E245: '%c' ã¯ä¸æ£ãªæ–‡å—ã§ã™ (フォントå \"%s\")" + +#, c-format +msgid "Opening the X display took %ld msec" +msgstr "Xサーãƒãƒ¼ã¸ã®æŽ¥ç¶šã« %ld ミリ秒ã‹ã‹ã‚Šã¾ã—ãŸ" -#: ../os/shell.c:439 msgid "" "\n" -"shell returned " +"Vim: Got X error\n" msgstr "" "\n" -"シェルãŒå€¤ã‚’è¿”ã—ã¾ã—㟠" +"Vim: X ã®ã‚¨ãƒ©ãƒ¼ã‚’検出ã—ã¾ã—ãŸr\n" + +msgid "Testing the X display failed" +msgstr "X display ã®ãƒã‚§ãƒƒã‚¯ã«å¤±æ•—ã—ã¾ã—ãŸ" + +msgid "Opening the X display timed out" +msgstr "X display ã® open ãŒã‚¿ã‚¤ãƒ アウトã—ã¾ã—ãŸ" -#: ../os_unix.c:465 ../os_unix.c:471 msgid "" "\n" "Could not get security context for " @@ -4764,7 +4471,6 @@ msgstr "" "\n" "ã‚»ã‚ュリティコンテã‚ストをå–å¾—ã§ãã¾ã›ã‚“ " -#: ../os_unix.c:479 msgid "" "\n" "Could not set security context for " @@ -4780,223 +4486,293 @@ msgstr "ã‚»ã‚ュリティコンテã‚スト %s ã‚’ %s ã«è¨å®šã§ãã¾ã›ã‚“" msgid "Could not get security context %s for %s. Removing it!" msgstr "ã‚»ã‚ュリティコンテã‚スト %s ã‚’ %s ã‹ã‚‰å–å¾—ã§ãã¾ã›ã‚“. 削除ã—ã¾ã™!" -#: ../os_unix.c:1558 ../os_unix.c:1647 +msgid "" +"\n" +"Cannot execute shell sh\n" +msgstr "" +"\n" +"sh シェルを実行ã§ãã¾ã›ã‚“\n" + +msgid "" +"\n" +"shell returned " +msgstr "" +"\n" +"シェルãŒå€¤ã‚’è¿”ã—ã¾ã—㟠" + +msgid "" +"\n" +"Cannot create pipes\n" +msgstr "" +"\n" +"パイプを作æˆã§ãã¾ã›ã‚“\n" + +msgid "" +"\n" +"Cannot fork\n" +msgstr "" +"\n" +"fork ã§ãã¾ã›ã‚“\n" + +msgid "" +"\n" +"Cannot execute shell " +msgstr "" +"\n" +"シェルを実行ã§ãã¾ã›ã‚“ " + +msgid "" +"\n" +"Command terminated\n" +msgstr "" +"\n" +"ã‚³ãƒžãƒ³ãƒ‰ã‚’ä¸æ–ã—ã¾ã—ãŸ\n" + +msgid "XSMP lost ICE connection" +msgstr "XSMP ãŒICE接続を失ã„ã¾ã—ãŸ" + #, c-format msgid "dlerror = \"%s\"" msgstr "dlerror = \"%s\"" -#: ../path.c:1449 +msgid "Opening the X display failed" +msgstr "X display ã® open ã«å¤±æ•—ã—ã¾ã—ãŸ" + +msgid "XSMP handling save-yourself request" +msgstr "XSMP ãŒsave-yourselfè¦æ±‚を処ç†ã—ã¦ã„ã¾ã™" + +msgid "XSMP opening connection" +msgstr "XSMP ãŒæŽ¥ç¶šã‚’é–‹å§‹ã—ã¦ã„ã¾ã™" + +msgid "XSMP ICE connection watch failed" +msgstr "XSMP ICE接続ãŒå¤±æ•—ã—ãŸã‚ˆã†ã§ã™" + #, c-format -msgid "E447: Can't find file \"%s\" in path" -msgstr "E447: pathã«ã¯ \"%s\" ã¨ã„ã†ãƒ•ァイルãŒã‚りã¾ã›ã‚“" +msgid "XSMP SmcOpenConnection failed: %s" +msgstr "XSMP SmcOpenConnectionãŒå¤±æ•—ã—ã¾ã—ãŸ: %s" + +msgid "At line" +msgstr "行" + +msgid "Could not load vim32.dll!" +msgstr "vim32.dll ã‚’ãƒãƒ¼ãƒ‰ã§ãã¾ã›ã‚“ã§ã—ãŸ" + +msgid "VIM Error" +msgstr "VIMエラー" + +msgid "Could not fix up function pointers to the DLL!" +msgstr "DLLã‹ã‚‰é–¢æ•°ãƒã‚¤ãƒ³ã‚¿ã‚’å–å¾—ã§ãã¾ã›ã‚“ã§ã—ãŸ" + +#, c-format +msgid "Vim: Caught %s event\n" +msgstr "Vim: イベント %s を検知\n" + +msgid "close" +msgstr "é–‰ã˜ã‚‹" + +msgid "logoff" +msgstr "ãƒã‚°ã‚ªãƒ•" + +msgid "shutdown" +msgstr "シャットダウン" + +msgid "E371: Command not found" +msgstr "E371: コマンドãŒã‚りã¾ã›ã‚“" + +msgid "" +"VIMRUN.EXE not found in your $PATH.\n" +"External commands will not pause after completion.\n" +"See :help win32-vimrun for more information." +msgstr "" +"VIMRUN.EXE㌠$PATH ã®ä¸ã«è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“.\n" +"外部コマンドã®çµ‚了後ã«ä¸€æ™‚åœæ¢ã‚’ã—ã¾ã›ã‚“.\n" +"詳細㯠:help win32-vimrun ã‚’å‚ç…§ã—ã¦ãã ã•ã„." + +msgid "Vim Warning" +msgstr "Vimã®è¦å‘Š" + +#, c-format +msgid "shell returned %d" +msgstr "シェルãŒã‚³ãƒ¼ãƒ‰ %d ã§çµ‚了ã—ã¾ã—ãŸ" -#: ../quickfix.c:359 #, c-format msgid "E372: Too many %%%c in format string" msgstr "E372: フォーマット文å—列㫠%%%c ãŒå¤šéŽãŽã¾ã™" -#: ../quickfix.c:371 #, c-format msgid "E373: Unexpected %%%c in format string" msgstr "E373: フォーマット文å—列ã«äºˆæœŸã›ã¬ %%%c ãŒã‚りã¾ã—ãŸ" -#: ../quickfix.c:420 msgid "E374: Missing ] in format string" msgstr "E374: フォーマット文å—列㫠] ãŒã‚りã¾ã›ã‚“" -#: ../quickfix.c:431 #, c-format msgid "E375: Unsupported %%%c in format string" msgstr "E375: フォーマット文å—列ã§ã¯ %%%c ã¯ã‚µãƒãƒ¼ãƒˆã•れã¾ã›ã‚“" -#: ../quickfix.c:448 #, c-format msgid "E376: Invalid %%%c in format string prefix" msgstr "E376: フォーマット文å—列ã®å‰ç½®ã«ç„¡åŠ¹ãª %%%c ãŒã‚りã¾ã™" -#: ../quickfix.c:454 #, c-format msgid "E377: Invalid %%%c in format string" msgstr "E377: フォーマット文å—列ã«ç„¡åŠ¹ãª %%%c ãŒã‚りã¾ã™" #. nothing found -#: ../quickfix.c:477 msgid "E378: 'errorformat' contains no pattern" msgstr "E378: 'errorformat' ã«ãƒ‘ã‚¿ãƒ¼ãƒ³ãŒæŒ‡å®šã•れã¦ã„ã¾ã›ã‚“" -#: ../quickfix.c:695 msgid "E379: Missing or empty directory name" msgstr "E379: ディレクトリåãŒç„¡ã„ã‹ç©ºã§ã™" -#: ../quickfix.c:1305 msgid "E553: No more items" msgstr "E553: è¦ç´ ãŒã‚‚ã†ã‚りã¾ã›ã‚“" -#: ../quickfix.c:1674 +msgid "E924: Current window was closed" +msgstr "E924: ç¾åœ¨ã®ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ãŒé–‰ã˜ã‚‰ã‚Œã¾ã—ãŸ" + +msgid "E925: Current quickfix was changed" +msgstr "E925: ç¾åœ¨ã® quickfix ãŒå¤‰æ›´ã•れã¾ã—ãŸ" + +msgid "E926: Current location list was changed" +msgstr "E926: ç¾åœ¨ã®ãƒã‚±ãƒ¼ã‚·ãƒ§ãƒ³ãƒªã‚¹ãƒˆãŒå¤‰æ›´ã•れã¾ã—ãŸ" + #, c-format msgid "(%d of %d)%s%s: " msgstr "(%d of %d)%s%s: " -#: ../quickfix.c:1676 msgid " (line deleted)" msgstr " (行ãŒå‰Šé™¤ã•れã¾ã—ãŸ)" -#: ../quickfix.c:1863 +#, c-format +msgid "%serror list %d of %d; %d errors " +msgstr "%s エラー一覧 %d of %d; %d 個エラー" + msgid "E380: At bottom of quickfix stack" msgstr "E380: quickfix ã‚¹ã‚¿ãƒƒã‚¯ã®æœ«å°¾ã§ã™" -#: ../quickfix.c:1869 msgid "E381: At top of quickfix stack" msgstr "E381: quickfix スタックã®å…ˆé ã§ã™" -#: ../quickfix.c:1880 -#, c-format -msgid "error list %d of %d; %d errors" -msgstr "エラー一覧 %d of %d; %d 個エラー" +msgid "No entries" +msgstr "エントリãŒã‚りã¾ã›ã‚“" -#: ../quickfix.c:2427 msgid "E382: Cannot write, 'buftype' option is set" msgstr "E382: 'buftype' オプションãŒè¨å®šã•れã¦ã„ã‚‹ã®ã§æ›¸è¾¼ã¿ã¾ã›ã‚“" -#: ../quickfix.c:2812 +msgid "Error file" +msgstr "エラーファイル" + msgid "E683: File name missing or invalid pattern" msgstr "E683: ファイルåãŒç„¡ã„ã‹ç„¡åйãªãƒ‘ターンã§ã™" -#: ../quickfix.c:2911 #, c-format msgid "Cannot open file \"%s\"" msgstr "ファイル \"%s\" ã‚’é–‹ã‘ã¾ã›ã‚“" -#: ../quickfix.c:3429 msgid "E681: Buffer is not loaded" msgstr "E681: ãƒãƒƒãƒ•ã‚¡ã¯èªã¿è¾¼ã¾ã‚Œã¾ã›ã‚“ã§ã—ãŸ" -#: ../quickfix.c:3487 msgid "E777: String or List expected" msgstr "E777: æ–‡å—列ã‹ãƒªã‚¹ãƒˆãŒå¿…è¦ã§ã™" -#: ../regexp.c:359 #, c-format msgid "E369: invalid item in %s%%[]" msgstr "E369: 無効ãªé …ç›®ã§ã™: %s%%[]" # -#: ../regexp.c:374 #, c-format msgid "E769: Missing ] after %s[" msgstr "E769: %s[ ã®å¾Œã« ] ãŒã‚りã¾ã›ã‚“" -#: ../regexp.c:375 #, c-format msgid "E53: Unmatched %s%%(" msgstr "E53: %s%%( ãŒé‡£ã‚Šåˆã£ã¦ã„ã¾ã›ã‚“" -#: ../regexp.c:376 #, c-format msgid "E54: Unmatched %s(" msgstr "E54: %s( ãŒé‡£ã‚Šåˆã£ã¦ã„ã¾ã›ã‚“" -#: ../regexp.c:377 #, c-format msgid "E55: Unmatched %s)" msgstr "E55: %s) ãŒé‡£ã‚Šåˆã£ã¦ã„ã¾ã›ã‚“" # -#: ../regexp.c:378 msgid "E66: \\z( not allowed here" msgstr "E66: \\z( ã¯ã‚³ã‚³ã§ã¯è¨±å¯ã•れã¦ã„ã¾ã›ã‚“" # -#: ../regexp.c:379 msgid "E67: \\z1 et al. not allowed here" msgstr "E67: \\z1 ãã®ä»–ã¯ã‚³ã‚³ã§ã¯è¨±å¯ã•れã¦ã„ã¾ã›ã‚“" # -#: ../regexp.c:380 #, c-format msgid "E69: Missing ] after %s%%[" msgstr "E69: %s%%[ ã®å¾Œã« ] ãŒã‚りã¾ã›ã‚“" -#: ../regexp.c:381 #, c-format msgid "E70: Empty %s%%[]" msgstr "E70: %s%%[] ãŒç©ºã§ã™" -#: ../regexp.c:1209 ../regexp.c:1224 msgid "E339: Pattern too long" msgstr "E339: パターンãŒé•·éŽãŽã¾ã™" -#: ../regexp.c:1371 msgid "E50: Too many \\z(" msgstr "E50: \\z( ãŒå¤šéŽãŽã¾ã™" -#: ../regexp.c:1378 #, c-format msgid "E51: Too many %s(" msgstr "E51: %s( ãŒå¤šéŽãŽã¾ã™" -#: ../regexp.c:1427 msgid "E52: Unmatched \\z(" msgstr "E52: \\z( ãŒé‡£ã‚Šåˆã£ã¦ã„ã¾ã›ã‚“" -#: ../regexp.c:1637 #, c-format msgid "E59: invalid character after %s@" msgstr "E59: %s@ ã®å¾Œã«ä¸æ£ãªæ–‡å—ãŒã‚りã¾ã—ãŸ" -#: ../regexp.c:1672 #, c-format msgid "E60: Too many complex %s{...}s" msgstr "E60: 複雑㪠%s{...} ãŒå¤šéŽãŽã¾ã™" -#: ../regexp.c:1687 #, c-format msgid "E61: Nested %s*" msgstr "E61:%s* ãŒå…¥ã‚Œåã«ãªã£ã¦ã„ã¾ã™" -#: ../regexp.c:1690 #, c-format msgid "E62: Nested %s%c" msgstr "E62:%s%c ãŒå…¥ã‚Œåã«ãªã£ã¦ã„ã¾ã™" # -#: ../regexp.c:1800 msgid "E63: invalid use of \\_" msgstr "E63: \\_ ã®ç„¡åйãªä½¿ç”¨æ–¹æ³•ã§ã™" -#: ../regexp.c:1850 #, c-format msgid "E64: %s%c follows nothing" msgstr "E64:%s%c ã®å¾Œã«ãªã«ã‚‚ã‚りã¾ã›ã‚“" # -#: ../regexp.c:1902 msgid "E65: Illegal back reference" msgstr "E65: 䏿£ãªå¾Œæ–¹å‚ç…§ã§ã™" # -#: ../regexp.c:1943 msgid "E68: Invalid character after \\z" msgstr "E68: \\z ã®å¾Œã«ä¸æ£ãªæ–‡å—ãŒã‚りã¾ã—ãŸ" # -#: ../regexp.c:2049 ../regexp_nfa.c:1296 #, c-format msgid "E678: Invalid character after %s%%[dxouU]" msgstr "E678: %s%%[dxouU] ã®å¾Œã«ä¸æ£ãªæ–‡å—ãŒã‚りã¾ã—ãŸ" # -#: ../regexp.c:2107 #, c-format msgid "E71: Invalid character after %s%%" msgstr "E71: %s%% ã®å¾Œã«ä¸æ£ãªæ–‡å—ãŒã‚りã¾ã—ãŸ" -#: ../regexp.c:3017 #, c-format msgid "E554: Syntax error in %s{...}" msgstr "E554: %s{...} å†…ã«æ–‡æ³•エラーãŒã‚りã¾ã™" -#: ../regexp.c:3805 msgid "External submatches:\n" msgstr "外部ã®éƒ¨åˆ†è©²å½“:\n" @@ -5004,7 +4780,6 @@ msgstr "外部ã®éƒ¨åˆ†è©²å½“:\n" msgid "E888: (NFA regexp) cannot repeat %s" msgstr "E888: (NFA æ£è¦è¡¨ç¾) 繰り返ã›ã¾ã›ã‚“ %s" -#: ../regexp.c:7022 msgid "" "E864: \\%#= can only be followed by 0, 1, or 2. The automatic engine will be " "used " @@ -5015,62 +4790,54 @@ msgstr "" msgid "Switching to backtracking RE engine for pattern: " msgstr "次ã®ãƒ‘ターンã«ãƒãƒƒã‚¯ãƒˆãƒ©ãƒƒã‚ング RE エンジンをé©ç”¨ã—ã¾ã™: " -#: ../regexp_nfa.c:239 msgid "E865: (NFA) Regexp end encountered prematurely" msgstr "E865: (NFA) æœŸå¾…ã‚ˆã‚Šæ—©ãæ£è¦è¡¨ç¾ã®çµ‚端ã«åˆ°é”ã—ã¾ã—ãŸ" -#: ../regexp_nfa.c:240 #, c-format msgid "E866: (NFA regexp) Misplaced %c" msgstr "E866: (NFA æ£è¦è¡¨ç¾) ä½ç½®ãŒèª¤ã£ã¦ã„ã¾ã™: %c" -#: ../regexp_nfa.c:242 +# #, c-format -msgid "E877: (NFA regexp) Invalid character class: %<PRId64>" -msgstr "E877: (NFA æ£è¦è¡¨ç¾) ç„¡åŠ¹ãªæ–‡å—クラス: %<PRId64>" +msgid "E877: (NFA regexp) Invalid character class: %ld" +msgstr "E877: (NFA æ£è¦è¡¨ç¾) ç„¡åŠ¹ãªæ–‡å—クラス: %ld" -#: ../regexp_nfa.c:1261 #, c-format msgid "E867: (NFA) Unknown operator '\\z%c'" msgstr "E867: (NFA) 未知ã®ã‚ªãƒšãƒ¬ãƒ¼ã‚¿ã§ã™: '\\z%c'" -#: ../regexp_nfa.c:1387 #, c-format msgid "E867: (NFA) Unknown operator '\\%%%c'" msgstr "E867: (NFA) 未知ã®ã‚ªãƒšãƒ¬ãƒ¼ã‚¿ã§ã™: '\\%%%c'" -#: ../regexp_nfa.c:1802 +#. should never happen +msgid "E868: Error building NFA with equivalence class!" +msgstr "E868: ç‰ä¾¡ã‚¯ãƒ©ã‚¹ã‚’å«ã‚€NFA構築ã«å¤±æ•—ã—ã¾ã—ãŸ!" + #, c-format msgid "E869: (NFA) Unknown operator '\\@%c'" msgstr "E869: (NFA) 未知ã®ã‚ªãƒšãƒ¬ãƒ¼ã‚¿ã§ã™: '\\@%c'" -#: ../regexp_nfa.c:1831 msgid "E870: (NFA regexp) Error reading repetition limits" msgstr "E870: (NFA æ£è¦è¡¨ç¾) 繰り返ã—ã®åˆ¶é™å›žæ•°ã‚’èªè¾¼ä¸ã«ã‚¨ãƒ©ãƒ¼" #. Can't have a multi follow a multi. -#: ../regexp_nfa.c:1895 msgid "E871: (NFA regexp) Can't have a multi follow a multi !" msgstr "E871: (NFA æ£è¦è¡¨ç¾) 繰り返㗠ã®å¾Œã« 繰り返㗠ã¯ã§ãã¾ã›ã‚“!" #. Too many `(' -#: ../regexp_nfa.c:2037 msgid "E872: (NFA regexp) Too many '('" msgstr "E872: (NFA æ£è¦è¡¨ç¾) '(' ãŒå¤šéŽãŽã¾ã™" -#: ../regexp_nfa.c:2042 msgid "E879: (NFA regexp) Too many \\z(" msgstr "E879: (NFA æ£è¦è¡¨ç¾) \\z( ãŒå¤šéŽãŽã¾ã™" -#: ../regexp_nfa.c:2066 msgid "E873: (NFA regexp) proper termination error" msgstr "E873: (NFA æ£è¦è¡¨ç¾) 終端記å·ãŒã‚りã¾ã›ã‚“" -#: ../regexp_nfa.c:2599 msgid "E874: (NFA) Could not pop the stack !" msgstr "E874: (NFA) スタックをãƒãƒƒãƒ—ã§ãã¾ã›ã‚“!" -#: ../regexp_nfa.c:3298 msgid "" "E875: (NFA regexp) (While converting from postfix to NFA), too many states " "left on stack" @@ -5078,177 +4845,136 @@ msgstr "" "E875: (NFA æ£è¦è¡¨ç¾) (後置文å—列をNFAã«å¤‰æ›ä¸ã«) ã‚¹ã‚¿ãƒƒã‚¯ã«æ®‹ã•れãŸã‚¹ãƒ†ãƒ¼ãƒˆãŒ" "多éŽãŽã¾ã™" -#: ../regexp_nfa.c:3302 msgid "E876: (NFA regexp) Not enough space to store the whole NFA " msgstr "E876: (NFA æ£è¦è¡¨ç¾) NFA全体をä¿å˜ã™ã‚‹ã«ã¯ç©ºãスペースãŒè¶³ã‚Šã¾ã›ã‚“" -#: ../regexp_nfa.c:4571 ../regexp_nfa.c:4869 +msgid "E878: (NFA) Could not allocate memory for branch traversal!" +msgstr "E878: (NFA) ç¾åœ¨æ¨ªæ–ä¸ã®ãƒ–ランãƒã«å分ãªãƒ¡ãƒ¢ãƒªã‚’割り当ã¦ã‚‰ã‚Œã¾ã›ã‚“!" + msgid "" "Could not open temporary log file for writing, displaying on stderr ... " msgstr "" "NFAæ£è¦è¡¨ç¾ã‚¨ãƒ³ã‚¸ãƒ³ç”¨ã®ãƒã‚°ãƒ•ァイルを書込用ã¨ã—ã¦é–‹ã‘ã¾ã›ã‚“。ãƒã‚°ã¯æ¨™æº–出力ã«" "出力ã—ã¾ã™ã€‚" -#: ../regexp_nfa.c:4840 #, c-format msgid "(NFA) COULD NOT OPEN %s !" msgstr "(NFA) ãƒã‚°ãƒ•ァイル %s ã‚’é–‹ã‘ã¾ã›ã‚“!" -#: ../regexp_nfa.c:6049 msgid "Could not open temporary log file for writing " msgstr "NFAæ£è¦è¡¨ç¾ã‚¨ãƒ³ã‚¸ãƒ³ç”¨ã®ãƒã‚°ãƒ•ァイルを書込用ã¨ã—ã¦é–‹ã‘ã¾ã›ã‚“。" -#: ../screen.c:7435 msgid " VREPLACE" msgstr " 仮想置æ›" -#: ../screen.c:7437 msgid " REPLACE" msgstr " ç½®æ›" -#: ../screen.c:7440 msgid " REVERSE" msgstr " å転" -#: ../screen.c:7441 msgid " INSERT" msgstr " 挿入" -#: ../screen.c:7443 msgid " (insert)" msgstr " (挿入)" -#: ../screen.c:7445 msgid " (replace)" msgstr " (ç½®æ›)" -#: ../screen.c:7447 msgid " (vreplace)" msgstr " (仮想置æ›)" -#: ../screen.c:7449 msgid " Hebrew" msgstr " ヘブライ" -#: ../screen.c:7454 msgid " Arabic" msgstr " アラビア" -#: ../screen.c:7456 -msgid " (lang)" -msgstr " (言語)" - -#: ../screen.c:7459 msgid " (paste)" msgstr " (貼り付ã‘)" -#: ../screen.c:7469 msgid " VISUAL" msgstr " ビジュアル" -#: ../screen.c:7470 msgid " VISUAL LINE" msgstr " ビジュアル 行" -#: ../screen.c:7471 msgid " VISUAL BLOCK" msgstr " ビジュアル 矩形" -#: ../screen.c:7472 msgid " SELECT" msgstr " セレクト" -#: ../screen.c:7473 msgid " SELECT LINE" msgstr " 行指å‘é¸æŠž" -#: ../screen.c:7474 msgid " SELECT BLOCK" msgstr " çŸ©å½¢é¸æŠž" -#: ../screen.c:7486 ../screen.c:7541 msgid "recording" msgstr "記録ä¸" -#: ../search.c:487 #, c-format msgid "E383: Invalid search string: %s" msgstr "E383: ç„¡åŠ¹ãªæ¤œç´¢æ–‡å—列ã§ã™: %s" -#: ../search.c:832 #, c-format msgid "E384: search hit TOP without match for: %s" msgstr "E384: 上ã¾ã§æ¤œç´¢ã—ã¾ã—ãŸãŒè©²å½“箇所ã¯ã‚りã¾ã›ã‚“: %s" -#: ../search.c:835 #, c-format msgid "E385: search hit BOTTOM without match for: %s" msgstr "E385: 下ã¾ã§æ¤œç´¢ã—ã¾ã—ãŸãŒè©²å½“箇所ã¯ã‚りã¾ã›ã‚“: %s" -#: ../search.c:1200 msgid "E386: Expected '?' or '/' after ';'" msgstr "E386: ';' ã®ã‚ã¨ã«ã¯ '?' ã‹ '/' ãŒæœŸå¾…ã•れã¦ã„ã‚‹" -#: ../search.c:4085 msgid " (includes previously listed match)" msgstr " (å‰ã«åˆ—挙ã—ãŸè©²å½“箇所をå«ã‚€)" #. cursor at status line -#: ../search.c:4104 msgid "--- Included files " msgstr "--- インクルードã•れãŸãƒ•ァイル " -#: ../search.c:4106 msgid "not found " msgstr "見ã¤ã‹ã‚Šã¾ã›ã‚“ " -#: ../search.c:4107 msgid "in path ---\n" msgstr "パス㫠----\n" -#: ../search.c:4168 msgid " (Already listed)" msgstr " (æ—¢ã«åˆ—挙)" -#: ../search.c:4170 msgid " NOT FOUND" msgstr " 見ã¤ã‹ã‚Šã¾ã›ã‚“" -#: ../search.c:4211 #, c-format msgid "Scanning included file: %s" msgstr "インクルードã•れãŸãƒ•ァイルをスã‚ャンä¸: %s" -#: ../search.c:4216 #, c-format msgid "Searching included file %s" msgstr "インクルードã•れãŸãƒ•ァイルをスã‚ãƒ£ãƒ³ä¸ %s" -#: ../search.c:4405 msgid "E387: Match is on current line" msgstr "E387: ç¾åœ¨è¡Œã«è©²å½“ãŒã‚りã¾ã™" -#: ../search.c:4517 msgid "All included files were found" msgstr "å…¨ã¦ã®ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ã•れãŸãƒ•ァイルãŒè¦‹ã¤ã‹ã‚Šã¾ã—ãŸ" -#: ../search.c:4519 msgid "No included files" msgstr "インクルードファイルã¯ã‚りã¾ã›ã‚“" -#: ../search.c:4527 msgid "E388: Couldn't find definition" msgstr "E388: 定義を見ã¤ã‘られã¾ã›ã‚“" -#: ../search.c:4529 msgid "E389: Couldn't find pattern" msgstr "E389: パターンを見ã¤ã‘られã¾ã›ã‚“" -#: ../search.c:4668 msgid "Substitute " msgstr "Substitute " -#: ../search.c:4681 #, c-format msgid "" "\n" @@ -5259,99 +4985,131 @@ msgstr "" "# 最後㮠%s検索パターン:\n" "~" -#: ../spell.c:951 -msgid "E759: Format error in spell file" -msgstr "E759: ã‚¹ãƒšãƒ«ãƒ•ã‚¡ã‚¤ãƒ«ã®æ›¸å¼ã‚¨ãƒ©ãƒ¼ã§ã™" +msgid "E756: Spell checking is not enabled" +msgstr "E756: スペルãƒã‚§ãƒƒã‚¯ã¯ç„¡åŠ¹åŒ–ã•れã¦ã„ã¾ã™" + +#, c-format +msgid "Warning: Cannot find word list \"%s_%s.spl\" or \"%s_ascii.spl\"" +msgstr "" +"è¦å‘Š: å˜èªžãƒªã‚¹ãƒˆ \"%s_%s.spl\" ãŠã‚ˆã³ \"%s_ascii.spl\" ã¯è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" + +#, c-format +msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\"" +msgstr "" +"è¦å‘Š: å˜èªžãƒªã‚¹ãƒˆ \"%s.%s.spl\" ãŠã‚ˆã³ \"%s.ascii.spl\" ã¯è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" + +msgid "E797: SpellFileMissing autocommand deleted buffer" +msgstr "E797: autocommand ã® SpellFileMissing ãŒãƒãƒƒãƒ•ァを削除ã—ã¾ã—ãŸ" + +#, c-format +msgid "Warning: region %s not supported" +msgstr "è¦å‘Š9: %s ã¨ã„ã†ç¯„囲ã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“" + +msgid "Sorry, no suggestions" +msgstr "残念ã§ã™ãŒ, ä¿®æ£å€™è£œã¯ã‚りã¾ã›ã‚“" + +#, c-format +msgid "Sorry, only %ld suggestions" +msgstr "残念ã§ã™ãŒ, ä¿®æ£å€™è£œã¯ %ld 個ã—ã‹ã‚りã¾ã›ã‚“" + +#. for when 'cmdheight' > 1 +#. avoid more prompt +#, c-format +msgid "Change \"%.*s\" to:" +msgstr "\"%.*s\" を次ã¸å¤‰æ›:" + +#, c-format +msgid " < \"%.*s\"" +msgstr " < \"%.*s\"" + +msgid "E752: No previous spell replacement" +msgstr "E752: スペル置æ›ãŒã¾ã 実行ã•れã¦ã„ã¾ã›ã‚“" + +#, c-format +msgid "E753: Not found: %s" +msgstr "E753: 見ã¤ã‹ã‚Šã¾ã›ã‚“: %s" -#: ../spell.c:952 msgid "E758: Truncated spell file" msgstr "E758: スペルファイルãŒåˆ‡å–られã¦ã„るよã†ã§ã™" -#: ../spell.c:953 #, c-format msgid "Trailing text in %s line %d: %s" msgstr "%s (%d 行目) ã«ç¶šãテã‚スト: %s" -#: ../spell.c:954 #, c-format msgid "Affix name too long in %s line %d: %s" msgstr "%s (%d 行目) ã® affix åãŒé•·éŽãŽã¾ã™: %s" -#: ../spell.c:955 msgid "E761: Format error in affix file FOL, LOW or UPP" msgstr "" "E761: affixファイル㮠FOL, LOW ã‚‚ã—ã㯠UPP ã®ãƒ•ォーマットã«ã‚¨ãƒ©ãƒ¼ãŒã‚りã¾ã™" -#: ../spell.c:957 msgid "E762: Character in FOL, LOW or UPP is out of range" msgstr "E762: FOL, LOW ã‚‚ã—ã㯠UPP ã®æ–‡å—ãŒç¯„囲外ã§ã™" -#: ../spell.c:958 msgid "Compressing word tree..." msgstr "å˜èªžãƒ„リーを圧縮ã—ã¦ã„ã¾ã™..." -#: ../spell.c:1951 -msgid "E756: Spell checking is not enabled" -msgstr "E756: スペルãƒã‚§ãƒƒã‚¯ã¯ç„¡åŠ¹åŒ–ã•れã¦ã„ã¾ã™" - -#: ../spell.c:2249 -#, c-format -msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\"" -msgstr "" -"è¦å‘Š: å˜èªžãƒªã‚¹ãƒˆ \"%s.%s.spl\" ãŠã‚ˆã³ \"%s.ascii.spl\" ã¯è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" - -#: ../spell.c:2473 #, c-format msgid "Reading spell file \"%s\"" msgstr "スペルファイル \"%s\" ã‚’èªè¾¼ä¸" -#: ../spell.c:2496 msgid "E757: This does not look like a spell file" msgstr "E757: スペルファイルã§ã¯ãªã„よã†ã§ã™" -#: ../spell.c:2501 msgid "E771: Old spell file, needs to be updated" msgstr "E771: å¤ã„スペルファイルãªã®ã§, アップデートã—ã¦ãã ã•ã„" -#: ../spell.c:2504 msgid "E772: Spell file is for newer version of Vim" msgstr "E772: より新ã—ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã® Vim 用ã®ã‚¹ãƒšãƒ«ãƒ•ァイルã§ã™" -#: ../spell.c:2602 msgid "E770: Unsupported section in spell file" msgstr "E770: スペルファイルã«ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ãªã„セクションãŒã‚りã¾ã™" -#: ../spell.c:3762 #, c-format -msgid "Warning: region %s not supported" -msgstr "è¦å‘Š9: %s ã¨ã„ã†ç¯„囲ã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“" +msgid "E778: This does not look like a .sug file: %s" +msgstr "E778: .sug ファイルã§ã¯ãªã„よã†ã§ã™: %s" + +#, c-format +msgid "E779: Old .sug file, needs to be updated: %s" +msgstr "E779: å¤ã„ .sug ファイルãªã®ã§, アップデートã—ã¦ãã ã•ã„: %s" + +#, c-format +msgid "E780: .sug file is for newer version of Vim: %s" +msgstr "E780: より新ã—ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã® Vim 用㮠.sug ファイルã§ã™: %s" + +#, c-format +msgid "E781: .sug file doesn't match .spl file: %s" +msgstr "E781: .sug ファイル㌠.spl ファイルã¨ä¸€è‡´ã—ã¾ã›ã‚“: %s" + +#, c-format +msgid "E782: error while reading .sug file: %s" +msgstr "E782: .sug ファイルã®èªè¾¼ä¸ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ: %s" -#: ../spell.c:4550 #, c-format msgid "Reading affix file %s ..." msgstr "affix ファイル %s ã‚’èªè¾¼ä¸..." -#: ../spell.c:4589 ../spell.c:5635 ../spell.c:6140 #, c-format msgid "Conversion failure for word in %s line %d: %s" msgstr "%s (%d 行目) ã®å˜èªžã‚’変æ›ã§ãã¾ã›ã‚“ã§ã—ãŸ: %s" -#: ../spell.c:4630 ../spell.c:6170 #, c-format msgid "Conversion in %s not supported: from %s to %s" msgstr "%s å†…ã®æ¬¡ã®å¤‰æ›ã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“: %s ã‹ã‚‰ %s ã¸" -#: ../spell.c:4642 +#, c-format +msgid "Conversion in %s not supported" +msgstr "%s 内ã®å¤‰æ›ã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“" + #, c-format msgid "Invalid value for FLAG in %s line %d: %s" msgstr "%s 内㮠%d 行目㮠FLAG ã«ç„¡åйãªå€¤ãŒã‚りã¾ã™: %s" -#: ../spell.c:4655 #, c-format msgid "FLAG after using flags in %s line %d: %s" msgstr "%s 内㮠%d 行目ã«ãƒ•ラグã®äºŒé‡ä½¿ç”¨ãŒã‚りã¾ã™: %s" -#: ../spell.c:4723 #, c-format msgid "" "Defining COMPOUNDFORBIDFLAG after PFX item may give wrong results in %s line " @@ -5360,7 +5118,6 @@ msgstr "" "%s ã® %d 行目㮠PFX é …ç›®ã®å¾Œã® COMPOUNDFORBIDFLAG ã®å®šç¾©ã¯èª¤ã£ãŸçµæžœã‚’生ã˜ã‚‹" "ã“ã¨ãŒã‚りã¾ã™" -#: ../spell.c:4731 #, c-format msgid "" "Defining COMPOUNDPERMITFLAG after PFX item may give wrong results in %s line " @@ -5369,43 +5126,35 @@ msgstr "" "%s ã® %d 行目㮠PFX é …ç›®ã®å¾Œã® COMPOUNDPERMITFLAG ã®å®šç¾©ã¯èª¤ã£ãŸçµæžœã‚’生ã˜ã‚‹" "ã“ã¨ãŒã‚りã¾ã™" -#: ../spell.c:4747 #, c-format msgid "Wrong COMPOUNDRULES value in %s line %d: %s" msgstr "COMPOUNDRULES ã®å€¤ã«èª¤ã‚ŠãŒã‚りã¾ã™. ファイル %s ã® %d 行目: %s" -#: ../spell.c:4771 #, c-format msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s" msgstr "%s ã® %d 行目㮠COMPOUNDWORDMAX ã®å€¤ã«èª¤ã‚ŠãŒã‚りã¾ã™: %s" -#: ../spell.c:4777 #, c-format msgid "Wrong COMPOUNDMIN value in %s line %d: %s" msgstr "%s ã® %d 行目㮠COMPOUNDMIN ã®å€¤ã«èª¤ã‚ŠãŒã‚りã¾ã™: %s" -#: ../spell.c:4783 #, c-format msgid "Wrong COMPOUNDSYLMAX value in %s line %d: %s" msgstr "%s ã® %d 行目㮠COMPOUNDSYLMAX ã®å€¤ã«èª¤ã‚ŠãŒã‚りã¾ã™: %s" -#: ../spell.c:4795 #, c-format msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s" msgstr "%s ã® %d 行目㮠CHECKCOMPOUNDPATTERN ã®å€¤ã«èª¤ã‚ŠãŒã‚りã¾ã™: %s" -#: ../spell.c:4847 #, c-format msgid "Different combining flag in continued affix block in %s line %d: %s" msgstr "" "%s ã® %d 行目㮠連続 affix ブãƒãƒƒã‚¯ã®ãƒ•ラグã®çµ„åˆã›ã«é•ã„ãŒã‚りã¾ã™: %s" -#: ../spell.c:4850 #, c-format msgid "Duplicate affix in %s line %d: %s" msgstr "%s ã® %d 行目㫠é‡è¤‡ã—㟠affix を検出ã—ã¾ã—ãŸ: %s" -#: ../spell.c:4871 #, c-format msgid "" "Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST in %s " @@ -5414,308 +5163,206 @@ msgstr "" "%s ã® %d 行目㮠affix 㯠BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST " "ã«ä½¿ç”¨ã—ã¦ãã ã•ã„: %s" -#: ../spell.c:4893 #, c-format msgid "Expected Y or N in %s line %d: %s" msgstr "%s ã® %d 行目ã§ã¯ Y ã‹ N ãŒå¿…è¦ã§ã™: %s" -#: ../spell.c:4968 #, c-format msgid "Broken condition in %s line %d: %s" msgstr "%s ã® %d 行目㮠æ¡ä»¶ã¯å£Šã‚Œã¦ã„ã¾ã™: %s" -#: ../spell.c:5091 #, c-format msgid "Expected REP(SAL) count in %s line %d" msgstr "%s ã® %d 行目ã«ã¯ REP(SAL) ã®å›žæ•°ãŒå¿…è¦ã§ã™" -#: ../spell.c:5120 #, c-format msgid "Expected MAP count in %s line %d" msgstr "%s ã® %d 行目ã«ã¯ MAP ã®å›žæ•°ãŒå¿…è¦ã§ã™" -#: ../spell.c:5132 #, c-format msgid "Duplicate character in MAP in %s line %d" msgstr "%s ã® %d 行目㮠MAP ã«é‡è¤‡ã—ãŸæ–‡å—ãŒã‚りã¾ã™" -#: ../spell.c:5176 #, c-format msgid "Unrecognized or duplicate item in %s line %d: %s" msgstr "%s ã® %d 行目㫠èªè˜ã§ããªã„ã‹é‡è¤‡ã—ãŸé …ç›®ãŒã‚りã¾ã™: %s" -#: ../spell.c:5197 #, c-format msgid "Missing FOL/LOW/UPP line in %s" msgstr "%s 行目㫠FOL/LOW/UPP ãŒã‚りã¾ã›ã‚“" -#: ../spell.c:5220 msgid "COMPOUNDSYLMAX used without SYLLABLE" msgstr "SYLLABLE ãŒæŒ‡å®šã•れãªã„ COMPOUNDSYLMAX" -#: ../spell.c:5236 msgid "Too many postponed prefixes" msgstr "é…延後置åãŒå¤šéŽãŽã¾ã™" -#: ../spell.c:5238 msgid "Too many compound flags" msgstr "複åˆãƒ•ラグãŒå¤šéŽãŽã¾ã™" -#: ../spell.c:5240 msgid "Too many postponed prefixes and/or compound flags" msgstr "é…延後置å ã¨/ã‚‚ã—ã㯠複åˆãƒ•ラグãŒå¤šéŽãŽã¾ã™" -#: ../spell.c:5250 #, c-format msgid "Missing SOFO%s line in %s" msgstr "SOFO%s 行㌠%s ã«ã‚りã¾ã›ã‚“" -#: ../spell.c:5253 #, c-format msgid "Both SAL and SOFO lines in %s" msgstr "SAL行 㨠SOFO行 ㌠%s ã§ä¸¡æ–¹æŒ‡å®šã•れã¦ã„ã¾ã™" -#: ../spell.c:5331 #, c-format msgid "Flag is not a number in %s line %d: %s" msgstr "%s ã® %d è¡Œã® ãƒ•ãƒ©ã‚°ãŒæ•°å€¤ã§ã¯ã‚りã¾ã›ã‚“: %s" -#: ../spell.c:5334 #, c-format msgid "Illegal flag in %s line %d: %s" msgstr "%s ã® %d 行目㮠フラグãŒä¸æ£ã§ã™: %s" -#: ../spell.c:5493 ../spell.c:5501 #, c-format msgid "%s value differs from what is used in another .aff file" msgstr "値 %s ã¯ä»–ã® .aff ファイルã§ä½¿ç”¨ã•れãŸã®ã¨ç•°ãªã‚Šã¾ã™" -#: ../spell.c:5602 #, c-format msgid "Reading dictionary file %s ..." msgstr "辞書ファイル %s をスã‚ャンä¸..." -#: ../spell.c:5611 #, c-format msgid "E760: No word count in %s" msgstr "E760: %s ã«ã¯å˜èªžæ•°ãŒã‚りã¾ã›ã‚“" -#: ../spell.c:5669 #, c-format msgid "line %6d, word %6d - %s" msgstr "行 %6d, å˜èªž %6d - %s" -#: ../spell.c:5691 #, c-format msgid "Duplicate word in %s line %d: %s" msgstr "%s ã® %d 行目㧠é‡è¤‡å˜èªžãŒè¦‹ã¤ã‹ã‚Šã¾ã—ãŸ: %s" -#: ../spell.c:5694 #, c-format msgid "First duplicate word in %s line %d: %s" msgstr "é‡è¤‡ã®ã†ã¡æœ€åˆã®å˜èªžã¯ %s ã® %d 行目ã§ã™: %s" -#: ../spell.c:5746 #, c-format msgid "%d duplicate word(s) in %s" msgstr "%d 個ã®å˜èªžãŒè¦‹ã¤ã‹ã‚Šã¾ã—㟠(%s 内)" -#: ../spell.c:5748 #, c-format msgid "Ignored %d word(s) with non-ASCII characters in %s" msgstr "éžASCIIæ–‡å—ã‚’å«ã‚€ %d 個ã®å˜èªžã‚’無視ã—ã¾ã—㟠(%s 内)" -#: ../spell.c:6115 #, c-format msgid "Reading word file %s ..." msgstr "標準入力ã‹ã‚‰èªè¾¼ã¿ä¸ %s ..." -#: ../spell.c:6155 #, c-format msgid "Duplicate /encoding= line ignored in %s line %d: %s" msgstr "%s ã® %d 行目㮠é‡è¤‡ã—㟠/encoding= 行を無視ã—ã¾ã—ãŸ: %s" -#: ../spell.c:6159 #, c-format msgid "/encoding= line after word ignored in %s line %d: %s" msgstr "%s ã® %d 行目㮠å˜èªžã®å¾Œã® /encoding= 行を無視ã—ã¾ã—ãŸ: %s" -#: ../spell.c:6180 #, c-format msgid "Duplicate /regions= line ignored in %s line %d: %s" msgstr "%s ã® %d 行目㮠é‡è¤‡ã—㟠/regions= 行を無視ã—ã¾ã—ãŸ: %s" -#: ../spell.c:6185 #, c-format msgid "Too many regions in %s line %d: %s" msgstr "%s ã® %d 行目, 範囲指定ãŒå¤šéŽãŽã¾ã™: %s" -#: ../spell.c:6198 #, c-format msgid "/ line ignored in %s line %d: %s" msgstr "%s ã® %d 行目㮠é‡è¤‡ã—㟠/ 行を無視ã—ã¾ã—ãŸ: %s" -#: ../spell.c:6224 #, c-format msgid "Invalid region nr in %s line %d: %s" msgstr "%s ã® %d 行目 無効㪠nr é ˜åŸŸã§ã™: %s" -#: ../spell.c:6230 #, c-format msgid "Unrecognized flags in %s line %d: %s" msgstr "%s ã® %d 行目 èªè˜ä¸èƒ½ãªãƒ•ラグã§ã™: %s" -#: ../spell.c:6257 #, c-format msgid "Ignored %d words with non-ASCII characters" msgstr "éžASCIIæ–‡å—ã‚’å«ã‚€ %d 個ã®å˜èªžã‚’無視ã—ã¾ã—ãŸ" -#: ../spell.c:6656 +msgid "E845: Insufficient memory, word list will be incomplete" +msgstr "E845: メモリãŒè¶³ã‚Šãªã„ã®ã§ã€å˜èªžãƒªã‚¹ãƒˆã¯ä¸å®Œå…¨ã§ã™" + #, c-format msgid "Compressed %d of %d nodes; %d (%d%%) remaining" msgstr "ノード %d 個(å…¨ %d 個ä¸) を圧縮ã—ã¾ã—ãŸ; 残り %d (%d%%)" -#: ../spell.c:7340 msgid "Reading back spell file..." msgstr "スペルファイルを逆èªè¾¼ä¸" -#. Go through the trie of good words, soundfold each word and add it to -#. the soundfold trie. -#: ../spell.c:7357 +#. +#. * Go through the trie of good words, soundfold each word and add it to +#. * the soundfold trie. +#. msgid "Performing soundfolding..." msgstr "音声畳込ã¿ã‚’実行ä¸..." -#: ../spell.c:7368 #, c-format -msgid "Number of words after soundfolding: %<PRId64>" -msgstr "音声畳込ã¿å¾Œã®ç·å˜èªžæ•°: %<PRId64>" +msgid "Number of words after soundfolding: %ld" +msgstr "音声畳込ã¿å¾Œã®ç·å˜èªžæ•°: %ld" -#: ../spell.c:7476 #, c-format msgid "Total number of words: %d" msgstr "ç·å˜èªžæ•°: %d" -#: ../spell.c:7655 #, c-format msgid "Writing suggestion file %s ..." msgstr "ä¿®æ£å€™è£œãƒ•ァイル \"%s\" を書込ã¿ä¸..." -#: ../spell.c:7707 ../spell.c:7927 #, c-format msgid "Estimated runtime memory use: %d bytes" msgstr "推定メモリ使用é‡: %d ãƒã‚¤ãƒˆ" -#: ../spell.c:7820 msgid "E751: Output file name must not have region name" msgstr "E751: 出力ファイルåã«ã¯ç¯„囲åã‚’å«ã‚られã¾ã›ã‚“" -#: ../spell.c:7822 msgid "E754: Only up to 8 regions supported" msgstr "E754: 範囲㯠8 個ã¾ã§ã—ã‹ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“" -#: ../spell.c:7846 #, c-format msgid "E755: Invalid region in %s" msgstr "E755: 無効ãªç¯„囲ã§ã™: %s" -#: ../spell.c:7907 msgid "Warning: both compounding and NOBREAK specified" msgstr "è¦å‘Š: 複åˆãƒ•ラグ㨠NOBREAK ãŒä¸¡æ–¹ã¨ã‚‚指定ã•れã¾ã—ãŸ" -#: ../spell.c:7920 #, c-format msgid "Writing spell file %s ..." msgstr "スペルファイル %s を書込ã¿ä¸..." -#: ../spell.c:7925 msgid "Done!" msgstr "実行ã—ã¾ã—ãŸ!" -#: ../spell.c:8034 #, c-format -msgid "E765: 'spellfile' does not have %<PRId64> entries" -msgstr "E765: 'spellfile' ã«ã¯ %<PRId64> 個ã®ã‚¨ãƒ³ãƒˆãƒªã¯ã‚りã¾ã›ã‚“" +msgid "E765: 'spellfile' does not have %ld entries" +msgstr "E765: 'spellfile' ã«ã¯ %ld 個ã®ã‚¨ãƒ³ãƒˆãƒªã¯ã‚りã¾ã›ã‚“" -#: ../spell.c:8074 #, c-format msgid "Word '%.*s' removed from %s" msgstr "å˜èªž '%.*s' ㌠%s ã‹ã‚‰å‰Šé™¤ã•れã¾ã—ãŸ" -#: ../spell.c:8117 #, c-format msgid "Word '%.*s' added to %s" msgstr "å˜èªž '%.*s' ㌠%s ã¸è¿½åŠ ã•れã¾ã—ãŸ" -#: ../spell.c:8381 msgid "E763: Word characters differ between spell files" msgstr "E763: å˜èªžã®æ–‡å—ãŒã‚¹ãƒšãƒ«ãƒ•ァイルã¨ç•°ãªã‚Šã¾ã™" -#: ../spell.c:8684 -msgid "Sorry, no suggestions" -msgstr "残念ã§ã™ãŒ, ä¿®æ£å€™è£œã¯ã‚りã¾ã›ã‚“" - -#: ../spell.c:8687 -#, c-format -msgid "Sorry, only %<PRId64> suggestions" -msgstr "残念ã§ã™ãŒ, ä¿®æ£å€™è£œã¯ %<PRId64> 個ã—ã‹ã‚りã¾ã›ã‚“" - -#. for when 'cmdheight' > 1 -#. avoid more prompt -#: ../spell.c:8704 -#, c-format -msgid "Change \"%.*s\" to:" -msgstr "\"%.*s\" を次ã¸å¤‰æ›:" - -#: ../spell.c:8737 -#, c-format -msgid " < \"%.*s\"" -msgstr " < \"%.*s\"" - -#: ../spell.c:8882 -msgid "E752: No previous spell replacement" -msgstr "E752: スペル置æ›ãŒã¾ã 実行ã•れã¦ã„ã¾ã›ã‚“" - -#: ../spell.c:8925 -#, c-format -msgid "E753: Not found: %s" -msgstr "E753: 見ã¤ã‹ã‚Šã¾ã›ã‚“: %s" - -#: ../spell.c:9276 -#, c-format -msgid "E778: This does not look like a .sug file: %s" -msgstr "E778: .sug ファイルã§ã¯ãªã„よã†ã§ã™: %s" - -#: ../spell.c:9282 -#, c-format -msgid "E779: Old .sug file, needs to be updated: %s" -msgstr "E779: å¤ã„ .sug ファイルãªã®ã§, アップデートã—ã¦ãã ã•ã„: %s" - -#: ../spell.c:9286 -#, c-format -msgid "E780: .sug file is for newer version of Vim: %s" -msgstr "E780: より新ã—ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã® Vim 用㮠.sug ファイルã§ã™: %s" - -#: ../spell.c:9295 -#, c-format -msgid "E781: .sug file doesn't match .spl file: %s" -msgstr "E781: .sug ファイル㌠.spl ファイルã¨ä¸€è‡´ã—ã¾ã›ã‚“: %s" - -#: ../spell.c:9305 -#, c-format -msgid "E782: error while reading .sug file: %s" -msgstr "E782: .sug ファイルã®èªè¾¼ä¸ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ: %s" - #. This should have been checked when generating the .spl -#. file. -#: ../spell.c:11575 +#. * file. msgid "E783: duplicate char in MAP entry" msgstr "E783: MAP エントリã«é‡è¤‡æ–‡å—ãŒå˜åœ¨ã—ã¾ã™" -#: ../syntax.c:266 msgid "No Syntax items defined for this buffer" msgstr "ã“ã®ãƒãƒƒãƒ•ã‚¡ã«å®šç¾©ã•ã‚ŒãŸæ§‹æ–‡è¦ç´ ã¯ã‚りã¾ã›ã‚“" -#: ../syntax.c:3083 ../syntax.c:3104 ../syntax.c:3127 #, c-format msgid "E390: Illegal argument: %s" msgstr "E390: 䏿£ãªå¼•æ•°ã§ã™: %s" @@ -5723,28 +5370,22 @@ msgstr "E390: 䏿£ãªå¼•æ•°ã§ã™: %s" msgid "syntax iskeyword " msgstr "シンタックス用 iskeyword " -#: ../syntax.c:3299 #, c-format msgid "E391: No such syntax cluster: %s" msgstr "E391: ãã®ã‚ˆã†ãªæ§‹æ–‡ã‚¯ãƒ©ã‚¹ã‚¿ã¯ã‚りã¾ã›ã‚“: %s" -#: ../syntax.c:3433 msgid "syncing on C-style comments" msgstr "C言語風コメントã‹ã‚‰åŒæœŸä¸" -#: ../syntax.c:3439 msgid "no syncing" msgstr "éžåŒæœŸ" -#: ../syntax.c:3441 msgid "syncing starts " msgstr "åŒæœŸé–‹å§‹ " -#: ../syntax.c:3443 ../syntax.c:3506 msgid " lines before top line" msgstr " 行å‰(トップ行よりも)" -#: ../syntax.c:3448 msgid "" "\n" "--- Syntax sync items ---" @@ -5752,7 +5393,6 @@ msgstr "" "\n" "--- æ§‹æ–‡åŒæœŸè¦ç´ ---" -#: ../syntax.c:3452 msgid "" "\n" "syncing on items" @@ -5760,7 +5400,6 @@ msgstr "" "\n" "è¦ç´ 上ã§åŒæœŸä¸" -#: ../syntax.c:3457 msgid "" "\n" "--- Syntax items ---" @@ -5768,53 +5407,41 @@ msgstr "" "\n" "--- æ§‹æ–‡è¦ç´ ---" -#: ../syntax.c:3475 #, c-format msgid "E392: No such syntax cluster: %s" msgstr "E392: ãã®ã‚ˆã†ãªæ§‹æ–‡ã‚¯ãƒ©ã‚¹ã‚¿ã¯ã‚りã¾ã›ã‚“: %s" -#: ../syntax.c:3497 msgid "minimal " msgstr "minimal " -#: ../syntax.c:3503 msgid "maximal " msgstr "maximal " -#: ../syntax.c:3513 msgid "; match " msgstr "; 該当 " -#: ../syntax.c:3515 msgid " line breaks" msgstr " å€‹ã®æ”¹è¡Œ" -#: ../syntax.c:4076 msgid "E395: contains argument not accepted here" msgstr "E395: ã“ã®å ´æ‰€ã§ã¯å¼•æ•°containsã¯è¨±å¯ã•れã¦ã„ã¾ã›ã‚“" -#: ../syntax.c:4096 msgid "E844: invalid cchar value" msgstr "E844: 無効ãªccharã®å€¤ã§ã™" -#: ../syntax.c:4107 msgid "E393: group[t]here not accepted here" msgstr "E393: ã“ã“ã§ã¯ã‚°ãƒ«ãƒ¼ãƒ—ã¯è¨±å¯ã•れã¾ã›ã‚“" -#: ../syntax.c:4126 #, c-format msgid "E394: Didn't find region item for %s" msgstr "E394: %s ã®ç¯„囲è¦ç´ ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" -#: ../syntax.c:4188 msgid "E397: Filename required" msgstr "E397: ファイルåãŒå¿…è¦ã§ã™" -#: ../syntax.c:4221 msgid "E847: Too many syntax includes" msgstr "E847: æ§‹æ–‡ã®å–り込ã¿(include)ãŒå¤šéŽãŽã¾ã™" -#: ../syntax.c:4303 #, c-format msgid "E789: Missing ']': %s" msgstr "E789: ']' ãŒã‚りã¾ã›ã‚“: %s" @@ -5823,221 +5450,173 @@ msgstr "E789: ']' ãŒã‚りã¾ã›ã‚“: %s" msgid "E890: trailing char after ']': %s]%s" msgstr "E890: ']' ã®å¾Œã‚ã«ä½™åˆ†ãªæ–‡å—ãŒã‚りã¾ã™: %s]%s" -#: ../syntax.c:4531 #, c-format msgid "E398: Missing '=': %s" msgstr "E398: '=' ãŒã‚りã¾ã›ã‚“: %s" -#: ../syntax.c:4666 #, c-format msgid "E399: Not enough arguments: syntax region %s" msgstr "E399: 引数ãŒè¶³ã‚Šã¾ã›ã‚“: 構文範囲 %s" -#: ../syntax.c:4870 msgid "E848: Too many syntax clusters" msgstr "E848: 構文クラスタãŒå¤šéŽãŽã¾ã™" -#: ../syntax.c:4954 msgid "E400: No cluster specified" msgstr "E400: ã‚¯ãƒ©ã‚¹ã‚¿ãŒæŒ‡å®šã•れã¦ã„ã¾ã›ã‚“" -#. end delimiter not found -#: ../syntax.c:4986 #, c-format msgid "E401: Pattern delimiter not found: %s" msgstr "E401: パターン区切りãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“: %s" -#: ../syntax.c:5049 #, c-format msgid "E402: Garbage after pattern: %s" msgstr "E402: パターンã®ã‚ã¨ã«ã‚´ãƒŸãŒã‚りã¾ã™: %s" -#: ../syntax.c:5120 msgid "E403: syntax sync: line continuations pattern specified twice" msgstr "E403: æ§‹æ–‡åŒæœŸ: 連続行パターンãŒ2度指定ã•れã¾ã—ãŸ" -#: ../syntax.c:5169 #, c-format msgid "E404: Illegal arguments: %s" msgstr "E404: 䏿£ãªå¼•æ•°ã§ã™: %s" -#: ../syntax.c:5217 #, c-format msgid "E405: Missing equal sign: %s" msgstr "E405: ç‰å·ãŒã‚りã¾ã›ã‚“: %s" -#: ../syntax.c:5222 #, c-format msgid "E406: Empty argument: %s" msgstr "E406: 空ã®å¼•æ•°: %s" -#: ../syntax.c:5240 #, c-format msgid "E407: %s not allowed here" msgstr "E407: %s ã¯ã‚³ã‚³ã§ã¯è¨±å¯ã•れã¦ã„ã¾ã›ã‚“" -#: ../syntax.c:5246 #, c-format msgid "E408: %s must be first in contains list" msgstr "E408: %s ã¯å†…容リストã®å…ˆé ã§ãªã‘れã°ãªã‚‰ãªã„" -#: ../syntax.c:5304 #, c-format msgid "E409: Unknown group name: %s" msgstr "E409: 未知ã®ã‚°ãƒ«ãƒ¼ãƒ—å: %s" -#: ../syntax.c:5512 #, c-format msgid "E410: Invalid :syntax subcommand: %s" msgstr "E410: 無効㪠:syntax ã®ã‚µãƒ–コマンド: %s" -#: ../syntax.c:5854 msgid "" " TOTAL COUNT MATCH SLOWEST AVERAGE NAME PATTERN" msgstr "" " TOTAL COUNT MATCH SLOWEST AVERAGE NAME PATTERN" -#: ../syntax.c:6146 msgid "E679: recursive loop loading syncolor.vim" msgstr "E679: syncolor.vim ã®å†å¸°å‘¼ã³å‡ºã—を検出ã—ã¾ã—ãŸ" -#: ../syntax.c:6256 #, c-format msgid "E411: highlight group not found: %s" msgstr "E411: ãƒã‚¤ãƒ©ã‚¤ãƒˆã‚°ãƒ«ãƒ¼ãƒ—ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“: %s" -#: ../syntax.c:6278 #, c-format msgid "E412: Not enough arguments: \":highlight link %s\"" msgstr "E412: 引数ãŒå……分ã§ã¯ãªã„: \":highlight link %s\"" -#: ../syntax.c:6284 #, c-format msgid "E413: Too many arguments: \":highlight link %s\"" msgstr "E413: 引数ãŒå¤šéŽãŽã¾ã™: \":highlight link %s\"" -#: ../syntax.c:6302 msgid "E414: group has settings, highlight link ignored" msgstr "E414: グループãŒè¨å®šã•れã¦ã„ã‚‹ã®ã§ãƒã‚¤ãƒ©ã‚¤ãƒˆãƒªãƒ³ã‚¯ã¯ç„¡è¦–ã•れã¾ã™" -#: ../syntax.c:6367 #, c-format msgid "E415: unexpected equal sign: %s" msgstr "E415: 予期ã›ã¬ç‰å·ã§ã™: %s" -#: ../syntax.c:6395 #, c-format msgid "E416: missing equal sign: %s" msgstr "E416: ç‰å·ãŒã‚りã¾ã›ã‚“: %s" -#: ../syntax.c:6418 #, c-format msgid "E417: missing argument: %s" msgstr "E417: 引数ãŒã‚りã¾ã›ã‚“: %s" -#: ../syntax.c:6446 #, c-format msgid "E418: Illegal value: %s" msgstr "E418: 䏿£ãªå€¤ã§ã™: %s" -#: ../syntax.c:6496 msgid "E419: FG color unknown" msgstr "E419: 未知ã®å‰æ™¯è‰²ã§ã™" -#: ../syntax.c:6504 msgid "E420: BG color unknown" msgstr "E420: 未知ã®èƒŒæ™¯è‰²ã§ã™" -#: ../syntax.c:6564 #, c-format msgid "E421: Color name or number not recognized: %s" msgstr "E421: カラーåや番å·ã‚’èªè˜ã§ãã¾ã›ã‚“: %s" -#: ../syntax.c:6714 #, c-format msgid "E422: terminal code too long: %s" msgstr "E422: 終端コードãŒé•·éŽãŽã¾ã™: %s" -#: ../syntax.c:6753 #, c-format msgid "E423: Illegal argument: %s" msgstr "E423: 䏿£ãªå¼•æ•°ã§ã™: %s" -#: ../syntax.c:6925 msgid "E424: Too many different highlighting attributes in use" msgstr "E424: 多ãã®ç•°ãªã‚‹ãƒã‚¤ãƒ©ã‚¤ãƒˆå±žæ€§ãŒä½¿ã‚れéŽãŽã¦ã„ã¾ã™" -#: ../syntax.c:7427 msgid "E669: Unprintable character in group name" msgstr "E669: グループåã«å°åˆ·ä¸å¯èƒ½ãªæ–‡å—ãŒã‚りã¾ã™" -#: ../syntax.c:7434 msgid "W18: Invalid character in group name" msgstr "W18: グループåã«ä¸æ£ãªæ–‡å—ãŒã‚りã¾ã™" -#: ../syntax.c:7448 msgid "E849: Too many highlight and syntax groups" msgstr "E849: ãƒã‚¤ãƒ©ã‚¤ãƒˆã¨æ§‹æ–‡ã‚°ãƒ«ãƒ¼ãƒ—ãŒå¤šéŽãŽã¾ã™" -#: ../tag.c:104 msgid "E555: at bottom of tag stack" msgstr "E555: ã‚¿ã‚°ã‚¹ã‚¿ãƒƒã‚¯ã®æœ«å°¾ã§ã™" -#: ../tag.c:105 msgid "E556: at top of tag stack" msgstr "E556: タグスタックã®å…ˆé ã§ã™" -#: ../tag.c:380 msgid "E425: Cannot go before first matching tag" msgstr "E425: 最åˆã®è©²å½“ã‚¿ã‚°ã‚’è¶…ãˆã¦æˆ»ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" -#: ../tag.c:504 #, c-format msgid "E426: tag not found: %s" msgstr "E426: ã‚¿ã‚°ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“: %s" -#: ../tag.c:528 msgid " # pri kind tag" msgstr " # pri kind tag" -#: ../tag.c:531 msgid "file\n" msgstr "ファイル\n" -#: ../tag.c:829 msgid "E427: There is only one matching tag" msgstr "E427: 該当タグãŒ1ã¤ã ã‘ã—ã‹ã‚りã¾ã›ã‚“" -#: ../tag.c:831 msgid "E428: Cannot go beyond last matching tag" msgstr "E428: 最後ã«è©²å½“ã™ã‚‹ã‚¿ã‚°ã‚’è¶…ãˆã¦é€²ã‚€ã“ã¨ã¯ã§ãã¾ã›ã‚“" -#: ../tag.c:850 #, c-format msgid "File \"%s\" does not exist" msgstr "ファイル \"%s\" ãŒã‚りã¾ã›ã‚“" #. Give an indication of the number of matching tags -#: ../tag.c:859 #, c-format msgid "tag %d of %d%s" msgstr "ã‚¿ã‚° %d (å…¨%d%s)" -#: ../tag.c:862 msgid " or more" msgstr " ã‹ãれ以上" -#: ../tag.c:864 msgid " Using tag with different case!" msgstr " ã‚¿ã‚°ã‚’ç•°ãªã‚‹caseã§ä½¿ç”¨ã—ã¾ã™!" -#: ../tag.c:909 #, c-format msgid "E429: File \"%s\" does not exist" msgstr "E429: ファイル \"%s\" ãŒã‚りã¾ã›ã‚“" #. Highlight title -#: ../tag.c:960 msgid "" "\n" " # TO tag FROM line in file/text" @@ -6045,79 +5624,66 @@ msgstr "" "\n" " # TO ã‚¿ã‚° FROM 行 in file/text" -#: ../tag.c:1303 #, c-format msgid "Searching tags file %s" msgstr "タグファイル %s を検索ä¸" -#: ../tag.c:1545 +#, c-format +msgid "E430: Tag file path truncated for %s\n" +msgstr "E430: タグファイルã®ãƒ‘ス㌠%s ã«åˆ‡ã‚Šæ¨ã¦ã‚‰ã‚Œã¾ã—ãŸ\n" + msgid "Ignoring long line in tags file" msgstr "タグファイル内ã®é•·ã„行を無視ã—ã¾ã™" -#: ../tag.c:1915 #, c-format msgid "E431: Format error in tags file \"%s\"" msgstr "E431: タグファイル \"%s\" ã®ãƒ•ォーマットã«ã‚¨ãƒ©ãƒ¼ãŒã‚りã¾ã™" -#: ../tag.c:1917 #, c-format -msgid "Before byte %<PRId64>" -msgstr "ç›´å‰ã® %<PRId64> ãƒã‚¤ãƒˆ" +msgid "Before byte %ld" +msgstr "ç›´å‰ã® %ld ãƒã‚¤ãƒˆ" -#: ../tag.c:1929 #, c-format msgid "E432: Tags file not sorted: %s" msgstr "E432: タグファイルãŒã‚½ãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“: %s" #. never opened any tags file -#: ../tag.c:1960 msgid "E433: No tags file" msgstr "E433: タグファイルãŒã‚りã¾ã›ã‚“" -#: ../tag.c:2536 msgid "E434: Can't find tag pattern" msgstr "E434: タグパターンを見ã¤ã‘られã¾ã›ã‚“" -#: ../tag.c:2544 msgid "E435: Couldn't find tag, just guessing!" msgstr "E435: タグを見ã¤ã‘られãªã„ã®ã§å˜ã«æŽ¨æ¸¬ã—ã¾ã™!" -#: ../tag.c:2797 #, c-format msgid "Duplicate field name: %s" msgstr "é‡è¤‡ã—ãŸãƒ•ィールドå: %s" -#: ../term.c:1442 msgid "' not known. Available builtin terminals are:" msgstr "' ã¯æœªçŸ¥ã§ã™. ç¾è¡Œã®çµ„ã¿è¾¼ã¿ç«¯æœ«ã¯æ¬¡ã®ã¨ãŠã‚Šã§ã™:" -#: ../term.c:1463 msgid "defaulting to '" msgstr "çœç•¥å€¤ã‚’次ã®ã‚ˆã†ã«è¨å®šã—ã¾ã™ '" -#: ../term.c:1731 msgid "E557: Cannot open termcap file" msgstr "E557: termcapファイルを開ã‘ã¾ã›ã‚“" -#: ../term.c:1735 msgid "E558: Terminal entry not found in terminfo" msgstr "E558: terminfoã«ç«¯æœ«ã‚¨ãƒ³ãƒˆãƒªã‚’見ã¤ã‘られã¾ã›ã‚“" -#: ../term.c:1737 msgid "E559: Terminal entry not found in termcap" msgstr "E559: termcapã«ç«¯æœ«ã‚¨ãƒ³ãƒˆãƒªã‚’見ã¤ã‘られã¾ã›ã‚“" -#: ../term.c:1878 #, c-format msgid "E436: No \"%s\" entry in termcap" msgstr "E436: termcapã« \"%s\" ã®ã‚¨ãƒ³ãƒˆãƒªãŒã‚りã¾ã›ã‚“" -#: ../term.c:2249 msgid "E437: terminal capability \"cm\" required" msgstr "E437: 端末㫠\"cm\" 機能ãŒå¿…è¦ã§ã™" #. Highlight title -#: ../term.c:4376 msgid "" "\n" "--- Terminal keys ---" @@ -6125,168 +5691,347 @@ msgstr "" "\n" "--- 端末ã‚ー ---" -#: ../ui.c:481 +msgid "Cannot open $VIMRUNTIME/rgb.txt" +msgstr "$VIMRUNTIME/rgb.txtã‚’é–‹ã‘ã¾ã›ã‚“" + +msgid "new shell started\n" +msgstr "æ–°ã—ã„シェルを起動ã—ã¾ã™\n" + msgid "Vim: Error reading input, exiting...\n" msgstr "Vim: 入力をèªè¾¼ã¿ä¸ã®ã‚¨ãƒ©ãƒ¼ã«ã‚ˆã‚Šçµ‚了ã—ã¾ã™...\n" +msgid "Used CUT_BUFFER0 instead of empty selection" +msgstr "空ã®é¸æŠžé ˜åŸŸã®ã‹ã‚りã«CUT_BUFFER0ãŒä½¿ç”¨ã•れã¾ã—ãŸ" + #. This happens when the FileChangedRO autocommand changes the #. * file in a way it becomes shorter. -#: ../undo.c:379 msgid "E881: Line count changed unexpectedly" msgstr "E881: 予期ã›ãšè¡Œã‚«ã‚¦ãƒ³ãƒˆãŒå¤‰ã‚りã¾ã—ãŸ" -#: ../undo.c:627 +#. must display the prompt +msgid "No undo possible; continue anyway" +msgstr "å¯èƒ½ãªã‚¢ãƒ³ãƒ‰ã‚¥ã¯ã‚りã¾ã›ã‚“: ã¨ã‚Šã‚ãˆãšç¶šã‘ã¾ã™" + #, c-format msgid "E828: Cannot open undo file for writing: %s" msgstr "E828: 書込ã¿ç”¨ã«ã‚¢ãƒ³ãƒ‰ã‚¥ãƒ•ァイルを開ã‘ã¾ã›ã‚“: %s" -#: ../undo.c:717 #, c-format msgid "E825: Corrupted undo file (%s): %s" msgstr "E825: アンドゥファイルãŒå£Šã‚Œã¦ã„ã¾ã™ (%s): %s" -#: ../undo.c:1039 msgid "Cannot write undo file in any directory in 'undodir'" msgstr "'undodir'ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ã‚¢ãƒ³ãƒ‰ã‚¥ãƒ•ァイルを書ãè¾¼ã‚ã¾ã›ã‚“" -#: ../undo.c:1074 #, c-format msgid "Will not overwrite with undo file, cannot read: %s" msgstr "アンドゥファイルã¨ã—ã¦èªã¿è¾¼ã‚ãªã„ã®ã§ä¸Šæ›¸ãã—ã¾ã›ã‚“: %s" -#: ../undo.c:1092 #, c-format msgid "Will not overwrite, this is not an undo file: %s" msgstr "アンドゥファイルã§ã¯ãªã„ã®ã§ä¸Šæ›¸ãã—ã¾ã›ã‚“: %s" -#: ../undo.c:1108 msgid "Skipping undo file write, nothing to undo" msgstr "対象ãŒãªã„ã®ã§ã‚¢ãƒ³ãƒ‰ã‚¥ãƒ•ã‚¡ã‚¤ãƒ«ã®æ›¸ãè¾¼ã¿ã‚’スã‚ップã—ã¾ã™" -#: ../undo.c:1121 #, c-format msgid "Writing undo file: %s" msgstr "アンドゥファイル書ãè¾¼ã¿ä¸: %s" -#: ../undo.c:1213 #, c-format msgid "E829: write error in undo file: %s" msgstr "E829: ã‚¢ãƒ³ãƒ‰ã‚¥ãƒ•ã‚¡ã‚¤ãƒ«ã®æ›¸ãè¾¼ã¿ã‚¨ãƒ©ãƒ¼ã§ã™: %s" -#: ../undo.c:1280 #, c-format msgid "Not reading undo file, owner differs: %s" msgstr "オーナーãŒç•°ãªã‚‹ã®ã§ã‚¢ãƒ³ãƒ‰ã‚¥ãƒ•ァイルをèªã¿è¾¼ã¿ã¾ã›ã‚“: %s" -#: ../undo.c:1292 #, c-format msgid "Reading undo file: %s" msgstr "アンドゥファイルèªè¾¼ä¸: %s" -#: ../undo.c:1299 #, c-format msgid "E822: Cannot open undo file for reading: %s" msgstr "E822: アンドゥファイルをèªè¾¼ç”¨ã¨ã—ã¦é–‹ã‘ã¾ã›ã‚“: %s" -#: ../undo.c:1308 #, c-format msgid "E823: Not an undo file: %s" msgstr "E823: アンドゥファイルã§ã¯ã‚りã¾ã›ã‚“: %s" -#: ../undo.c:1313 +#, c-format +msgid "E832: Non-encrypted file has encrypted undo file: %s" +msgstr "E832: éžæš—å·åŒ–ãƒ•ã‚¡ã‚¤ãƒ«ãŒæš—å·åŒ–ã•れãŸã‚¢ãƒ³ãƒ‰ã‚¥ãƒ•ァイルを使ã£ã¦ã¾ã™: %s" + +#, c-format +msgid "E826: Undo file decryption failed: %s" +msgstr "E826: æš—å·åŒ–ã•れãŸã‚¢ãƒ³ãƒ‰ã‚¥ãƒ•ァイルã®è§£èªã«å¤±æ•—ã—ã¾ã—ãŸ: %s" + +#, c-format +msgid "E827: Undo file is encrypted: %s" +msgstr "E827: ã‚¢ãƒ³ãƒ‰ã‚¥ãƒ•ã‚¡ã‚¤ãƒ«ãŒæš—å·åŒ–ã•れã¦ã„ã¾ã™: %s" + #, c-format msgid "E824: Incompatible undo file: %s" msgstr "E824: äº’æ›æ€§ã®ç„¡ã„アンドゥファイルã§ã™: %s" -#: ../undo.c:1328 msgid "File contents changed, cannot use undo info" msgstr "ファイルã®å†…容ãŒå¤‰ã‚ã£ã¦ã„ã‚‹ãŸã‚ã€ã‚¢ãƒ³ãƒ‰ã‚¥æƒ…å ±ã‚’åˆ©ç”¨ã§ãã¾ã›ã‚“" -#: ../undo.c:1497 #, c-format msgid "Finished reading undo file %s" msgstr "アンドゥファイル %s ã®å–込を完了" -#: ../undo.c:1586 ../undo.c:1812 msgid "Already at oldest change" msgstr "æ—¢ã«ä¸€ç•ªå¤ã„変更ã§ã™" -#: ../undo.c:1597 ../undo.c:1814 msgid "Already at newest change" msgstr "æ—¢ã«ä¸€ç•ªæ–°ã—ã„変更ã§ã™" -#: ../undo.c:1806 #, c-format -msgid "E830: Undo number %<PRId64> not found" -msgstr "E830: ã‚¢ãƒ³ãƒ‰ã‚¥ç•ªå· %<PRId64> ã¯è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" +msgid "E830: Undo number %ld not found" +msgstr "E830: ã‚¢ãƒ³ãƒ‰ã‚¥ç•ªå· %ld ã¯è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" -#: ../undo.c:1979 msgid "E438: u_undo: line numbers wrong" msgstr "E438: u_undo: 行番å·ãŒé–“é•ã£ã¦ã„ã¾ã™" -#: ../undo.c:2183 msgid "more line" msgstr "行 è¿½åŠ ã—ã¾ã—ãŸ" -#: ../undo.c:2185 msgid "more lines" msgstr "行 è¿½åŠ ã—ã¾ã—ãŸ" -#: ../undo.c:2187 msgid "line less" msgstr "行 削除ã—ã¾ã—ãŸ" -#: ../undo.c:2189 msgid "fewer lines" msgstr "行 削除ã—ã¾ã—ãŸ" -#: ../undo.c:2193 msgid "change" msgstr "箇所変更ã—ã¾ã—ãŸ" -#: ../undo.c:2195 msgid "changes" msgstr "箇所変更ã—ã¾ã—ãŸ" -#: ../undo.c:2225 #, c-format -msgid "%<PRId64> %s; %s #%<PRId64> %s" -msgstr "%<PRId64> %s; %s #%<PRId64> %s" +msgid "%ld %s; %s #%ld %s" +msgstr "%ld %s; %s #%ld %s" -#: ../undo.c:2228 msgid "before" msgstr "剿–¹" -#: ../undo.c:2228 msgid "after" msgstr "後方" -#: ../undo.c:2325 msgid "Nothing to undo" msgstr "アンドゥ対象ãŒã‚りã¾ã›ã‚“" -#: ../undo.c:2330 msgid "number changes when saved" msgstr "通番 変更数 変更時期 ä¿å˜æ¸ˆ" -#: ../undo.c:2360 #, c-format -msgid "%<PRId64> seconds ago" -msgstr "%<PRId64> 秒経éŽã—ã¦ã„ã¾ã™" +msgid "%ld seconds ago" +msgstr "%ld 秒経éŽã—ã¦ã„ã¾ã™" -#: ../undo.c:2372 msgid "E790: undojoin is not allowed after undo" msgstr "E790: undo ã®ç›´å¾Œã« undojoin ã¯ã§ãã¾ã›ã‚“" -#: ../undo.c:2466 msgid "E439: undo list corrupt" msgstr "E439: アンドゥリストãŒå£Šã‚Œã¦ã„ã¾ã™" -#: ../undo.c:2495 msgid "E440: undo line missing" msgstr "E440: アンドゥ行ãŒã‚りã¾ã›ã‚“" -#: ../version.c:600 +#, c-format +msgid "E122: Function %s already exists, add ! to replace it" +msgstr "E122: 関数 %s ã¯å®šç¾©æ¸ˆã§ã™, å†å®šç¾©ã™ã‚‹ã«ã¯ ! ã‚’è¿½åŠ ã—ã¦ãã ã•ã„" + +msgid "E717: Dictionary entry already exists" +msgstr "E717: 辞書型内ã«ã‚¨ãƒ³ãƒˆãƒªãŒæ—¢ã«å˜åœ¨ã—ã¾ã™" + +msgid "E718: Funcref required" +msgstr "E718: 関数å‚ç…§åž‹ãŒè¦æ±‚ã•れã¾ã™" + +#, c-format +msgid "E130: Unknown function: %s" +msgstr "E130: 未知ã®é–¢æ•°ã§ã™: %s" + +#, c-format +msgid "E125: Illegal argument: %s" +msgstr "E125: 䏿£ãªå¼•æ•°ã§ã™: %s" + +#, c-format +msgid "E853: Duplicate argument name: %s" +msgstr "E853: 引数åãŒé‡è¤‡ã—ã¦ã„ã¾ã™: %s" + +#, c-format +msgid "E740: Too many arguments for function %s" +msgstr "E740: 関数ã®å¼•æ•°ãŒå¤šéŽãŽã¾ã™: %s" + +#, c-format +msgid "E116: Invalid arguments for function %s" +msgstr "E116: 関数ã®ç„¡åйãªå¼•æ•°ã§ã™: %s" + +msgid "E132: Function call depth is higher than 'maxfuncdepth'" +msgstr "E132: 関数呼出ã®å…¥ã‚Œå数㌠'maxfuncdepth' ã‚’è¶…ãˆã¾ã—ãŸ" + +#, c-format +msgid "calling %s" +msgstr "%s を実行ä¸ã§ã™" + +#, c-format +msgid "%s aborted" +msgstr "%s ãŒä¸æ–ã•れã¾ã—ãŸ" + +#, c-format +msgid "%s returning #%ld" +msgstr "%s ㌠#%ld ã‚’è¿”ã—ã¾ã—ãŸ" + +#, c-format +msgid "%s returning %s" +msgstr "%s ㌠%s ã‚’è¿”ã—ã¾ã—ãŸ" + +msgid "E699: Too many arguments" +msgstr "E699: 引数ãŒå¤šéŽãŽã¾ã™" + +#, c-format +msgid "E117: Unknown function: %s" +msgstr "E117: 未知ã®é–¢æ•°ã§ã™: %s" + +#, c-format +msgid "E933: Function was deleted: %s" +msgstr "E933: 関数ã¯å‰Šé™¤ã•れã¾ã—ãŸ: %s" + +#, c-format +msgid "E119: Not enough arguments for function: %s" +msgstr "E119: 関数ã®å¼•æ•°ãŒè¶³ã‚Šã¾ã›ã‚“: %s" + +#, c-format +msgid "E120: Using <SID> not in a script context: %s" +msgstr "E120: スクリプト以外ã§<SID>ãŒä½¿ã‚れã¾ã—ãŸ: %s" + +#, c-format +msgid "E725: Calling dict function without Dictionary: %s" +msgstr "E725: 辞書用関数ãŒå‘¼ã°ã‚Œã¾ã—ãŸãŒè¾žæ›¸ãŒã‚りã¾ã›ã‚“: %s" + +msgid "E129: Function name required" +msgstr "E129: 関数åãŒè¦æ±‚ã•れã¾ã™" + +#, c-format +msgid "E128: Function name must start with a capital or \"s:\": %s" +msgstr "E128: 関数åã¯å¤§æ–‡å—ã‹ \"s:\" ã§å§‹ã¾ã‚‰ãªã‘れã°ãªã‚Šã¾ã›ã‚“: %s" + +#, c-format +msgid "E884: Function name cannot contain a colon: %s" +msgstr "E884: 関数åã«ã¯ã‚³ãƒãƒ³ã¯å«ã‚られã¾ã›ã‚“: %s" + +#, c-format +msgid "E123: Undefined function: %s" +msgstr "E123: 未定義ã®é–¢æ•°ã§ã™: %s" + +#, c-format +msgid "E124: Missing '(': %s" +msgstr "E124: '(' ãŒã‚りã¾ã›ã‚“: %s" + +msgid "E862: Cannot use g: here" +msgstr "E862: ã“ã“ã§ã¯ g: ã¯ä½¿ãˆã¾ã›ã‚“" + +#, c-format +msgid "E932: Closure function should not be at top level: %s" +msgstr "E932: クãƒãƒ¼ã‚¸ãƒ£ãƒ¼é–¢æ•°ã¯ãƒˆãƒƒãƒ—レベルã«è¨˜è¿°ã§ãã¾ã›ã‚“: %s" + +msgid "E126: Missing :endfunction" +msgstr "E126: :endfunction ãŒã‚りã¾ã›ã‚“" + +#, c-format +msgid "E707: Function name conflicts with variable: %s" +msgstr "E707: 関数åãŒå¤‰æ•°åã¨è¡çªã—ã¾ã™: %s" + +#, c-format +msgid "E127: Cannot redefine function %s: It is in use" +msgstr "E127: 関数 %s ã‚’å†å®šç¾©ã§ãã¾ã›ã‚“: 使用ä¸ã§ã™" + +#, c-format +msgid "E746: Function name does not match script file name: %s" +msgstr "E746: 関数åãŒã‚¹ã‚¯ãƒªãƒ—トã®ãƒ•ァイルåã¨ä¸€è‡´ã—ã¾ã›ã‚“: %s" + +#, c-format +msgid "E131: Cannot delete function %s: It is in use" +msgstr "E131: 関数 %s を削除ã§ãã¾ã›ã‚“: 使用ä¸ã§ã™" + +msgid "E133: :return not inside a function" +msgstr "E133: 関数外㫠:return ãŒã‚りã¾ã—ãŸ" + +#, c-format +msgid "E107: Missing parentheses: %s" +msgstr "E107: カッコ '(' ãŒã‚りã¾ã›ã‚“: %s" + +#. Only MS VC 4.1 and earlier can do Win32s +msgid "" +"\n" +"MS-Windows 16/32-bit GUI version" +msgstr "" +"\n" +"MS-Windows 16/32 ビット GUI 版" + +msgid "" +"\n" +"MS-Windows 64-bit GUI version" +msgstr "" +"\n" +"MS-Windows 64 ビット GUI 版" + +msgid "" +"\n" +"MS-Windows 32-bit GUI version" +msgstr "" +"\n" +"MS-Windows 32 ビット GUI 版" + +msgid " with OLE support" +msgstr " with OLE サãƒãƒ¼ãƒˆ" + +msgid "" +"\n" +"MS-Windows 64-bit console version" +msgstr "" +"\n" +"MS-Windows 64 ビット コンソール 版" + +msgid "" +"\n" +"MS-Windows 32-bit console version" +msgstr "" +"\n" +"MS-Windows 32 ビット コンソール 版" + +msgid "" +"\n" +"MacOS X (unix) version" +msgstr "" +"\n" +"MacOS X (unix) 版" + +msgid "" +"\n" +"MacOS X version" +msgstr "" +"\n" +"MacOS X 版" + +msgid "" +"\n" +"MacOS version" +msgstr "" +"\n" +"MacOS 版" + +msgid "" +"\n" +"OpenVMS version" +msgstr "" +"\n" +"OpenVMS 版" + msgid "" "\n" "Included patches: " @@ -6294,7 +6039,6 @@ msgstr "" "\n" "é©ç”¨æ¸ˆãƒ‘ッãƒ: " -#: ../version.c:627 msgid "" "\n" "Extra patches: " @@ -6302,11 +6046,9 @@ msgstr "" "\n" "è¿½åŠ æ‹¡å¼µãƒ‘ãƒƒãƒ: " -#: ../version.c:639 ../version.c:864 msgid "Modified by " msgstr "Modified by " -#: ../version.c:646 msgid "" "\n" "Compiled " @@ -6314,11 +6056,9 @@ msgstr "" "\n" "Compiled " -#: ../version.c:649 msgid "by " msgstr "by " -#: ../version.c:660 msgid "" "\n" "Huge version " @@ -6326,1886 +6066,926 @@ msgstr "" "\n" "Huge 版 " -#: ../version.c:661 +msgid "" +"\n" +"Big version " +msgstr "" +"\n" +"Big 版 " + +msgid "" +"\n" +"Normal version " +msgstr "" +"\n" +"通常 版 " + +msgid "" +"\n" +"Small version " +msgstr "" +"\n" +"Small 版 " + +msgid "" +"\n" +"Tiny version " +msgstr "" +"\n" +"Tiny 版 " + msgid "without GUI." msgstr "without GUI." -#: ../version.c:662 +msgid "with GTK3 GUI." +msgstr "with GTK3 GUI." + +msgid "with GTK2-GNOME GUI." +msgstr "with GTK2-GNOME GUI." + +msgid "with GTK2 GUI." +msgstr "with GTK2 GUI." + +msgid "with X11-Motif GUI." +msgstr "with X11-Motif GUI." + +msgid "with X11-neXtaw GUI." +msgstr "with X11-neXtaw GUI." + +msgid "with X11-Athena GUI." +msgstr "with X11-Athena GUI." + +msgid "with Photon GUI." +msgstr "with Photon GUI." + +msgid "with GUI." +msgstr "with GUI." + +msgid "with Carbon GUI." +msgstr "with Carbon GUI." + +msgid "with Cocoa GUI." +msgstr "with Cocoa GUI." + +msgid "with (classic) GUI." +msgstr "with (クラシック) GUI." + msgid " Features included (+) or not (-):\n" msgstr " 機能ã®ä¸€è¦§ 有効(+)/無効(-)\n" -#: ../version.c:667 msgid " system vimrc file: \"" msgstr " システムvimrc: \"" -#: ../version.c:672 msgid " user vimrc file: \"" msgstr " ユーザー vimrc: \"" -#: ../version.c:677 msgid " 2nd user vimrc file: \"" msgstr " 第2ユーザー vimrc: \"" -#: ../version.c:682 msgid " 3rd user vimrc file: \"" msgstr " 第3ユーザー vimrc: \"" -#: ../version.c:687 msgid " user exrc file: \"" msgstr " ユーザー exrc: \"" -#: ../version.c:692 msgid " 2nd user exrc file: \"" msgstr " 第2ユーザー exrc: \"" -#: ../version.c:699 +msgid " system gvimrc file: \"" +msgstr " システムgvimrc: \"" + +msgid " user gvimrc file: \"" +msgstr " ユーザー gvimrc: \"" + +msgid "2nd user gvimrc file: \"" +msgstr " 第2ユーザー gvimrc: \"" + +msgid "3rd user gvimrc file: \"" +msgstr " 第3ユーザー gvimrc: \"" + +msgid " defaults file: \"" +msgstr " デフォルトファイル: \"" + +msgid " system menu file: \"" +msgstr " システムメニュー: \"" + msgid " fall-back for $VIM: \"" msgstr " çœç•¥æ™‚ã® $VIM: \"" -#: ../version.c:705 msgid " f-b for $VIMRUNTIME: \"" msgstr "çœç•¥æ™‚ã® $VIMRUNTIME: \"" -#: ../version.c:709 msgid "Compilation: " msgstr "コンパイル: " -#: ../version.c:712 +msgid "Compiler: " +msgstr "コンパイラ: " + msgid "Linking: " msgstr "リンク: " -#: ../version.c:717 msgid " DEBUG BUILD" msgstr "デãƒãƒƒã‚°ãƒ“ルド" -#: ../version.c:767 msgid "VIM - Vi IMproved" msgstr "VIM - Vi IMproved" -#: ../version.c:769 msgid "version " msgstr "version " -#: ../version.c:770 msgid "by Bram Moolenaar et al." msgstr "by Bram Moolenaar ä»–." -#: ../version.c:774 msgid "Vim is open source and freely distributable" msgstr "Vim ã¯ã‚ªãƒ¼ãƒ—ンソースã§ã‚り自由ã«é…布å¯èƒ½ã§ã™" -#: ../version.c:776 msgid "Help poor children in Uganda!" msgstr "ã‚¦ã‚¬ãƒ³ãƒ€ã®æµã¾ã‚Œãªã„åä¾›ãŸã¡ã«æ´åŠ©ã‚’!" -#: ../version.c:777 msgid "type :help iccf<Enter> for information " msgstr "è©³ç´°ãªæƒ…å ±ã¯ :help iccf<Enter> " -#: ../version.c:779 msgid "type :q<Enter> to exit " msgstr "終了ã™ã‚‹ã«ã¯ :q<Enter> " -#: ../version.c:780 msgid "type :help<Enter> or <F1> for on-line help" msgstr "オンラインヘルプ㯠:help<Enter> ã‹ <F1> " -#: ../version.c:781 -msgid "type :help version7<Enter> for version info" -msgstr "ãƒãƒ¼ã‚¸ãƒ§ãƒ³æƒ…å ±ã¯ :help version7<Enter> " +msgid "type :help version8<Enter> for version info" +msgstr "ãƒãƒ¼ã‚¸ãƒ§ãƒ³æƒ…å ±ã¯ :help version8<Enter> " -#: ../version.c:784 msgid "Running in Vi compatible mode" msgstr "Vi互æ›ãƒ¢ãƒ¼ãƒ‰ã§å‹•作ä¸" -#: ../version.c:785 msgid "type :set nocp<Enter> for Vim defaults" msgstr "Vim推奨値ã«ã™ã‚‹ã«ã¯ :set nocp<Enter> " -#: ../version.c:786 msgid "type :help cp-default<Enter> for info on this" msgstr "è©³ç´°ãªæƒ…å ±ã¯ :help cp-default<Enter>" -#: ../version.c:827 +msgid "menu Help->Orphans for information " +msgstr "詳細ã¯ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã® ヘルプ->å¤å… ã‚’å‚ç…§ã—ã¦ä¸‹ã•ã„ " + +msgid "Running modeless, typed text is inserted" +msgstr "モード無ã§å®Ÿè¡Œä¸, タイプã—ãŸæ–‡å—ãŒæŒ¿å…¥ã•れã¾ã™" + +msgid "menu Edit->Global Settings->Toggle Insert Mode " +msgstr "メニュー㮠編集->全体è¨å®š->挿入(åˆå¿ƒè€…)モード切替 " + +msgid " for two modes " +msgstr " ã§ãƒ¢ãƒ¼ãƒ‰æœ‰ã« " + +msgid "menu Edit->Global Settings->Toggle Vi Compatible" +msgstr "メニュー㮠編集->全体è¨å®š->Vi互æ›ãƒ¢ãƒ¼ãƒ‰åˆ‡æ›¿ " + +msgid " for Vim defaults " +msgstr " ã§Vimã¨ã—ã¦å‹•作 " + msgid "Sponsor Vim development!" msgstr "Vimã®é–‹ç™ºã‚’応æ´ã—ã¦ãã ã•ã„!" -#: ../version.c:828 msgid "Become a registered Vim user!" msgstr "Vimã®ç™»éŒ²ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«ãªã£ã¦ãã ã•ã„!" -#: ../version.c:831 msgid "type :help sponsor<Enter> for information " msgstr "è©³ç´°ãªæƒ…å ±ã¯ :help sponsor<Enter> " -#: ../version.c:832 msgid "type :help register<Enter> for information " msgstr "è©³ç´°ãªæƒ…å ±ã¯ :help register<Enter> " -#: ../version.c:834 msgid "menu Help->Sponsor/Register for information " msgstr "詳細ã¯ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã® ヘルプ->スãƒãƒ³ã‚µãƒ¼/登録 ã‚’å‚ç…§ã—ã¦ä¸‹ã•ã„" -#: ../window.c:119 +msgid "WARNING: Windows 95/98/ME detected" +msgstr "è¦å‘Š: Windows 95/98/ME を検出ã—ã¾ã—ãŸ" + +msgid "type :help windows95<Enter> for info on this" +msgstr "è©³ç´°ãªæƒ…å ±ã¯ :help windows95<Enter>" + msgid "Already only one window" msgstr "æ—¢ã«ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã¯1ã¤ã—ã‹ã‚りã¾ã›ã‚“" -#: ../window.c:224 msgid "E441: There is no preview window" msgstr "E441: プレビューウィンドウãŒã‚りã¾ã›ã‚“" -#: ../window.c:559 msgid "E442: Can't split topleft and botright at the same time" msgstr "E442: 左上ã¨å³ä¸‹ã‚’åŒæ™‚ã«åˆ†å‰²ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" -#: ../window.c:1228 msgid "E443: Cannot rotate when another window is split" msgstr "E443: ä»–ã®ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ãŒåˆ†å‰²ã•れã¦ã„る時ã«ã¯é †å›žã§ãã¾ã›ã‚“" -#: ../window.c:1803 msgid "E444: Cannot close last window" msgstr "E444: 最後ã®ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã‚’é–‰ã˜ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" -#: ../window.c:1810 msgid "E813: Cannot close autocmd window" msgstr "E813: autocmdウィンドウã¯é–‰ã˜ã‚‰ã‚Œã¾ã›ã‚“" -#: ../window.c:1814 msgid "E814: Cannot close window, only autocmd window would remain" msgstr "E814: autocmdウィンドウã—ã‹æ®‹ã‚‰ãªã„ãŸã‚ã€ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã¯é–‰ã˜ã‚‰ã‚Œã¾ã›ã‚“" -#: ../window.c:2717 msgid "E445: Other window contains changes" msgstr "E445: ä»–ã®ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã«ã¯å¤‰æ›´ãŒã‚りã¾ã™" -#: ../window.c:4805 msgid "E446: No file name under cursor" msgstr "E446: カーソルã®ä¸‹ã«ãƒ•ァイルåãŒã‚りã¾ã›ã‚“" -msgid "List or number required" -msgstr "ãƒªã‚¹ãƒˆã‹æ•°å€¤ãŒå¿…è¦ã§ã™" - -#~ msgid "E831: bf_key_init() called with empty password" -#~ msgstr "E831: bf_key_init() ãŒç©ºãƒ‘スワードã§å‘¼ã³å‡ºã•れã¾ã—ãŸ" - -#~ msgid "E820: sizeof(uint32_t) != 4" -#~ msgstr "E820: sizeof(uint32_t) != 4" - -#~ msgid "E817: Blowfish big/little endian use wrong" -#~ msgstr "E817: Blowfishæš—å·ã®ãƒ“ッグ/リトルエンディアンãŒé–“é•ã£ã¦ã„ã¾ã™" - -#~ msgid "E818: sha256 test failed" -#~ msgstr "E818: sha256ã®ãƒ†ã‚¹ãƒˆã«å¤±æ•—ã—ã¾ã—ãŸ" - -#~ msgid "E819: Blowfish test failed" -#~ msgstr "E819: Blowfishæš—å·ã®ãƒ†ã‚¹ãƒˆã«å¤±æ•—ã—ã¾ã—ãŸ" - -#~ msgid "Patch file" -#~ msgstr "パッãƒãƒ•ァイル" - -#~ msgid "" -#~ "&OK\n" -#~ "&Cancel" -#~ msgstr "" -#~ "決定(&O)\n" -#~ "ã‚ャンセル(&C)" - -#~ msgid "E240: No connection to Vim server" -#~ msgstr "E240: Vim サーãƒã¸ã®æŽ¥ç¶šãŒã‚りã¾ã›ã‚“" - -#~ msgid "E241: Unable to send to %s" -#~ msgstr "E241: %s ã¸é€ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“" - -#~ msgid "E277: Unable to read a server reply" -#~ msgstr "E277: サーãƒã®å¿œç”ãŒã‚りã¾ã›ã‚“" - -#~ msgid "E258: Unable to send to client" -#~ msgstr "E258: クライアントã¸é€ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“" - -#~ msgid "Save As" -#~ msgstr "別åã§ä¿å˜" - -#~ msgid "Edit File" -#~ msgstr "ファイルを編集" - -# Added at 27-Jan-2004. -#~ msgid " (NOT FOUND)" -#~ msgstr " (見ã¤ã‹ã‚Šã¾ã›ã‚“)" - -#~ msgid "Source Vim script" -#~ msgstr "Vimスクリプトã®å–è¾¼ã¿" - -#~ msgid "unknown" -#~ msgstr "䏿˜Ž" - -#~ msgid "Edit File in new window" -#~ msgstr "æ–°ã—ã„ウィンドウã§ãƒ•ァイルを編集ã—ã¾ã™" - -#~ msgid "Append File" -#~ msgstr "è¿½åŠ ãƒ•ã‚¡ã‚¤ãƒ«" - -#~ msgid "Window position: X %d, Y %d" -#~ msgstr "ウィンドウä½ç½®: X %d, Y %d" - -#~ msgid "Save Redirection" -#~ msgstr "リダイレクトをä¿å˜ã—ã¾ã™" - -#~ msgid "Save View" -#~ msgstr "ビューをä¿å˜ã—ã¾ã™" - -#~ msgid "Save Session" -#~ msgstr "ã‚»ãƒƒã‚·ãƒ§ãƒ³æƒ…å ±ã‚’ä¿å˜ã—ã¾ã™" - -#~ msgid "Save Setup" -#~ msgstr "è¨å®šã‚’ä¿å˜ã—ã¾ã™" - -#~ msgid "E809: #< is not available without the +eval feature" -#~ msgstr "E809: #< 㯠+eval 機能ãŒç„¡ã„ã¨åˆ©ç”¨ã§ãã¾ã›ã‚“" - -#~ msgid "E196: No digraphs in this version" -#~ msgstr "E196: ã“ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã«åˆå—ã¯ã‚りã¾ã›ã‚“" - -#~ msgid "is a device (disabled with 'opendevice' option)" -#~ msgstr " ã¯ãƒ‡ãƒã‚¤ã‚¹ã§ã™ ('opendevice' オプションã§å›žé¿ã§ãã¾ã™)" - -#~ msgid "Reading from stdin..." -#~ msgstr "標準入力ã‹ã‚‰èªè¾¼ã¿ä¸..." - -#~ msgid "[blowfish]" -#~ msgstr "[blowfishæš—å·åŒ–]" - -#~ msgid "[crypted]" -#~ msgstr "[æš—å·åŒ–]" - -#~ msgid "E821: File is encrypted with unknown method" -#~ msgstr "E821: ãƒ•ã‚¡ã‚¤ãƒ«ãŒæœªçŸ¥ã®æ–¹æ³•ã§æš—å·åŒ–ã•れã¦ã„ã¾ã™" - -# Added at 19-Jan-2004. -#~ msgid "NetBeans disallows writes of unmodified buffers" -#~ msgstr "NetBeansã¯æœªå¤‰æ›´ã®ãƒãƒƒãƒ•ァを上書ã™ã‚‹ã“ã¨ã¯è¨±å¯ã—ã¦ã„ã¾ã›ã‚“" - -#~ msgid "Partial writes disallowed for NetBeans buffers" -#~ msgstr "NetBeansãƒãƒƒãƒ•ã‚¡ã®ä¸€éƒ¨ã‚’書ã出ã™ã“ã¨ã¯ã§ãã¾ã›ã‚“" - -#~ msgid "writing to device disabled with 'opendevice' option" -#~ msgstr "'opendevice' オプションã«ã‚ˆã‚Šãƒ‡ãƒã‚¤ã‚¹ã¸ã®æ›¸ãè¾¼ã¿ã¯ã§ãã¾ã›ã‚“" - -#~ msgid "E460: The resource fork would be lost (add ! to override)" -#~ msgstr "E460: リソースフォークãŒå¤±ã‚れるã‹ã‚‚ã—れã¾ã›ã‚“ (! ã‚’è¿½åŠ ã§å¼·åˆ¶)" - -#~ msgid "E851: Failed to create a new process for the GUI" -#~ msgstr "E851: GUI用ã®ãƒ—ãƒã‚»ã‚¹ã®èµ·å‹•ã«å¤±æ•—ã—ã¾ã—ãŸ" - -#~ msgid "E852: The child process failed to start the GUI" -#~ msgstr "E852: åプãƒã‚»ã‚¹ãŒGUIã®èµ·å‹•ã«å¤±æ•—ã—ã¾ã—ãŸ" - -#~ msgid "E229: Cannot start the GUI" -#~ msgstr "E229: GUIã‚’é–‹å§‹ã§ãã¾ã›ã‚“" - -#~ msgid "E230: Cannot read from \"%s\"" -#~ msgstr "E230: \"%s\"ã‹ã‚‰èªè¾¼ã‚€ã“ã¨ãŒã§ãã¾ã›ã‚“" - -#~ msgid "E665: Cannot start GUI, no valid font found" -#~ msgstr "E665: 有効ãªãƒ•ォントãŒè¦‹ã¤ã‹ã‚‰ãªã„ã®ã§, GUIã‚’é–‹å§‹ã§ãã¾ã›ã‚“" - -#~ msgid "E231: 'guifontwide' invalid" -#~ msgstr "E231: 'guifontwide' ãŒç„¡åйã§ã™" - -#~ msgid "E599: Value of 'imactivatekey' is invalid" -#~ msgstr "E599: 'imactivatekey' ã«è¨å®šã•れãŸå€¤ãŒç„¡åйã§ã™" - -#~ msgid "E254: Cannot allocate color %s" -#~ msgstr "E254: %s ã®è‰²ã‚’割り当ã¦ã‚‰ã‚Œã¾ã›ã‚“" - -#~ msgid "No match at cursor, finding next" -#~ msgstr "カーソルã®ä½ç½®ã«ãƒžãƒƒãƒã¯ã‚りã¾ã›ã‚“, 次を検索ã—ã¦ã„ã¾ã™" - -#~ msgid "<cannot open> " -#~ msgstr "<é–‹ã‘ã¾ã›ã‚“> " - -#~ msgid "E616: vim_SelFile: can't get font %s" -#~ msgstr "E616: vim_SelFile: フォント %s ã‚’å–å¾—ã§ãã¾ã›ã‚“" - -#~ msgid "E614: vim_SelFile: can't return to current directory" -#~ msgstr "E614: vim_SelFile: ç¾åœ¨ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«æˆ»ã‚Œã¾ã›ã‚“" - -#~ msgid "Pathname:" -#~ msgstr "パスå:" - -#~ msgid "E615: vim_SelFile: can't get current directory" -#~ msgstr "E615: vim_SelFile: ç¾åœ¨ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’å–å¾—ã§ãã¾ã›ã‚“" - -#~ msgid "OK" -#~ msgstr "OK" - -#~ msgid "Cancel" -#~ msgstr "ã‚ャンセル" - -#~ msgid "Scrollbar Widget: Could not get geometry of thumb pixmap." -#~ msgstr "スクãƒãƒ¼ãƒ«ãƒãƒ¼: ç”»åƒã‚’å–å¾—ã§ãã¾ã›ã‚“ã§ã—ãŸ." - -#~ msgid "Vim dialog" -#~ msgstr "Vim ダイアãƒã‚°" - -#~ msgid "E232: Cannot create BalloonEval with both message and callback" -#~ msgstr "E232: メッセージã¨ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã®ã‚ã‚‹ BalloonEval を作æˆã§ãã¾ã›ã‚“" - -#~ msgid "Input _Methods" -#~ msgstr "インプットメソッド" - -#~ msgid "VIM - Search and Replace..." -#~ msgstr "VIM - 検索ã¨ç½®æ›..." - -#~ msgid "VIM - Search..." -#~ msgstr "VIM - 検索..." - -#~ msgid "Find what:" -#~ msgstr "検索文å—列:" - -#~ msgid "Replace with:" -#~ msgstr "ç½®æ›æ–‡å—列:" - -#~ msgid "Match whole word only" -#~ msgstr "æ£ç¢ºã«è©²å½“ã™ã‚‹ã‚‚ã®ã ã‘" - -#~ msgid "Match case" -#~ msgstr "大文å—/å°æ–‡å—を区別ã™ã‚‹" - -#~ msgid "Direction" -#~ msgstr "æ–¹å‘" - -#~ msgid "Up" -#~ msgstr "上" - -#~ msgid "Down" -#~ msgstr "下" - -#~ msgid "Find Next" -#~ msgstr "次を検索" - -#~ msgid "Replace" -#~ msgstr "ç½®æ›" - -#~ msgid "Replace All" -#~ msgstr "å…¨ã¦ç½®æ›" - -#~ msgid "Vim: Received \"die\" request from session manager\n" -#~ msgstr "Vim: セッションマãƒãƒ¼ã‚¸ãƒ£ã‹ã‚‰ \"die\" è¦æ±‚ã‚’å—ã‘å–りã¾ã—ãŸ\n" - -#~ msgid "Close" -#~ msgstr "é–‰ã˜ã‚‹" - -#~ msgid "New tab" -#~ msgstr "æ–°è¦ã‚¿ãƒ–ページ" - -#~ msgid "Open Tab..." -#~ msgstr "タブページを開ã..." - -#~ msgid "Vim: Main window unexpectedly destroyed\n" -#~ msgstr "Vim: メインウィンドウãŒä¸æ„ã«ç ´å£Šã•れã¾ã—ãŸ\n" - -#~ msgid "&Filter" -#~ msgstr "フィルタ(&F)" - -#~ msgid "&Cancel" -#~ msgstr "ã‚ャンセル(&C)" - -#~ msgid "Directories" -#~ msgstr "ディレクトリ" - -#~ msgid "Filter" -#~ msgstr "フィルタ" - -#~ msgid "&Help" -#~ msgstr "ヘルプ(&H)" - -#~ msgid "Files" -#~ msgstr "ファイル" - -#~ msgid "&OK" -#~ msgstr "&OK" - -#~ msgid "Selection" -#~ msgstr "é¸æŠž" - -#~ msgid "Find &Next" -#~ msgstr "次を検索(&N)" - -#~ msgid "&Replace" -#~ msgstr "ç½®æ›(&R)" - -#~ msgid "Replace &All" -#~ msgstr "å…¨ã¦ç½®æ›(&A)" - -#~ msgid "&Undo" -#~ msgstr "アンドゥ(&U)" - -#~ msgid "E671: Cannot find window title \"%s\"" -#~ msgstr "E671: タイトル㌠\"%s\" ã®ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã¯è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" - -#~ msgid "E243: Argument not supported: \"-%s\"; Use the OLE version." -#~ msgstr "E243: 引数ã¯ã‚µãƒãƒ¼ãƒˆã•れã¾ã›ã‚“: \"-%s\"; OLE版を使用ã—ã¦ãã ã•ã„." - -#~ msgid "E672: Unable to open window inside MDI application" -#~ msgstr "E672: MDIアプリã®ä¸ã§ã¯ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã‚’é–‹ã‘ã¾ã›ã‚“" - -#~ msgid "Close tab" -#~ msgstr "タブページを閉ã˜ã‚‹" - -#~ msgid "Open tab..." -#~ msgstr "タブページを開ã" - -#~ msgid "Find string (use '\\\\' to find a '\\')" -#~ msgstr "検索文å—列 ('\\' を検索ã™ã‚‹ã«ã¯ '\\\\')" - -#~ msgid "Find & Replace (use '\\\\' to find a '\\')" -#~ msgstr "æ¤œç´¢ãƒ»ç½®æ› ('\\' を検索ã™ã‚‹ã«ã¯ '\\\\')" - -#~ msgid "Not Used" -#~ msgstr "使ã‚れã¾ã›ã‚“" - -#~ msgid "Directory\t*.nothing\n" -#~ msgstr "ディレクトリ\t*.nothing\n" - -#~ msgid "" -#~ "Vim E458: Cannot allocate colormap entry, some colors may be incorrect" -#~ msgstr "Vim E458: è‰²æŒ‡å®šãŒæ£ã—ããªã„ã®ã§ã‚¨ãƒ³ãƒˆãƒªã‚’割り当ã¦ã‚‰ã‚Œã¾ã›ã‚“" - -#~ msgid "E250: Fonts for the following charsets are missing in fontset %s:" -#~ msgstr "E250: ä»¥ä¸‹ã®æ–‡å—セットã®ãƒ•ォントãŒã‚りã¾ã›ã‚“ %s:" - -#~ msgid "E252: Fontset name: %s" -#~ msgstr "E252: フォントセットå: %s" - -#~ msgid "Font '%s' is not fixed-width" -#~ msgstr "フォント '%s' ã¯å›ºå®šå¹…ã§ã¯ã‚りã¾ã›ã‚“" - -#~ msgid "E253: Fontset name: %s" -#~ msgstr "E253: フォントセットå: %s" - -#~ msgid "Font0: %s" -#~ msgstr "フォント0: %s" - -#~ msgid "Font1: %s" -#~ msgstr "フォント1: %s" - -#~ msgid "Font%<PRId64> width is not twice that of font0" -#~ msgstr "フォント%<PRId64> ã®å¹…ãŒãƒ•ォント0ã®2å€ã§ã¯ã‚りã¾ã›ã‚“" - -#~ msgid "Font0 width: %<PRId64>" -#~ msgstr "フォント0ã®å¹…: %<PRId64>" - -#~ msgid "Font1 width: %<PRId64>" -#~ msgstr "フォント1ã®å¹…: %<PRId64>" - -#~ msgid "Invalid font specification" -#~ msgstr "無効ãªãƒ•ォント指定ã§ã™" - -#~ msgid "&Dismiss" -#~ msgstr "å´ä¸‹ã™ã‚‹(&D)" - -#~ msgid "no specific match" -#~ msgstr "マッãƒã™ã‚‹ã‚‚ã®ãŒã‚りã¾ã›ã‚“" - -#~ msgid "Vim - Font Selector" -#~ msgstr "Vim - ãƒ•ã‚©ãƒ³ãƒˆé¸æŠž" - -#~ msgid "Name:" -#~ msgstr "åå‰:" - -#~ msgid "Show size in Points" -#~ msgstr "サイズをãƒã‚¤ãƒ³ãƒˆã§è¡¨ç¤ºã™ã‚‹" - -#~ msgid "Encoding:" -#~ msgstr "エンコード:" - -#~ msgid "Font:" -#~ msgstr "フォント:" - -#~ msgid "Style:" -#~ msgstr "スタイル:" - -#~ msgid "Size:" -#~ msgstr "サイズ:" - -#~ msgid "E256: Hangul automata ERROR" -#~ msgstr "E256: ãƒãƒ³ã‚°ãƒ«ã‚ªãƒ¼ãƒˆãƒžãƒˆãƒ³ã‚¨ãƒ©ãƒ¼" - -#~ msgid "E563: stat error" -#~ msgstr "E563: stat エラー" - -#~ msgid "E625: cannot open cscope database: %s" -#~ msgstr "E625: cscopeデータベース: %s ã‚’é–‹ãã“ã¨ãŒã§ãã¾ã›ã‚“" - -#~ msgid "E626: cannot get cscope database information" -#~ msgstr "E626: cscopeãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®æƒ…å ±ã‚’å–å¾—ã§ãã¾ã›ã‚“" - -#~ msgid "Lua library cannot be loaded." -#~ msgstr "Luaライブラリをãƒãƒ¼ãƒ‰ã§ãã¾ã›ã‚“." - -#~ msgid "cannot save undo information" -#~ msgstr "ã‚¢ãƒ³ãƒ‰ã‚¥æƒ…å ±ãŒä¿å˜ã§ãã¾ã›ã‚“" - -#~ msgid "" -#~ "E815: Sorry, this command is disabled, the MzScheme libraries could not " -#~ "be loaded." -#~ msgstr "" -#~ "E815: ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ç„¡åйã§ã™. MzScheme ライブラリをãƒãƒ¼ãƒ‰ã§ãã¾ã›ã‚“." - -#~ msgid "invalid expression" -#~ msgstr "無効ãªå¼ã§ã™" - -#~ msgid "expressions disabled at compile time" -#~ msgstr "å¼ã¯ã‚³ãƒ³ãƒ‘イル時ã«ç„¡åйã«ã•れã¦ã„ã¾ã™" - -#~ msgid "hidden option" -#~ msgstr "éš ã—オプション" - -#~ msgid "unknown option" -#~ msgstr "未知ã®ã‚ªãƒ—ションã§ã™" - -#~ msgid "window index is out of range" -#~ msgstr "範囲外ã®ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ç•ªå·ã§ã™" - -#~ msgid "couldn't open buffer" -#~ msgstr "ãƒãƒƒãƒ•ã‚¡ã‚’é–‹ã‘ã¾ã›ã‚“" - -#~ msgid "cannot delete line" -#~ msgstr "行を消ã›ã¾ã›ã‚“" - -#~ msgid "cannot replace line" -#~ msgstr "行を置æ›ã§ãã¾ã›ã‚“" - -#~ msgid "cannot insert line" -#~ msgstr "行を挿入ã§ãã¾ã›ã‚“" - -#~ msgid "string cannot contain newlines" -#~ msgstr "æ–‡å—列ã«ã¯æ”¹è¡Œæ–‡å—ã‚’å«ã‚られã¾ã›ã‚“" - -#~ msgid "error converting Scheme values to Vim" -#~ msgstr "Scheme値ã®Vimã¸ã®å¤‰æ›ã‚¨ãƒ©ãƒ¼" - -#~ msgid "Vim error: ~a" -#~ msgstr "Vim エラー: ~a" - -#~ msgid "Vim error" -#~ msgstr "Vim エラー" - -#~ msgid "buffer is invalid" -#~ msgstr "ãƒãƒƒãƒ•ã‚¡ã¯ç„¡åйã§ã™" - -#~ msgid "window is invalid" -#~ msgstr "ウィンドウã¯ç„¡åйã§ã™" - -#~ msgid "linenr out of range" -#~ msgstr "範囲外ã®è¡Œç•ªå·ã§ã™" - -#~ msgid "not allowed in the Vim sandbox" -#~ msgstr "サンドボックスã§ã¯è¨±ã•れã¾ã›ã‚“" - -#~ msgid "E370: Could not load library %s" -#~ msgstr "E370: ライブラリ %s ã‚’ãƒãƒ¼ãƒ‰ã§ãã¾ã›ã‚“ã§ã—ãŸ" - -#~ msgid "" -#~ "Sorry, this command is disabled: the Perl library could not be loaded." -#~ msgstr "" -#~ "ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ç„¡åйã§ã™, ã”ã‚ã‚“ãªã•ã„: Perlライブラリをãƒãƒ¼ãƒ‰ã§ãã¾ã›ã‚“ã§ã—" -#~ "ãŸ." - -#~ msgid "E299: Perl evaluation forbidden in sandbox without the Safe module" -#~ msgstr "" -#~ "E299: サンドボックスã§ã¯ Safe モジュールを使用ã—ãªã„Perlスクリプトã¯ç¦ã˜ã‚‰" -#~ "れã¦ã„ã¾ã™" - -#~ msgid "E836: This Vim cannot execute :python after using :py3" -#~ msgstr "E836: ã“ã®Vimã§ã¯ :py3 を使ã£ãŸå¾Œã« :python を使ãˆã¾ã›ã‚“" - -#~ msgid "" -#~ "E263: Sorry, this command is disabled, the Python library could not be " -#~ "loaded." -#~ msgstr "" -#~ "E263: ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ç„¡åйã§ã™,ã”ã‚ã‚“ãªã•ã„: Pythonライブラリをãƒãƒ¼ãƒ‰ã§ãã¾" -#~ "ã›ã‚“ã§ã—ãŸ." - -# Added at 07-Feb-2004. -#~ msgid "E659: Cannot invoke Python recursively" -#~ msgstr "E659: Python ã‚’å†å¸°çš„ã«å®Ÿè¡Œã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" - -#~ msgid "E837: This Vim cannot execute :py3 after using :python" -#~ msgstr "E837: ã“ã®Vimã§ã¯ :python を使ã£ãŸå¾Œã« :py3 を使ãˆã¾ã›ã‚“" - -#~ msgid "E265: $_ must be an instance of String" -#~ msgstr "E265: $_ ã¯æ–‡å—列ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“" - -#~ msgid "" -#~ "E266: Sorry, this command is disabled, the Ruby library could not be " -#~ "loaded." -#~ msgstr "" -#~ "E266: ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ç„¡åйã§ã™,ã”ã‚ã‚“ãªã•ã„: Rubyライブラリをãƒãƒ¼ãƒ‰ã§ãã¾ã›" -#~ "ã‚“ã§ã—ãŸ." - -#~ msgid "E267: unexpected return" -#~ msgstr "E267: 予期ã›ã¬ return ã§ã™" - -#~ msgid "E268: unexpected next" -#~ msgstr "E268: 予期ã›ã¬ next ã§ã™" - -#~ msgid "E269: unexpected break" -#~ msgstr "E269: 予期ã›ã¬ break ã§ã™" - -#~ msgid "E270: unexpected redo" -#~ msgstr "E270: 予期ã›ã¬ redo ã§ã™" - -#~ msgid "E271: retry outside of rescue clause" -#~ msgstr "E271: rescue ã®å¤–ã® retry ã§ã™" - -#~ msgid "E272: unhandled exception" -#~ msgstr "E272: å–り扱ã‚れãªã‹ã£ãŸä¾‹å¤–ãŒã‚りã¾ã™" - -#~ msgid "E273: unknown longjmp status %d" -#~ msgstr "E273: 未知ã®longjmp状態: %d" - -#~ msgid "Toggle implementation/definition" -#~ msgstr "実装ã¨å®šç¾©ã‚’切り替ãˆã‚‹" - -#~ msgid "Show base class of" -#~ msgstr "次ã®ã‚¯ãƒ©ã‚¹ã®åŸºåº•を表示" - -#~ msgid "Show overridden member function" -#~ msgstr "オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã•れãŸãƒ¡ãƒ³ãƒé–¢æ•°ã‚’表示" - -#~ msgid "Retrieve from file" -#~ msgstr "ファイルã‹ã‚‰å›žå¾©ã™ã‚‹" - -#~ msgid "Retrieve from project" -#~ msgstr "プãƒã‚¸ã‚§ã‚¯ãƒˆã‹ã‚‰å›žå¾©ã™ã‚‹" - -#~ msgid "Retrieve from all projects" -#~ msgstr "å…¨ã¦ã®ãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆã‹ã‚‰å›žå¾©ã™ã‚‹" - -#~ msgid "Retrieve" -#~ msgstr "回復" - -#~ msgid "Show source of" -#~ msgstr "次ã®ã‚½ãƒ¼ã‚¹ã‚’表示ã™ã‚‹" - -#~ msgid "Find symbol" -#~ msgstr "見ã¤ã‘ãŸã‚·ãƒ³ãƒœãƒ«" - -#~ msgid "Browse class" -#~ msgstr "クラスをå‚ç…§" - -#~ msgid "Show class in hierarchy" -#~ msgstr "階層ã§ã‚¯ãƒ©ã‚¹ã‚’表示" - -#~ msgid "Show class in restricted hierarchy" -#~ msgstr "é™å®šã•れãŸéšŽå±¤ã§ã‚¯ãƒ©ã‚¹ã‚’表示" - -#~ msgid "Xref refers to" -#~ msgstr "Xref ã®å‚ç…§å…ˆ" - -#~ msgid "Xref referred by" -#~ msgstr "Xref ãŒå‚ç…§ã•れる" - -#~ msgid "Xref has a" -#~ msgstr "Xref ãŒæ¬¡ã®ã‚‚ã®ã‚’ã‚‚ã£ã¦ã„ã¾ã™" - -#~ msgid "Xref used by" -#~ msgstr "Xref ãŒä½¿ç”¨ã•れる" - -#~ msgid "Show docu of" -#~ msgstr "æ¬¡ã®æ–‡ç« を表示" - -#~ msgid "Generate docu for" -#~ msgstr "æ¬¡ã®æ–‡ç« を生æˆ" - -#~ msgid "" -#~ "Cannot connect to SNiFF+. Check environment (sniffemacs must be found in " -#~ "$PATH).\n" -#~ msgstr "" -#~ "SNiFF+ã«æŽ¥ç¶šã§ãã¾ã›ã‚“. 環境をãƒã‚§ãƒƒã‚¯ã—ã¦ãã ã•ã„(sniffemacs ㌠$PATH ã«" -#~ "ãªã‘れã°ãªã‚Šã¾ã›ã‚“).\n" - -#~ msgid "E274: Sniff: Error during read. Disconnected" -#~ msgstr "E274: Sniff: èªè¾¼ä¸ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ. 切æ–ã—ã¾ã—ãŸ" - -#~ msgid "SNiFF+ is currently " -#~ msgstr "ç¾åœ¨SNiFF+ ã®çŠ¶æ…‹ã¯ã€Œ" - -#~ msgid "not " -#~ msgstr "未" - -#~ msgid "connected" -#~ msgstr "接続ã€ã§ã™" - -#~ msgid "E275: Unknown SNiFF+ request: %s" -#~ msgstr "E275: 未知㮠SNiFF+ リクエストã§ã™: %s" - -#~ msgid "E276: Error connecting to SNiFF+" -#~ msgstr "E276: SNiFF+ ã¸ã®æŽ¥ç¶šä¸ã®ã‚¨ãƒ©ãƒ¼ã§ã™" - -#~ msgid "E278: SNiFF+ not connected" -#~ msgstr "E278: SNiFF+ ã«æŽ¥ç¶šã•れã¦ã„ã¾ã›ã‚“" - -#~ msgid "E279: Not a SNiFF+ buffer" -#~ msgstr "E279: SNiFF+ ãƒãƒƒãƒ•ã‚¡ãŒã‚りã¾ã›ã‚“" - -#~ msgid "Sniff: Error during write. Disconnected" -#~ msgstr "Sniff: 書込ã¿ä¸ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸã®ã§åˆ‡æ–ã—ã¾ã—ãŸ" - -#~ msgid "invalid buffer number" -#~ msgstr "無効ãªãƒãƒƒãƒ•ァ番å·ã§ã™" - -#~ msgid "not implemented yet" -#~ msgstr "ã¾ã 実装ã•れã¦ã„ã¾ã›ã‚“" - -#~ msgid "cannot set line(s)" -#~ msgstr "行をè¨å®šã§ãã¾ã›ã‚“" - -#~ msgid "invalid mark name" -#~ msgstr "無効ãªãƒžãƒ¼ã‚¯åã§ã™" - -#~ msgid "mark not set" -#~ msgstr "マークã¯è¨å®šã•れã¦ã„ã¾ã›ã‚“" - -#~ msgid "row %d column %d" -#~ msgstr "行 %d 列 %d" - -#~ msgid "cannot insert/append line" -#~ msgstr "è¡Œã®æŒ¿å…¥/è¿½åŠ ã‚’ã§ãã¾ã›ã‚“" - -#~ msgid "line number out of range" -#~ msgstr "範囲外ã®è¡Œç•ªå·ã§ã™" - -#~ msgid "unknown flag: " -#~ msgstr "未知ã®ãƒ•ラグ: " - -#~ msgid "unknown vimOption" -#~ msgstr "未知㮠vimOption ã§ã™" - -#~ msgid "keyboard interrupt" -#~ msgstr "ã‚ーボード割込ã¿" - -#~ msgid "vim error" -#~ msgstr "vim エラー" - -#~ msgid "cannot create buffer/window command: object is being deleted" -#~ msgstr "" -#~ "ãƒãƒƒãƒ•ã‚¡/ウィンドウ作æˆã‚³ãƒžãƒ³ãƒ‰ã‚’作æˆã§ãã¾ã›ã‚“: ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆãŒæ¶ˆåŽ»ã•れã¦" -#~ "ã„ã¾ã—ãŸ" - -#~ msgid "" -#~ "cannot register callback command: buffer/window is already being deleted" -#~ msgstr "" -#~ "コールãƒãƒƒã‚¯ã‚³ãƒžãƒ³ãƒ‰ã‚’登録ã§ãã¾ã›ã‚“: ãƒãƒƒãƒ•ã‚¡/ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ãŒæ—¢ã«æ¶ˆåŽ»ã•れã¾" -#~ "ã—ãŸ" - -#~ msgid "" -#~ "E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-" -#~ "dev@vim.org" -#~ msgstr "" -#~ "E280: TCL 致命的エラー: reflist 汚染!? vim-dev@vim.org ã«å ±å‘Šã—ã¦ãã ã•ã„" - -#~ msgid "cannot register callback command: buffer/window reference not found" -#~ msgstr "" -#~ "コールãƒãƒƒã‚¯ã‚³ãƒžãƒ³ãƒ‰ã‚’登録ã§ãã¾ã›ã‚“: ãƒãƒƒãƒ•ã‚¡/ウィンドウã®å‚ç…§ãŒè¦‹ã¤ã‹ã‚Š" -#~ "ã¾ã›ã‚“" - -#~ msgid "" -#~ "E571: Sorry, this command is disabled: the Tcl library could not be " -#~ "loaded." -#~ msgstr "" -#~ "E571: ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ç„¡åйã§ã™,ã”ã‚ã‚“ãªã•ã„: Tclライブラリをãƒãƒ¼ãƒ‰ã§ãã¾ã›ã‚“" -#~ "ã§ã—ãŸ." - -#~ msgid "E572: exit code %d" -#~ msgstr "E572: 終了コード %d" - -#~ msgid "cannot get line" -#~ msgstr "行をå–å¾—ã§ãã¾ã›ã‚“" - -#~ msgid "Unable to register a command server name" -#~ msgstr "命令サーãƒã®åå‰ã‚’登録ã§ãã¾ã›ã‚“" - -#~ msgid "E248: Failed to send command to the destination program" -#~ msgstr "E248: 目的ã®ãƒ—ãƒã‚°ãƒ©ãƒ ã¸ã®ã‚³ãƒžãƒ³ãƒ‰é€ä¿¡ã«å¤±æ•—ã—ã¾ã—ãŸ" - -#~ msgid "E573: Invalid server id used: %s" -#~ msgstr "E573: 無効ãªã‚µãƒ¼ãƒIDãŒä½¿ã‚れã¾ã—ãŸ: %s" - -#~ msgid "E251: VIM instance registry property is badly formed. Deleted!" -#~ msgstr "E251: VIM 実体ã®ç™»éŒ²ãƒ—ãƒãƒ‘ティãŒä¸æ£ã§ã™. 消去ã—ã¾ã—ãŸ!" - -#~ msgid "netbeans is not supported with this GUI\n" -#~ msgstr "netbeans ã¯ã“ã®GUIã§ã¯åˆ©ç”¨ã§ãã¾ã›ã‚“\n" - -#~ msgid "This Vim was not compiled with the diff feature." -#~ msgstr "ã“ã®Vimã«ã¯diff機能ãŒã‚りã¾ã›ã‚“(コンパイル時è¨å®š)." - -#~ msgid "'-nb' cannot be used: not enabled at compile time\n" -#~ msgstr "'-nb' 使用ä¸å¯èƒ½ã§ã™: コンパイル時ã«ç„¡åйã«ã•れã¦ã„ã¾ã™\n" - -#~ msgid "Vim: Error: Failure to start gvim from NetBeans\n" -#~ msgstr "Vim: エラー: NetBeansã‹ã‚‰gvimをスタートã§ãã¾ã›ã‚“\n" - -#~ msgid "" -#~ "\n" -#~ "Where case is ignored prepend / to make flag upper case" -#~ msgstr "" -#~ "\n" -#~ "大尿–‡å—ãŒç„¡è¦–ã•ã‚Œã‚‹å ´åˆã¯å¤§æ–‡å—ã«ã™ã‚‹ãŸã‚ã« / ã‚’å‰ç½®ã—ã¦ãã ã•ã„" - -#~ msgid "-register\t\tRegister this gvim for OLE" -#~ msgstr "-register\t\tã“ã®gvimã‚’OLEã¨ã—ã¦ç™»éŒ²ã™ã‚‹" - -#~ msgid "-unregister\t\tUnregister gvim for OLE" -#~ msgstr "-unregister\t\tgvimã®OLE登録を解除ã™ã‚‹" - -#~ msgid "-g\t\t\tRun using GUI (like \"gvim\")" -#~ msgstr "-g\t\t\tGUIã§èµ·å‹•ã™ã‚‹ (\"gvim\" ã¨åŒã˜)" - -#~ msgid "-f or --nofork\tForeground: Don't fork when starting GUI" -#~ msgstr "-f or --nofork\tフォアグラウンド: GUIã‚’å§‹ã‚ã‚‹ã¨ãã«forkã—ãªã„" - -#~ msgid "-f\t\t\tDon't use newcli to open window" -#~ msgstr "-f\t\t\tウィンドウを開ãã®ã« newcli を使用ã—ãªã„" - -#~ msgid "-dev <device>\t\tUse <device> for I/O" -#~ msgstr "-dev <device>\t\tI/Oã« <device> を使用ã™ã‚‹" - -#~ msgid "-U <gvimrc>\t\tUse <gvimrc> instead of any .gvimrc" -#~ msgstr "-U <gvimrc>\t\t.gvimrcã®ä»£ã‚り㫠<gvimrc> を使ã†" - -#~ msgid "-x\t\t\tEdit encrypted files" -#~ msgstr "-x\t\t\tæš—å·åŒ–ã•れãŸãƒ•ァイルを編集ã™ã‚‹" - -#~ msgid "-display <display>\tConnect vim to this particular X-server" -#~ msgstr "-display <display>\tvimを指定ã—㟠X サーãƒã«æŽ¥ç¶šã™ã‚‹" - -#~ msgid "-X\t\t\tDo not connect to X server" -#~ msgstr "-X\t\t\tXサーãƒã«æŽ¥ç¶šã—ãªã„" - -#~ msgid "--remote <files>\tEdit <files> in a Vim server if possible" -#~ msgstr "--remote <files>\tå¯èƒ½ãªã‚‰ã°Vimサーãƒã§ <files> を編集ã™ã‚‹" - -#~ msgid "--remote-silent <files> Same, don't complain if there is no server" -#~ msgstr "--remote-silent <files> åŒä¸Š, サーãƒãŒç„¡ãã¦ã‚‚è¦å‘Šæ–‡ã‚’出力ã—ãªã„" - -#~ msgid "" -#~ "--remote-wait <files> As --remote but wait for files to have been edited" -#~ msgstr "--remote-wait <files>\t--remote後 ファイルã®ç·¨é›†ãŒçµ‚ã‚ã‚‹ã®ã‚’å¾…ã¤" - -#~ msgid "" -#~ "--remote-wait-silent <files> Same, don't complain if there is no server" -#~ msgstr "" -#~ "--remote-wait-silent <files> åŒä¸Š, サーãƒãŒç„¡ãã¦ã‚‚è¦å‘Šæ–‡ã‚’出力ã—ãªã„" - -#~ msgid "" -#~ "--remote-tab[-wait][-silent] <files> As --remote but use tab page per " -#~ "file" -#~ msgstr "" -#~ "--remote-tab[-wait][-silent] <files> --remoteã§ãƒ•ァイル1ã¤ã«ã¤ã1ã¤ã®ã‚¿ãƒ–" -#~ "ページを開ã" - -#~ msgid "--remote-send <keys>\tSend <keys> to a Vim server and exit" -#~ msgstr "--remote-send <keys>\tVimサーãƒã« <keys> ã‚’é€ä¿¡ã—ã¦çµ‚了ã™ã‚‹" - -#~ msgid "" -#~ "--remote-expr <expr>\tEvaluate <expr> in a Vim server and print result" -#~ msgstr "--remote-expr <expr>\tサーãƒã§ <expr> を実行ã—ã¦çµæžœã‚’表示ã™ã‚‹" - -#~ msgid "--serverlist\t\tList available Vim server names and exit" -#~ msgstr "--serverlist\t\tVimサーãƒåã®ä¸€è¦§ã‚’表示ã—ã¦çµ‚了ã™ã‚‹" - -#~ msgid "--servername <name>\tSend to/become the Vim server <name>" -#~ msgstr "--servername <name>\tVimサーム<name> ã«é€ä¿¡/åå‰è¨å®šã™ã‚‹" - -#~ msgid "" -#~ "\n" -#~ "Arguments recognised by gvim (Motif version):\n" -#~ msgstr "" -#~ "\n" -#~ "gvimã«ã‚ˆã£ã¦è§£é‡ˆã•れる引数(Motifãƒãƒ¼ã‚¸ãƒ§ãƒ³):\n" - -#~ msgid "" -#~ "\n" -#~ "Arguments recognised by gvim (neXtaw version):\n" -#~ msgstr "" -#~ "\n" -#~ "gvimã«ã‚ˆã£ã¦è§£é‡ˆã•れる引数(neXtawãƒãƒ¼ã‚¸ãƒ§ãƒ³):\n" - -#~ msgid "" -#~ "\n" -#~ "Arguments recognised by gvim (Athena version):\n" -#~ msgstr "" -#~ "\n" -#~ "gvimã«ã‚ˆã£ã¦è§£é‡ˆã•れる引数(Athenaãƒãƒ¼ã‚¸ãƒ§ãƒ³):\n" - -#~ msgid "-display <display>\tRun vim on <display>" -#~ msgstr "-display <display>\t<display> ã§vimを実行ã™ã‚‹" - -#~ msgid "-iconic\t\tStart vim iconified" -#~ msgstr "-iconic\t\t最å°åŒ–ã—ãŸçŠ¶æ…‹ã§vimã‚’èµ·å‹•ã™ã‚‹" - -#~ msgid "-background <color>\tUse <color> for the background (also: -bg)" -#~ msgstr "-background <color>\t背景色㫠<color> を使ã†(åŒç¾©: -bg)" - -#~ msgid "-foreground <color>\tUse <color> for normal text (also: -fg)" -#~ msgstr "-foreground <color>\t剿™¯è‰²ã« <color> を使ã†(åŒç¾©: -fg)" - -#~ msgid "-font <font>\t\tUse <font> for normal text (also: -fn)" -#~ msgstr "-font <font>\t\tテã‚スト表示㫠<font> を使ã†(åŒç¾©: -fn)" - -#~ msgid "-boldfont <font>\tUse <font> for bold text" -#~ msgstr "-boldfont <font>\t太å—ã« <font> を使ã†" - -#~ msgid "-italicfont <font>\tUse <font> for italic text" -#~ msgstr "-italicfont <for>\t斜体å—ã« <font> を使ã†" - -#~ msgid "-geometry <geom>\tUse <geom> for initial geometry (also: -geom)" -#~ msgstr "-geometry <geom>\tåˆæœŸé…置㫠<geom> を使ã†(åŒç¾©: -geom)" - -#~ msgid "-borderwidth <width>\tUse a border width of <width> (also: -bw)" -#~ msgstr "-borderwidth <width>\t境界ã®å¹…ã‚’ <width> ã«ã™ã‚‹(åŒç¾©: -bw)" - -#~ msgid "" -#~ "-scrollbarwidth <width> Use a scrollbar width of <width> (also: -sw)" -#~ msgstr "" -#~ "-scrollbarwidth <width> スクãƒãƒ¼ãƒ«ãƒãƒ¼ã®å¹…ã‚’ <width> ã«ã™ã‚‹(åŒç¾©: -sw)" - -#~ msgid "-menuheight <height>\tUse a menu bar height of <height> (also: -mh)" -#~ msgstr "" -#~ "-menuheight <height>\tメニューãƒãƒ¼ã®é«˜ã•ã‚’ <height> ã«ã™ã‚‹(åŒç¾©: -mh)" - -#~ msgid "-reverse\t\tUse reverse video (also: -rv)" -#~ msgstr "-reverse\t\tåè»¢æ˜ åƒã‚’使用ã™ã‚‹(åŒç¾©: -rv)" - -#~ msgid "+reverse\t\tDon't use reverse video (also: +rv)" -#~ msgstr "+reverse\t\tåè»¢æ˜ åƒã‚’使用ã—ãªã„(åŒç¾©: +rv)" - -#~ msgid "-xrm <resource>\tSet the specified resource" -#~ msgstr "-xrm <resource>\t特定ã®ãƒªã‚½ãƒ¼ã‚¹ã‚’使用ã™ã‚‹" - -#~ msgid "" -#~ "\n" -#~ "Arguments recognised by gvim (GTK+ version):\n" -#~ msgstr "" -#~ "\n" -#~ "gvimã«ã‚ˆã£ã¦è§£é‡ˆã•れる引数(GTK+ãƒãƒ¼ã‚¸ãƒ§ãƒ³):\n" - -#~ msgid "-display <display>\tRun vim on <display> (also: --display)" -#~ msgstr "-display <display>\t<display> ã§vimを実行ã™ã‚‹(åŒç¾©: --display)" - -#~ msgid "--role <role>\tSet a unique role to identify the main window" -#~ msgstr "--role <role>\tメインウィンドウをè˜åˆ¥ã™ã‚‹ä¸€æ„ãªå½¹å‰²(role)ã‚’è¨å®šã™ã‚‹" - -#~ msgid "--socketid <xid>\tOpen Vim inside another GTK widget" -#~ msgstr "--socketid <xid>\tç•°ãªã‚‹GTK widgetã§Vimã‚’é–‹ã" - -#~ msgid "--echo-wid\t\tMake gvim echo the Window ID on stdout" -#~ msgstr "--echo-wid\t\tウィンドウIDを標準出力ã«å‡ºåŠ›ã™ã‚‹" - -#~ msgid "-P <parent title>\tOpen Vim inside parent application" -#~ msgstr "-P <親ã®ã‚¿ã‚¤ãƒˆãƒ«>\tVimを親アプリケーションã®ä¸ã§èµ·å‹•ã™ã‚‹" - -#~ msgid "--windowid <HWND>\tOpen Vim inside another win32 widget" -#~ msgstr "--windowid <HWND>\tç•°ãªã‚‹Win32 widgetã®å†…部ã«Vimã‚’é–‹ã" - -#~ msgid "No display" -#~ msgstr "ディスプレイãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" - -#~ msgid ": Send failed.\n" -#~ msgstr ": é€ä¿¡ã«å¤±æ•—ã—ã¾ã—ãŸ.\n" - -#~ msgid ": Send failed. Trying to execute locally\n" -#~ msgstr ": é€ä¿¡ã«å¤±æ•—ã—ã¾ã—ãŸ. ãƒãƒ¼ã‚«ãƒ«ã§ã®å®Ÿè¡Œã‚’試ã¿ã¦ã„ã¾ã™\n" - -#~ msgid "%d of %d edited" -#~ msgstr "%d 個 (%d 個ä¸) ã®ãƒ•ァイルを編集ã—ã¾ã—ãŸ" - -#~ msgid "No display: Send expression failed.\n" -#~ msgstr "ディスプレイãŒã‚りã¾ã›ã‚“: å¼ã®é€ä¿¡ã«å¤±æ•—ã—ã¾ã—ãŸ.\n" - -#~ msgid ": Send expression failed.\n" -#~ msgstr ": å¼ã®é€ä¿¡ã«å¤±æ•—ã—ã¾ã—ãŸ.\n" - -#~ msgid "E543: Not a valid codepage" -#~ msgstr "E543: 無効ãªã‚³ãƒ¼ãƒ‰ãƒšãƒ¼ã‚¸ã§ã™" - -#~ msgid "E284: Cannot set IC values" -#~ msgstr "E284: ICã®å€¤ã‚’è¨å®šã§ãã¾ã›ã‚“" - -#~ msgid "E285: Failed to create input context" -#~ msgstr "E285: インプットコンテã‚ストã®ä½œæˆã«å¤±æ•—ã—ã¾ã—ãŸ" - -#~ msgid "E286: Failed to open input method" -#~ msgstr "E286: インプットメソッドã®ã‚ªãƒ¼ãƒ—ンã«å¤±æ•—ã—ã¾ã—ãŸ" - -#~ msgid "E287: Warning: Could not set destroy callback to IM" -#~ msgstr "E287: è¦å‘Š: IMã®ç ´å£Šã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã‚’è¨å®šã§ãã¾ã›ã‚“ã§ã—ãŸ" - -#~ msgid "E288: input method doesn't support any style" -#~ msgstr "E288: インプットメソッドã¯ã©ã‚“ãªã‚¹ã‚¿ã‚¤ãƒ«ã‚‚サãƒãƒ¼ãƒˆã—ã¾ã›ã‚“" - -#~ msgid "E289: input method doesn't support my preedit type" -#~ msgstr "E289: インプットメソッド㯠my preedit type をサãƒãƒ¼ãƒˆã—ã¾ã›ã‚“" +#, c-format +msgid "E447: Can't find file \"%s\" in path" +msgstr "E447: pathã«ã¯ \"%s\" ã¨ã„ã†ãƒ•ァイルãŒã‚りã¾ã›ã‚“" -#~ msgid "E843: Error while updating swap file crypt" -#~ msgstr "E843: ã‚¹ãƒ¯ãƒƒãƒ—ãƒ•ã‚¡ã‚¤ãƒ«ã®æš—å·ã‚’æ›´æ–°ä¸ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ" +#, c-format +msgid "E799: Invalid ID: %ld (must be greater than or equal to 1)" +msgstr "E799: 無効㪠ID: %ld (1 以上ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“)" -#~ msgid "" -#~ "E833: %s is encrypted and this version of Vim does not support encryption" -#~ msgstr "" -#~ "E833: %s ã¯ã“ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®Vimã§ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ãªã„å½¢å¼ã§æš—å·åŒ–ã•れã¦ã„ã¾ã™" +#, c-format +msgid "E801: ID already taken: %ld" +msgstr "E801: ID ã¯ã™ã§ã«åˆ©ç”¨ä¸ã§ã™: %ld" -#~ msgid "Swap file is encrypted: \"%s\"" -#~ msgstr "ã‚¹ãƒ¯ãƒƒãƒ—ãƒ•ã‚¡ã‚¤ãƒ«ã¯æš—å·åŒ–ã•れã¦ã„ã¾ã™: \"%s\"" +msgid "List or number required" +msgstr "ãƒªã‚¹ãƒˆã‹æ•°å€¤ãŒå¿…è¦ã§ã™" -#~ msgid "" -#~ "\n" -#~ "If you entered a new crypt key but did not write the text file," -#~ msgstr "" -#~ "\n" -#~ "æ–°ã—ã„æš—å·ã‚ーを入力ã—ãŸã‚ã¨ã«ãƒ†ã‚ストファイルをä¿å˜ã—ã¦ã„ãªã„å ´åˆã¯," +#, c-format +msgid "E802: Invalid ID: %ld (must be greater than or equal to 1)" +msgstr "E802: 無効㪠ID: %ld (1 以上ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“)" -#~ msgid "" -#~ "\n" -#~ "enter the new crypt key." -#~ msgstr "" -#~ "\n" -#~ "æ–°ã—ã„æš—å·ã‚ーを入力ã—ã¦ãã ã•ã„." +#, c-format +msgid "E803: ID not found: %ld" +msgstr "E803: ID ã¯ã‚りã¾ã›ã‚“: %ld" -#~ msgid "" -#~ "\n" -#~ "If you wrote the text file after changing the crypt key press enter" -#~ msgstr "" -#~ "\n" -#~ "æš—å·ã‚ーを変ãˆãŸã‚ã¨ã«ãƒ†ã‚ストファイルをä¿å˜ã—ãŸå ´åˆã¯, テã‚ストファイルã¨" +#, c-format +msgid "E370: Could not load library %s" +msgstr "E370: ライブラリ %s ã‚’ãƒãƒ¼ãƒ‰ã§ãã¾ã›ã‚“ã§ã—ãŸ" -#~ msgid "" -#~ "\n" -#~ "to use the same key for text file and swap file" -#~ msgstr "" -#~ "\n" -#~ "スワップファイルã«åŒã˜æš—å·ã‚ーを使ã†ãŸã‚ã«enterã ã‘を押ã—ã¦ãã ã•ã„." +msgid "Sorry, this command is disabled: the Perl library could not be loaded." +msgstr "" +"ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ç„¡åйã§ã™, ã”ã‚ã‚“ãªã•ã„: Perlライブラリをãƒãƒ¼ãƒ‰ã§ãã¾ã›ã‚“ã§ã—ãŸ." -#~ msgid "Using crypt key from swap file for the text file.\n" -#~ msgstr "スワップファイルã‹ã‚‰å–å¾—ã—ãŸæš—å·ã‚ーをテã‚ストファイルã«ä½¿ã„ã¾ã™.\n" +msgid "E299: Perl evaluation forbidden in sandbox without the Safe module" +msgstr "" +"E299: サンドボックスã§ã¯ Safe モジュールを使用ã—ãªã„Perlスクリプトã¯ç¦ã˜ã‚‰ã‚Œ" +"ã¦ã„ã¾ã™" -#~ msgid "" -#~ "\n" -#~ " [not usable with this version of Vim]" -#~ msgstr "" -#~ "\n" -#~ " [ã“ã®Vimãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“]" +msgid "Edit with &multiple Vims" +msgstr "複数ã®Vimã§ç·¨é›†ã™ã‚‹ (&M)" -#~ msgid "Tear off this menu" -#~ msgstr "ã“ã®ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‚’切りå–ã‚‹" +msgid "Edit with single &Vim" +msgstr "1ã¤ã®Vimã§ç·¨é›†ã™ã‚‹ (&V)" -#~ msgid "Select Directory dialog" -#~ msgstr "ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªé¸æŠžãƒ€ã‚¤ã‚¢ãƒã‚°" +msgid "Diff with Vim" +msgstr "Vimã§å·®åˆ†ã‚’表示ã™ã‚‹" -#~ msgid "Save File dialog" -#~ msgstr "ファイルä¿å˜ãƒ€ã‚¤ã‚¢ãƒã‚°" +msgid "Edit with &Vim" +msgstr "Vimã§ç·¨é›†ã™ã‚‹ (&V)" -#~ msgid "Open File dialog" -#~ msgstr "ファイルèªè¾¼ãƒ€ã‚¤ã‚¢ãƒã‚°" +#. Now concatenate +msgid "Edit with existing Vim - " +msgstr "起動済ã®Vimã§ç·¨é›†ã™ã‚‹ - " -#~ msgid "E338: Sorry, no file browser in console mode" -#~ msgstr "" -#~ "E338: コンソールモードã§ã¯ãƒ•ァイルブラウザを使ãˆã¾ã›ã‚“, ã”ã‚ã‚“ãªã•ã„" +msgid "Edits the selected file(s) with Vim" +msgstr "é¸æŠžã—ãŸãƒ•ァイルをVimã§ç·¨é›†ã™ã‚‹" -#~ msgid "Vim: preserving files...\n" -#~ msgstr "Vim: ファイルをä¿å˜ä¸...\n" +msgid "Error creating process: Check if gvim is in your path!" +msgstr "プãƒã‚»ã‚¹ã®ä½œæˆã«å¤±æ•—: gvimãŒç’°å¢ƒå¤‰æ•°PATH上ã«ã‚ã‚‹ã‹ç¢ºèªã—ã¦ãã ã•ã„!" -#~ msgid "Vim: Finished.\n" -#~ msgstr "Vim: 終了ã—ã¾ã—ãŸ.\n" +msgid "gvimext.dll error" +msgstr "gvimext.dll エラー" -#~ msgid "ERROR: " -#~ msgstr "エラー: " +msgid "Path length too long!" +msgstr "パスãŒé•·éŽãŽã¾ã™!" -#~ msgid "" -#~ "\n" -#~ "[bytes] total alloc-freed %<PRIu64>-%<PRIu64>, in use %<PRIu64>, peak use " -#~ "%<PRIu64>\n" -#~ msgstr "" -#~ "\n" -#~ "[メモリ(ãƒã‚¤ãƒˆ)] ç·å‰²å½“-è§£æ”¾é‡ %<PRIu64>-%<PRIu64>, ä½¿ç”¨é‡ %<PRIu64>, ピー" -#~ "ク時 %<PRIu64>\n" +msgid "--No lines in buffer--" +msgstr "--ãƒãƒƒãƒ•ã‚¡ã«è¡ŒãŒã‚りã¾ã›ã‚“--" -#~ msgid "" -#~ "[calls] total re/malloc()'s %<PRIu64>, total free()'s %<PRIu64>\n" -#~ "\n" -#~ msgstr "" -#~ "[呼出] ç· re/malloc() 回数 %<PRIu64>, ç· free() 回数 %<PRIu64>\n" -#~ "\n" +#. +#. * The error messages that can be shared are included here. +#. * Excluded are errors that are only used once and debugging messages. +#. +msgid "E470: Command aborted" +msgstr "E470: コマンドãŒä¸æ–ã•れã¾ã—ãŸ" -#~ msgid "E340: Line is becoming too long" -#~ msgstr "E340: 行ãŒé•·ããªã‚ŠéŽãŽã¾ã—ãŸ" +msgid "E471: Argument required" +msgstr "E471: 引数ãŒå¿…è¦ã§ã™" -#~ msgid "E341: Internal error: lalloc(%<PRId64>, )" -#~ msgstr "E341: 内部エラー: lalloc(%<PRId64>,)" +msgid "E10: \\ should be followed by /, ? or &" +msgstr "E10: \\ ã®å¾Œã¯ / ã‹ ? ã‹ & ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“" -#~ msgid "E547: Illegal mouseshape" -#~ msgstr "E547: 䏿£ãª 'mouseshape' ã§ã™" +msgid "E11: Invalid in command-line window; <CR> executes, CTRL-C quits" +msgstr "E11: コマンドラインã§ã¯ç„¡åйã§ã™; <CR>ã§å®Ÿè¡Œ, CTRL-Cã§ã‚„ã‚ã‚‹" -#~ msgid "Enter encryption key: " -#~ msgstr "æš—å·åŒ–用ã®ã‚ーを入力ã—ã¦ãã ã•ã„: " +msgid "E12: Command not allowed from exrc/vimrc in current dir or tag search" +msgstr "" +"E12: ç¾åœ¨ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚„タグ検索ã§ã¯exrc/vimrcã®ã‚³ãƒžãƒ³ãƒ‰ã¯è¨±å¯ã•れã¾ã›ã‚“" -#~ msgid "Enter same key again: " -#~ msgstr "ã‚‚ã†ä¸€åº¦åŒã˜ã‚ーを入力ã—ã¦ãã ã•ã„: " +msgid "E171: Missing :endif" +msgstr "E171: :endif ãŒã‚りã¾ã›ã‚“" -#~ msgid "Keys don't match!" -#~ msgstr "ã‚ーãŒä¸€è‡´ã—ã¾ã›ã‚“" +msgid "E600: Missing :endtry" +msgstr "E600: :endtry ãŒã‚りã¾ã›ã‚“" -#~ msgid "Cannot connect to Netbeans #2" -#~ msgstr "Netbeans #2 ã«æŽ¥ç¶šã§ãã¾ã›ã‚“" +msgid "E170: Missing :endwhile" +msgstr "E170: :endwhile ãŒã‚りã¾ã›ã‚“" -#~ msgid "Cannot connect to Netbeans" -#~ msgstr "Netbeans ã«æŽ¥ç¶šã§ãã¾ã›ã‚“" +msgid "E170: Missing :endfor" +msgstr "E170: :endfor ãŒã‚りã¾ã›ã‚“" -#~ msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\"" -#~ msgstr "" -#~ "E668: NetBeansã®æŽ¥ç¶šæƒ…å ±ãƒ•ã‚¡ã‚¤ãƒ«ã®ã‚¢ã‚¯ã‚»ã‚¹ãƒ¢ãƒ¼ãƒ‰ã«å•題ãŒã‚りã¾ã™: \"%s\"" +msgid "E588: :endwhile without :while" +msgstr "E588: :while ã®ãªã„ :endwhile ãŒã‚りã¾ã™" -#~ msgid "read from Netbeans socket" -#~ msgstr "Netbeans ã®ã‚½ã‚±ãƒƒãƒˆã‚’èªè¾¼ã¿" +msgid "E588: :endfor without :for" +msgstr "E588: :endfor ã®ãªã„ :for ãŒã‚りã¾ã™" -#~ msgid "E658: NetBeans connection lost for buffer %<PRId64>" -#~ msgstr "E658: ãƒãƒƒãƒ•ã‚¡ %<PRId64> ã® NetBeans 接続ãŒå¤±ã‚れã¾ã—ãŸ" +msgid "E13: File exists (add ! to override)" +msgstr "E13: ファイルãŒå˜åœ¨ã—ã¾ã™ (! ã‚’è¿½åŠ ã§ä¸Šæ›¸)" -#~ msgid "E838: netbeans is not supported with this GUI" -#~ msgstr "E838: NetBeansã¯ã“ã®GUIã«ã¯å¯¾å¿œã—ã¦ã„ã¾ã›ã‚“" +msgid "E472: Command failed" +msgstr "E472: コマンドãŒå¤±æ•—ã—ã¾ã—ãŸ" -#~ msgid "E511: netbeans already connected" -#~ msgstr "E511: NetBeansã¯æ—¢ã«æŽ¥ç¶šã—ã¦ã„ã¾ã™" +#, c-format +msgid "E234: Unknown fontset: %s" +msgstr "E234: 未知ã®ãƒ•ォントセット: %s" -#~ msgid "E505: %s is read-only (add ! to override)" -#~ msgstr "E505: %s ã¯èªè¾¼å°‚用ã§ã™ (強制書込ã«ã¯ ! ã‚’è¿½åŠ )" +#, c-format +msgid "E235: Unknown font: %s" +msgstr "E235: 未知ã®ãƒ•ォント: %s" -#~ msgid "E775: Eval feature not available" -#~ msgstr "E775: å¼è©•価機能ãŒç„¡åйã«ãªã£ã¦ã„ã¾ã™" +#, c-format +msgid "E236: Font \"%s\" is not fixed-width" +msgstr "E236: フォント \"%s\" ã¯å›ºå®šå¹…ã§ã¯ã‚りã¾ã›ã‚“" -#~ msgid "freeing %<PRId64> lines" -#~ msgstr "%<PRId64> 行を解放ä¸" +msgid "E473: Internal error" +msgstr "E473: 内部エラーã§ã™" -#~ msgid "E530: Cannot change term in GUI" -#~ msgstr "E530: GUIã§ã¯ 'term' を変更ã§ãã¾ã›ã‚“" +msgid "Interrupted" +msgstr "割込ã¾ã‚Œã¾ã—ãŸ" -#~ msgid "E531: Use \":gui\" to start the GUI" -#~ msgstr "E531: GUIをスタートã™ã‚‹ã«ã¯ \":gui\" を使用ã—ã¦ãã ã•ã„" +msgid "E14: Invalid address" +msgstr "E14: 無効ãªã‚¢ãƒ‰ãƒ¬ã‚¹ã§ã™" -#~ msgid "E617: Cannot be changed in the GTK+ 2 GUI" -#~ msgstr "E617: GTK+2 GUIã§ã¯å¤‰æ›´ã§ãã¾ã›ã‚“" +msgid "E474: Invalid argument" +msgstr "E474: 無効ãªå¼•æ•°ã§ã™" -#~ msgid "E596: Invalid font(s)" -#~ msgstr "E596: 無効ãªãƒ•ォントã§ã™" +#, c-format +msgid "E475: Invalid argument: %s" +msgstr "E475: 無効ãªå¼•æ•°ã§ã™: %s" -#~ msgid "E597: can't select fontset" -#~ msgstr "E597: ãƒ•ã‚©ãƒ³ãƒˆã‚»ãƒƒãƒˆã‚’é¸æŠžã§ãã¾ã›ã‚“" +#, c-format +msgid "E15: Invalid expression: %s" +msgstr "E15: 無効ãªå¼ã§ã™: %s" -#~ msgid "E598: Invalid fontset" -#~ msgstr "E598: 無効ãªãƒ•ォントセットã§ã™" +msgid "E16: Invalid range" +msgstr "E16: 無効ãªç¯„囲ã§ã™" -#~ msgid "E533: can't select wide font" -#~ msgstr "E533: ãƒ¯ã‚¤ãƒ‰ãƒ•ã‚©ãƒ³ãƒˆã‚’é¸æŠžã§ãã¾ã›ã‚“" +msgid "E476: Invalid command" +msgstr "E476: 無効ãªã‚³ãƒžãƒ³ãƒ‰ã§ã™" -#~ msgid "E534: Invalid wide font" -#~ msgstr "E534: 無効ãªãƒ¯ã‚¤ãƒ‰ãƒ•ォントã§ã™" +#, c-format +msgid "E17: \"%s\" is a directory" +msgstr "E17: \"%s\" ã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã™" -#~ msgid "E538: No mouse support" -#~ msgstr "E538: マウスã¯ã‚µãƒãƒ¼ãƒˆã•れã¾ã›ã‚“" +#, c-format +msgid "E364: Library call failed for \"%s()\"" +msgstr "E364: \"%s\"() ã®ãƒ©ã‚¤ãƒ–ラリ呼出ã«å¤±æ•—ã—ã¾ã—ãŸ" -#~ msgid "cannot open " -#~ msgstr "é–‹ã‘ã¾ã›ã‚“ " +#, c-format +msgid "E448: Could not load library function %s" +msgstr "E448: ライブラリã®é–¢æ•° %s ã‚’ãƒãƒ¼ãƒ‰ã§ãã¾ã›ã‚“ã§ã—ãŸ" -#~ msgid "VIM: Can't open window!\n" -#~ msgstr "VIM: ウィンドウを開ã‘ã¾ã›ã‚“!\n" +msgid "E19: Mark has invalid line number" +msgstr "E19: マークã«ç„¡åйãªè¡Œç•ªå·ãŒæŒ‡å®šã•れã¦ã„ã¾ã—ãŸ" -#~ msgid "Need Amigados version 2.04 or later\n" -#~ msgstr "Amigadosã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.04ã‹ãれ以é™ãŒå¿…è¦ã§ã™\n" +msgid "E20: Mark not set" +msgstr "E20: マークã¯è¨å®šã•れã¦ã„ã¾ã›ã‚“" -#~ msgid "Need %s version %<PRId64>\n" -#~ msgstr "%s ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ %<PRId64> ãŒå¿…è¦ã§ã™\n" +msgid "E21: Cannot make changes, 'modifiable' is off" +msgstr "E21: 'modifiable' ãŒã‚ªãƒ•ãªã®ã§, 変更ã§ãã¾ã›ã‚“" -#~ msgid "Cannot open NIL:\n" -#~ msgstr "NILã‚’é–‹ã‘ã¾ã›ã‚“:\n" +msgid "E22: Scripts nested too deep" +msgstr "E22: スクリプトã®å…¥ã‚ŒåãŒæ·±éŽãŽã¾ã™" -#~ msgid "Cannot create " -#~ msgstr "作æˆã§ãã¾ã›ã‚“ " +msgid "E23: No alternate file" +msgstr "E23: 副ファイルã¯ã‚りã¾ã›ã‚“" -#~ msgid "Vim exiting with %d\n" -#~ msgstr "Vim㯠%d ã§çµ‚了ã—ã¾ã™\n" +msgid "E24: No such abbreviation" +msgstr "E24: ãã®ã‚ˆã†ãªçŸç¸®å…¥åŠ›ã¯ã‚りã¾ã›ã‚“" -#~ msgid "cannot change console mode ?!\n" -#~ msgstr "コンソールモードを変更ã§ãã¾ã›ã‚“?!\n" +msgid "E477: No ! allowed" +msgstr "E477: ! ã¯è¨±å¯ã•れã¦ã„ã¾ã›ã‚“" -#~ msgid "mch_get_shellsize: not a console??\n" -#~ msgstr "mch_get_shellsize: コンソールã§ã¯ãªã„??\n" +msgid "E25: GUI cannot be used: Not enabled at compile time" +msgstr "E25: GUIã¯ä½¿ç”¨ä¸å¯èƒ½ã§ã™: コンパイル時ã«ç„¡åйã«ã•れã¦ã„ã¾ã™" -#~ msgid "E360: Cannot execute shell with -f option" -#~ msgstr "E360: -f オプションã§ã‚·ã‚§ãƒ«ã‚’実行ã§ãã¾ã›ã‚“" +msgid "E26: Hebrew cannot be used: Not enabled at compile time\n" +msgstr "E26: ヘブライ語ã¯ä½¿ç”¨ä¸å¯èƒ½ã§ã™: コンパイル時ã«ç„¡åйã«ã•れã¦ã„ã¾ã™\n" -#~ msgid "Cannot execute " -#~ msgstr "実行ã§ãã¾ã›ã‚“ " +msgid "E27: Farsi cannot be used: Not enabled at compile time\n" +msgstr "E27: ペルシア語ã¯ä½¿ç”¨ä¸å¯èƒ½ã§ã™: コンパイル時ã«ç„¡åйã«ã•れã¦ã„ã¾ã™\n" -#~ msgid "shell " -#~ msgstr "シェル " +msgid "E800: Arabic cannot be used: Not enabled at compile time\n" +msgstr "E800: アラビア語ã¯ä½¿ç”¨ä¸å¯èƒ½ã§ã™: コンパイル時ã«ç„¡åйã«ã•れã¦ã„ã¾ã™\n" -#~ msgid " returned\n" -#~ msgstr " 戻りã¾ã—ãŸ\n" +#, c-format +msgid "E28: No such highlight group name: %s" +msgstr "E28: ãã®ã‚ˆã†ãªåã®ãƒã‚¤ãƒ©ã‚¤ãƒˆã‚°ãƒ«ãƒ¼ãƒ—ã¯ã‚りã¾ã›ã‚“: %s" -#~ msgid "ANCHOR_BUF_SIZE too small." -#~ msgstr "ANCHOR_BUF_SIZE ãŒå°ã•éŽãŽã¾ã™." +msgid "E29: No inserted text yet" +msgstr "E29: ã¾ã テã‚ã‚¹ãƒˆãŒæŒ¿å…¥ã•れã¦ã„ã¾ã›ã‚“" -#~ msgid "I/O ERROR" -#~ msgstr "入出力エラー" +msgid "E30: No previous command line" +msgstr "E30: 以å‰ã«ã‚³ãƒžãƒ³ãƒ‰è¡ŒãŒã‚りã¾ã›ã‚“" -#~ msgid "Message" -#~ msgstr "メッセージ" +msgid "E31: No such mapping" +msgstr "E31: ãã®ã‚ˆã†ãªãƒžãƒƒãƒ”ングã¯ã‚りã¾ã›ã‚“" -#~ msgid "'columns' is not 80, cannot execute external commands" -#~ msgstr "'columns' ãŒ80ã§ã¯ãªã„ãŸã‚, 外部コマンドを実行ã§ãã¾ã›ã‚“" +msgid "E479: No match" +msgstr "E479: 該当ã¯ã‚りã¾ã›ã‚“" -#~ msgid "E237: Printer selection failed" -#~ msgstr "E237: プリンタã®é¸æŠžã«å¤±æ•—ã—ã¾ã—ãŸ" +#, c-format +msgid "E480: No match: %s" +msgstr "E480: 該当ã¯ã‚りã¾ã›ã‚“: %s" -#~ msgid "to %s on %s" -#~ msgstr "%s 㸠(%s 上ã®)" +msgid "E32: No file name" +msgstr "E32: ファイルåãŒã‚りã¾ã›ã‚“" -#~ msgid "E613: Unknown printer font: %s" -#~ msgstr "E613: 未知ã®ãƒ—リンタオプションã§ã™: %s" +msgid "E33: No previous substitute regular expression" +msgstr "E33: æ£è¦è¡¨ç¾ç½®æ›ãŒã¾ã 実行ã•れã¦ã„ã¾ã›ã‚“" -#~ msgid "E238: Print error: %s" -#~ msgstr "E238: å°åˆ·ã‚¨ãƒ©ãƒ¼: %s" +msgid "E34: No previous command" +msgstr "E34: コマンドãŒã¾ã 実行ã•れã¦ã„ã¾ã›ã‚“" -#~ msgid "Printing '%s'" -#~ msgstr "å°åˆ·ã—ã¦ã„ã¾ã™: '%s'" +msgid "E35: No previous regular expression" +msgstr "E35: æ£è¦è¡¨ç¾ãŒã¾ã 実行ã•れã¦ã„ã¾ã›ã‚“" -#~ msgid "E244: Illegal charset name \"%s\" in font name \"%s\"" -#~ msgstr "E244: æ–‡å—セットå \"%s\" ã¯ä¸æ£ã§ã™ (フォントå \"%s\")" +msgid "E481: No range allowed" +msgstr "E481: 範囲指定ã¯è¨±å¯ã•れã¦ã„ã¾ã›ã‚“" -#~ msgid "E245: Illegal char '%c' in font name \"%s\"" -#~ msgstr "E245: '%c' ã¯ä¸æ£ãªæ–‡å—ã§ã™ (フォントå \"%s\")" +msgid "E36: Not enough room" +msgstr "E36: ウィンドウã«å分ãªé«˜ã•ã‚‚ã—ãã¯å¹…ãŒã‚りã¾ã›ã‚“" -#~ msgid "Vim: Double signal, exiting\n" -#~ msgstr "Vim: 2é‡ã®ã‚·ã‚°ãƒŠãƒ«ã®ãŸã‚, 終了ã—ã¾ã™\n" +#, c-format +msgid "E247: no registered server named \"%s\"" +msgstr "E247: %s ã¨ã„ã†åå‰ã®ç™»éŒ²ã•れãŸã‚µãƒ¼ãƒãƒ¼ã¯ã‚りã¾ã›ã‚“" -#~ msgid "Vim: Caught deadly signal %s\n" -#~ msgstr "Vim: 致命的シグナル %s を検知ã—ã¾ã—ãŸ\n" +#, c-format +msgid "E482: Can't create file %s" +msgstr "E482: ファイル %s を作æˆã§ãã¾ã›ã‚“" -#~ msgid "Vim: Caught deadly signal\n" -#~ msgstr "Vim: 致命的シグナルを検知ã—ã¾ã—ãŸ\n" +msgid "E483: Can't get temp file name" +msgstr "E483: 一時ファイルã®åå‰ã‚’å–å¾—ã§ãã¾ã›ã‚“" -#~ msgid "Opening the X display took %<PRId64> msec" -#~ msgstr "Xサーãƒã¸ã®æŽ¥ç¶šã« %<PRId64> ミリ秒ã‹ã‹ã‚Šã¾ã—ãŸ" +#, c-format +msgid "E484: Can't open file %s" +msgstr "E484: ファイル \"%s\" ã‚’é–‹ã‘ã¾ã›ã‚“" -#~ msgid "" -#~ "\n" -#~ "Vim: Got X error\n" -#~ msgstr "" -#~ "\n" -#~ "Vim: X ã®ã‚¨ãƒ©ãƒ¼ã‚’検出ã—ã¾ã—ãŸr\n" +#, c-format +msgid "E485: Can't read file %s" +msgstr "E485: ファイル %s ã‚’èªè¾¼ã‚ã¾ã›ã‚“" -#~ msgid "Testing the X display failed" -#~ msgstr "X display ã®ãƒã‚§ãƒƒã‚¯ã«å¤±æ•—ã—ã¾ã—ãŸ" +msgid "E37: No write since last change (add ! to override)" +msgstr "E37: 最後ã®å¤‰æ›´ãŒä¿å˜ã•れã¦ã„ã¾ã›ã‚“ (! ã‚’è¿½åŠ ã§å¤‰æ›´ã‚’ç ´æ£„)" -#~ msgid "Opening the X display timed out" -#~ msgstr "X display ã® open ãŒã‚¿ã‚¤ãƒ アウトã—ã¾ã—ãŸ" +msgid "E37: No write since last change" +msgstr "E37: 最後ã®å¤‰æ›´ãŒä¿å˜ã•れã¦ã„ã¾ã›ã‚“" -#~ msgid "" -#~ "\n" -#~ "Cannot execute shell sh\n" -#~ msgstr "" -#~ "\n" -#~ "sh シェルを実行ã§ãã¾ã›ã‚“\n" +msgid "E38: Null argument" +msgstr "E38: 引数ãŒç©ºã§ã™" -#~ msgid "" -#~ "\n" -#~ "Cannot create pipes\n" -#~ msgstr "" -#~ "\n" -#~ "パイプを作æˆã§ãã¾ã›ã‚“\n" +msgid "E39: Number expected" +msgstr "E39: 数値ãŒè¦æ±‚ã•れã¦ã„ã¾ã™" -#~ msgid "" -#~ "\n" -#~ "Cannot fork\n" -#~ msgstr "" -#~ "\n" -#~ "fork ã§ãã¾ã›ã‚“\n" +#, c-format +msgid "E40: Can't open errorfile %s" +msgstr "E40: エラーファイル %s ã‚’é–‹ã‘ã¾ã›ã‚“" -#~ msgid "" -#~ "\n" -#~ "Command terminated\n" -#~ msgstr "" -#~ "\n" -#~ "ã‚³ãƒžãƒ³ãƒ‰ã‚’ä¸æ–ã—ã¾ã—ãŸ\n" +msgid "E233: cannot open display" +msgstr "E233: ディスプレイを開ã‘ã¾ã›ã‚“" -#~ msgid "XSMP lost ICE connection" -#~ msgstr "XSMP ãŒICE接続を失ã„ã¾ã—ãŸ" +msgid "E41: Out of memory!" +msgstr "E41: メモリãŒå°½ãæžœã¦ã¾ã—ãŸ!" -#~ msgid "Opening the X display failed" -#~ msgstr "X display ã® open ã«å¤±æ•—ã—ã¾ã—ãŸ" +msgid "Pattern not found" +msgstr "パターンã¯è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ" -#~ msgid "XSMP handling save-yourself request" -#~ msgstr "XSMP ãŒsave-yourselfè¦æ±‚を処ç†ã—ã¦ã„ã¾ã™" +#, c-format +msgid "E486: Pattern not found: %s" +msgstr "E486: パターンã¯è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ: %s" -#~ msgid "XSMP opening connection" -#~ msgstr "XSMP ãŒæŽ¥ç¶šã‚’é–‹å§‹ã—ã¦ã„ã¾ã™" +msgid "E487: Argument must be positive" +msgstr "E487: å¼•æ•°ã¯æ£ã®å€¤ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“" -#~ msgid "XSMP ICE connection watch failed" -#~ msgstr "XSMP ICE接続ãŒå¤±æ•—ã—ãŸã‚ˆã†ã§ã™" +msgid "E459: Cannot go back to previous directory" +msgstr "E459: å‰ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«æˆ»ã‚Œã¾ã›ã‚“" -#~ msgid "XSMP SmcOpenConnection failed: %s" -#~ msgstr "XSMP SmcOpenConnectionãŒå¤±æ•—ã—ã¾ã—ãŸ: %s" +msgid "E42: No Errors" +msgstr "E42: エラーã¯ã‚りã¾ã›ã‚“" -#~ msgid "At line" -#~ msgstr "行" +msgid "E776: No location list" +msgstr "E776: ãƒã‚±ãƒ¼ã‚·ãƒ§ãƒ³ãƒªã‚¹ãƒˆã¯ã‚りã¾ã›ã‚“" -#~ msgid "Could not load vim32.dll!" -#~ msgstr "vim32.dll ã‚’ãƒãƒ¼ãƒ‰ã§ãã¾ã›ã‚“ã§ã—ãŸ" +msgid "E43: Damaged match string" +msgstr "E43: 該当文å—列ãŒç ´æã—ã¦ã„ã¾ã™" -#~ msgid "VIM Error" -#~ msgstr "VIMエラー" +msgid "E44: Corrupted regexp program" +msgstr "E44: 䏿£ãªæ£è¦è¡¨ç¾ãƒ—ãƒã‚°ãƒ©ãƒ ã§ã™" -#~ msgid "Could not fix up function pointers to the DLL!" -#~ msgstr "DLLã‹ã‚‰é–¢æ•°ãƒã‚¤ãƒ³ã‚¿ã‚’å–å¾—ã§ãã¾ã›ã‚“ã§ã—ãŸ" +msgid "E45: 'readonly' option is set (add ! to override)" +msgstr "E45: 'readonly' オプションãŒè¨å®šã•れã¦ã„ã¾ã™ (! ã‚’è¿½åŠ ã§ä¸Šæ›¸ã)" -#~ msgid "shell returned %d" -#~ msgstr "シェルãŒã‚³ãƒ¼ãƒ‰ %d ã§çµ‚了ã—ã¾ã—ãŸ" +#, c-format +msgid "E46: Cannot change read-only variable \"%s\"" +msgstr "E46: èªå–専用変数 \"%s\" ã«ã¯å€¤ã‚’è¨å®šã§ãã¾ã›ã‚“" -#~ msgid "Vim: Caught %s event\n" -#~ msgstr "Vim: イベント %s を検知\n" +#, c-format +msgid "E794: Cannot set variable in the sandbox: \"%s\"" +msgstr "E794: サンドボックスã§ã¯å¤‰æ•° \"%s\" ã«å€¤ã‚’è¨å®šã§ãã¾ã›ã‚“" -#~ msgid "close" -#~ msgstr "é–‰ã˜ã‚‹" +msgid "E713: Cannot use empty key for Dictionary" +msgstr "E713: 辞書型ã«ç©ºã®ã‚ーを使ã†ã“ã¨ã¯ã§ãã¾ã›ã‚“" -#~ msgid "logoff" -#~ msgstr "ãƒã‚°ã‚ªãƒ•" +msgid "E715: Dictionary required" +msgstr "E715: 辞書型ãŒå¿…è¦ã§ã™" -#~ msgid "shutdown" -#~ msgstr "シャットダウン" +#, c-format +msgid "E684: list index out of range: %ld" +msgstr "E684: リストã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ãŒç¯„囲外ã§ã™: %ld" -#~ msgid "E371: Command not found" -#~ msgstr "E371: コマンドãŒã‚りã¾ã›ã‚“" - -#~ msgid "" -#~ "VIMRUN.EXE not found in your $PATH.\n" -#~ "External commands will not pause after completion.\n" -#~ "See :help win32-vimrun for more information." -#~ msgstr "" -#~ "VIMRUN.EXE㌠$PATH ã®ä¸ã«è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“.\n" -#~ "外部コマンドã®çµ‚了後ã«ä¸€æ™‚åœæ¢ã‚’ã—ã¾ã›ã‚“.\n" -#~ "詳細㯠:help win32-vimrun ã‚’å‚ç…§ã—ã¦ãã ã•ã„." - -#~ msgid "Vim Warning" -#~ msgstr "Vimã®è¦å‘Š" - -#~ msgid "Error file" -#~ msgstr "エラーファイル" - -#~ msgid "E868: Error building NFA with equivalence class!" -#~ msgstr "E868: ç‰ä¾¡ã‚¯ãƒ©ã‚¹ã‚’å«ã‚€NFA構築ã«å¤±æ•—ã—ã¾ã—ãŸ!" - -#~ msgid "E878: (NFA) Could not allocate memory for branch traversal!" -#~ msgstr "E878: (NFA) ç¾åœ¨æ¨ªæ–ä¸ã®ãƒ–ランãƒã«å分ãªãƒ¡ãƒ¢ãƒªã‚’割り当ã¦ã‚‰ã‚Œã¾ã›ã‚“!" - -#~ msgid "Warning: Cannot find word list \"%s_%s.spl\" or \"%s_ascii.spl\"" -#~ msgstr "" -#~ "è¦å‘Š: å˜èªžãƒªã‚¹ãƒˆ \"%s_%s.spl\" ãŠã‚ˆã³ \"%s_ascii.spl\" ã¯è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" - -#~ msgid "Conversion in %s not supported" -#~ msgstr "%s 内ã®å¤‰æ›ã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“" - -#~ msgid "E845: Insufficient memory, word list will be incomplete" -#~ msgstr "E845: メモリãŒè¶³ã‚Šãªã„ã®ã§ã€å˜èªžãƒªã‚¹ãƒˆã¯ä¸å®Œå…¨ã§ã™" - -#~ msgid "E430: Tag file path truncated for %s\n" -#~ msgstr "E430: タグファイルã®ãƒ‘ス㌠%s ã«åˆ‡ã‚Šæ¨ã¦ã‚‰ã‚Œã¾ã—ãŸ\n" - -#~ msgid "new shell started\n" -#~ msgstr "æ–°ã—ã„シェルを起動ã—ã¾ã™\n" - -#~ msgid "Used CUT_BUFFER0 instead of empty selection" -#~ msgstr "空ã®é¸æŠžé ˜åŸŸã®ã‹ã‚りã«CUT_BUFFER0ãŒä½¿ç”¨ã•れã¾ã—ãŸ" - -#~ msgid "No undo possible; continue anyway" -#~ msgstr "å¯èƒ½ãªã‚¢ãƒ³ãƒ‰ã‚¥ã¯ã‚りã¾ã›ã‚“: ã¨ã‚Šã‚ãˆãšç¶šã‘ã¾ã™" - -#~ msgid "E832: Non-encrypted file has encrypted undo file: %s" -#~ msgstr "" -#~ "E832: éžæš—å·åŒ–ãƒ•ã‚¡ã‚¤ãƒ«ãŒæš—å·åŒ–ã•れãŸã‚¢ãƒ³ãƒ‰ã‚¥ãƒ•ァイルを使ã£ã¦ã¾ã™: %s" - -#~ msgid "E826: Undo file decryption failed: %s" -#~ msgstr "E826: æš—å·åŒ–ã•れãŸã‚¢ãƒ³ãƒ‰ã‚¥ãƒ•ァイルã®è§£èªã«å¤±æ•—ã—ã¾ã—ãŸ: %s" - -#~ msgid "E827: Undo file is encrypted: %s" -#~ msgstr "E827: ã‚¢ãƒ³ãƒ‰ã‚¥ãƒ•ã‚¡ã‚¤ãƒ«ãŒæš—å·åŒ–ã•れã¦ã„ã¾ã™: %s" - -#~ msgid "" -#~ "\n" -#~ "MS-Windows 16/32-bit GUI version" -#~ msgstr "" -#~ "\n" -#~ "MS-Windows 16/32 ビット GUI 版" - -#~ msgid "" -#~ "\n" -#~ "MS-Windows 64-bit GUI version" -#~ msgstr "" -#~ "\n" -#~ "MS-Windows 64 ビット GUI 版" - -#~ msgid "" -#~ "\n" -#~ "MS-Windows 32-bit GUI version" -#~ msgstr "" -#~ "\n" -#~ "MS-Windows 32 ビット GUI 版" - -#~ msgid " in Win32s mode" -#~ msgstr " in Win32s モード" - -#~ msgid " with OLE support" -#~ msgstr " with OLE サãƒãƒ¼ãƒˆ" - -#~ msgid "" -#~ "\n" -#~ "MS-Windows 64-bit console version" -#~ msgstr "" -#~ "\n" -#~ "MS-Windows 64 ビット コンソール 版" - -#~ msgid "" -#~ "\n" -#~ "MS-Windows 32-bit console version" -#~ msgstr "" -#~ "\n" -#~ "MS-Windows 32 ビット コンソール 版" - -#~ msgid "" -#~ "\n" -#~ "MS-Windows 16-bit version" -#~ msgstr "" -#~ "\n" -#~ "MS-Windows 16 ビット 版" - -#~ msgid "" -#~ "\n" -#~ "32-bit MS-DOS version" -#~ msgstr "" -#~ "\n" -#~ "32 ビット MS-DOS 版" - -#~ msgid "" -#~ "\n" -#~ "16-bit MS-DOS version" -#~ msgstr "" -#~ "\n" -#~ "16 ビット MS-DOS 版" - -#~ msgid "" -#~ "\n" -#~ "MacOS X (unix) version" -#~ msgstr "" -#~ "\n" -#~ "MacOS X (unix) 版" - -#~ msgid "" -#~ "\n" -#~ "MacOS X version" -#~ msgstr "" -#~ "\n" -#~ "MacOS X 版" - -#~ msgid "" -#~ "\n" -#~ "MacOS version" -#~ msgstr "" -#~ "\n" -#~ "MacOS 版" - -#~ msgid "" -#~ "\n" -#~ "OpenVMS version" -#~ msgstr "" -#~ "\n" -#~ "OpenVMS 版" - -#~ msgid "" -#~ "\n" -#~ "Big version " -#~ msgstr "" -#~ "\n" -#~ "Big 版 " - -#~ msgid "" -#~ "\n" -#~ "Normal version " -#~ msgstr "" -#~ "\n" -#~ "通常 版 " - -#~ msgid "" -#~ "\n" -#~ "Small version " -#~ msgstr "" -#~ "\n" -#~ "Small 版 " - -#~ msgid "" -#~ "\n" -#~ "Tiny version " -#~ msgstr "" -#~ "\n" -#~ "Tiny 版 " - -#~ msgid "with GTK2-GNOME GUI." -#~ msgstr "with GTK2-GNOME GUI." +#, c-format +msgid "E118: Too many arguments for function: %s" +msgstr "E118: 関数ã®å¼•æ•°ãŒå¤šéŽãŽã¾ã™: %s" -#~ msgid "with GTK2 GUI." -#~ msgstr "with GTK2 GUI." +#, c-format +msgid "E716: Key not present in Dictionary: %s" +msgstr "E716: 辞書型ã«ã‚ーãŒå˜åœ¨ã—ã¾ã›ã‚“: %s" -#~ msgid "with X11-Motif GUI." -#~ msgstr "with X11-Motif GUI." +msgid "E714: List required" +msgstr "E714: リスト型ãŒå¿…è¦ã§ã™" -#~ msgid "with X11-neXtaw GUI." -#~ msgstr "with X11-neXtaw GUI." +#, c-format +msgid "E712: Argument of %s must be a List or Dictionary" +msgstr "E712: %s ã®å¼•æ•°ã¯ãƒªã‚¹ãƒˆåž‹ã¾ãŸã¯è¾žæ›¸åž‹ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“" -#~ msgid "with X11-Athena GUI." -#~ msgstr "with X11-Athena GUI." +msgid "E47: Error while reading errorfile" +msgstr "E47: エラーファイルã®èªè¾¼ä¸ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ" -#~ msgid "with Photon GUI." -#~ msgstr "with Photon GUI." +msgid "E48: Not allowed in sandbox" +msgstr "E48: サンドボックスã§ã¯è¨±ã•れã¾ã›ã‚“" -#~ msgid "with GUI." -#~ msgstr "with GUI." +msgid "E523: Not allowed here" +msgstr "E523: ã“ã“ã§ã¯è¨±å¯ã•れã¾ã›ã‚“" -#~ msgid "with Carbon GUI." -#~ msgstr "with Carbon GUI." +msgid "E359: Screen mode setting not supported" +msgstr "E359: スクリーンモードã®è¨å®šã«ã¯å¯¾å¿œã—ã¦ã„ã¾ã›ã‚“" -#~ msgid "with Cocoa GUI." -#~ msgstr "with Cocoa GUI." +msgid "E49: Invalid scroll size" +msgstr "E49: 無効ãªã‚¹ã‚¯ãƒãƒ¼ãƒ«é‡ã§ã™" -#~ msgid "with (classic) GUI." -#~ msgstr "with (クラシック) GUI." +msgid "E91: 'shell' option is empty" +msgstr "E91: 'shell' オプションãŒç©ºã§ã™" -#~ msgid " system gvimrc file: \"" -#~ msgstr " システムgvimrc: \"" +msgid "E255: Couldn't read in sign data!" +msgstr "E255: sign ã®ãƒ‡ãƒ¼ã‚¿ã‚’èªè¾¼ã‚ã¾ã›ã‚“ã§ã—ãŸ" -#~ msgid " user gvimrc file: \"" -#~ msgstr " ユーザ gvimrc: \"" +msgid "E72: Close error on swap file" +msgstr "E72: スワップファイルã®ã‚¯ãƒãƒ¼ã‚ºæ™‚エラーã§ã™" -#~ msgid "2nd user gvimrc file: \"" -#~ msgstr " 第2ユーザ gvimrc: \"" +msgid "E73: tag stack empty" +msgstr "E73: タグスタックãŒç©ºã§ã™" -#~ msgid "3rd user gvimrc file: \"" -#~ msgstr " 第3ユーザ gvimrc: \"" +msgid "E74: Command too complex" +msgstr "E74: コマンドãŒè¤‡é›‘éŽãŽã¾ã™" -#~ msgid " system menu file: \"" -#~ msgstr " システムメニュー: \"" +msgid "E75: Name too long" +msgstr "E75: åå‰ãŒé•·éŽãŽã¾ã™" -#~ msgid "Compiler: " -#~ msgstr "コンパイラ: " +msgid "E76: Too many [" +msgstr "E76: [ ãŒå¤šéŽãŽã¾ã™" -#~ msgid "menu Help->Orphans for information " -#~ msgstr "詳細ã¯ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã® ヘルプ→å¤å… ã‚’å‚ç…§ã—ã¦ä¸‹ã•ã„ " +msgid "E77: Too many file names" +msgstr "E77: ファイルåãŒå¤šéŽãŽã¾ã™" -#~ msgid "Running modeless, typed text is inserted" -#~ msgstr "モード無ã§å®Ÿè¡Œä¸, タイプã—ãŸæ–‡å—ãŒæŒ¿å…¥ã•れã¾ã™" +msgid "E488: Trailing characters" +msgstr "E488: ä½™åˆ†ãªæ–‡å—ãŒå¾Œã‚ã«ã‚りã¾ã™" -#~ msgid "menu Edit->Global Settings->Toggle Insert Mode " -#~ msgstr "メニュー㮠編集→全体è¨å®šâ†’挿入(åˆå¿ƒè€…)モード切替 " +msgid "E78: Unknown mark" +msgstr "E78: 未知ã®ãƒžãƒ¼ã‚¯" -#~ msgid " for two modes " -#~ msgstr " ã§ãƒ¢ãƒ¼ãƒ‰æœ‰ã« " +msgid "E79: Cannot expand wildcards" +msgstr "E79: ワイルドカードを展開ã§ãã¾ã›ã‚“" -#~ msgid "menu Edit->Global Settings->Toggle Vi Compatible" -#~ msgstr "メニュー㮠編集→全体è¨å®šâ†’Vi互æ›ãƒ¢ãƒ¼ãƒ‰åˆ‡æ›¿ " +msgid "E591: 'winheight' cannot be smaller than 'winminheight'" +msgstr "E591: 'winheight' 㯠'winminheight' よりå°ã•ãã§ãã¾ã›ã‚“" -#~ msgid " for Vim defaults " -#~ msgstr " ã§Vimã¨ã—ã¦å‹•作 " +msgid "E592: 'winwidth' cannot be smaller than 'winminwidth'" +msgstr "E592: 'winwidth' 㯠'winminwidth' よりå°ã•ãã§ãã¾ã›ã‚“" -#~ msgid "WARNING: Windows 95/98/ME detected" -#~ msgstr " è¦å‘Š: Windows 95/98/Me を検出 " +msgid "E80: Error while writing" +msgstr "E80: 書込ã¿ä¸ã®ã‚¨ãƒ©ãƒ¼" -#~ msgid "type :help windows95<Enter> for info on this" -#~ msgstr " è©³ç´°ãªæƒ…å ±ã¯ :help windows95<Enter> " +msgid "Zero count" +msgstr "ゼãƒã‚«ã‚¦ãƒ³ãƒˆ" -#~ msgid "Edit with &multiple Vims" -#~ msgstr "複数ã®Vimã§ç·¨é›†ã™ã‚‹ (&M)" +msgid "E81: Using <SID> not in a script context" +msgstr "E81: スクリプト以外ã§<SID>ãŒä½¿ã‚れã¾ã—ãŸ" -#~ msgid "Edit with single &Vim" -#~ msgstr "1ã¤ã®Vimã§ç·¨é›†ã™ã‚‹ (&V)" +msgid "E449: Invalid expression received" +msgstr "E449: 無効ãªå¼ã‚’å—ã‘å–りã¾ã—ãŸ" -#~ msgid "Diff with Vim" -#~ msgstr "Vimã§å·®åˆ†ã‚’表示ã™ã‚‹" +msgid "E463: Region is guarded, cannot modify" +msgstr "E463: é ˜åŸŸãŒä¿è·ã•れã¦ã„ã‚‹ã®ã§, 変更ã§ãã¾ã›ã‚“" -#~ msgid "Edit with &Vim" -#~ msgstr "Vimã§ç·¨é›†ã™ã‚‹ (&V)" +msgid "E744: NetBeans does not allow changes in read-only files" +msgstr "E744: NetBeans ã¯èªè¾¼å°‚用ファイルを変更ã™ã‚‹ã“ã¨ã‚’許ã—ã¾ã›ã‚“" -#~ msgid "Edit with existing Vim - " -#~ msgstr "起動済ã®Vimã§ç·¨é›†ã™ã‚‹ - " +#, c-format +msgid "E685: Internal error: %s" +msgstr "E685: 内部エラーã§ã™: %s" -#~ msgid "Edits the selected file(s) with Vim" -#~ msgstr "é¸æŠžã—ãŸãƒ•ァイルをVimã§ç·¨é›†ã™ã‚‹" +msgid "E363: pattern uses more memory than 'maxmempattern'" +msgstr "E363: パターン㌠'maxmempattern' 以上ã®ãƒ¡ãƒ¢ãƒªã‚’使用ã—ã¾ã™" -#~ msgid "Error creating process: Check if gvim is in your path!" -#~ msgstr "プãƒã‚»ã‚¹ã®ä½œæˆã«å¤±æ•—: gvimãŒç’°å¢ƒå¤‰æ•°PATH上ã«ã‚ã‚‹ã‹ç¢ºèªã—ã¦ãã ã•ã„!" +msgid "E749: empty buffer" +msgstr "E749: ãƒãƒƒãƒ•ã‚¡ãŒç©ºã§ã™" -#~ msgid "gvimext.dll error" -#~ msgstr "gvimext.dll エラー" +#, c-format +msgid "E86: Buffer %ld does not exist" +msgstr "E86: ãƒãƒƒãƒ•ã‚¡ %ld ã¯ã‚りã¾ã›ã‚“" -#~ msgid "Path length too long!" -#~ msgstr "パスãŒé•·ã™ãŽã¾ã™!" +msgid "E682: Invalid search pattern or delimiter" +msgstr "E682: 検索パターンã‹åŒºåˆ‡ã‚Šè¨˜å·ãŒä¸æ£ã§ã™" -#~ msgid "E234: Unknown fontset: %s" -#~ msgstr "E234: 未知ã®ãƒ•ォントセット: %s" +msgid "E139: File is loaded in another buffer" +msgstr "E139: åŒã˜åå‰ã®ãƒ•ァイルãŒä»–ã®ãƒãƒƒãƒ•ã‚¡ã§èªè¾¼ã¾ã‚Œã¦ã„ã¾ã™" -#~ msgid "E235: Unknown font: %s" -#~ msgstr "E235: 未知ã®ãƒ•ォント: %s" +#, c-format +msgid "E764: Option '%s' is not set" +msgstr "E764: オプション '%s' ã¯è¨å®šã•れã¦ã„ã¾ã›ã‚“" -#~ msgid "E236: Font \"%s\" is not fixed-width" -#~ msgstr "E236: フォント \"%s\" ã¯å›ºå®šå¹…ã§ã¯ã‚りã¾ã›ã‚“" +msgid "E850: Invalid register name" +msgstr "E850: 無効ãªãƒ¬ã‚¸ã‚¹ã‚¿åã§ã™" -#~ msgid "E448: Could not load library function %s" -#~ msgstr "E448: ライブラリã®é–¢æ•° %s ã‚’ãƒãƒ¼ãƒ‰ã§ãã¾ã›ã‚“ã§ã—ãŸ" +#, c-format +msgid "E919: Directory not found in '%s': \"%s\"" +msgstr "E919: ディレクトリ㌠'%s' ã®ä¸ã«ã‚りã¾ã›ã‚“: \"%s\"" -#~ msgid "E26: Hebrew cannot be used: Not enabled at compile time\n" -#~ msgstr "E26: ヘブライ語ã¯ä½¿ç”¨ä¸å¯èƒ½ã§ã™: コンパイル時ã«ç„¡åйã«ã•れã¦ã„ã¾ã™\n" +msgid "search hit TOP, continuing at BOTTOM" +msgstr "上ã¾ã§æ¤œç´¢ã—ãŸã®ã§ä¸‹ã«æˆ»ã‚Šã¾ã™" -#~ msgid "E27: Farsi cannot be used: Not enabled at compile time\n" -#~ msgstr "E27: ペルシア語ã¯ä½¿ç”¨ä¸å¯èƒ½ã§ã™: コンパイル時ã«ç„¡åйã«ã•れã¦ã„ã¾ã™\n" +msgid "search hit BOTTOM, continuing at TOP" +msgstr "下ã¾ã§æ¤œç´¢ã—ãŸã®ã§ä¸Šã«æˆ»ã‚Šã¾ã™" -#~ msgid "E800: Arabic cannot be used: Not enabled at compile time\n" -#~ msgstr "" -#~ "E800: アラビア語ã¯ä½¿ç”¨ä¸å¯èƒ½ã§ã™: コンパイル時ã«ç„¡åйã«ã•れã¦ã„ã¾ã™\n" +#, c-format +msgid "Need encryption key for \"%s\"" +msgstr "æš—å·ã‚ーãŒå¿…è¦ã§ã™: \"%s\"" -#~ msgid "E247: no registered server named \"%s\"" -#~ msgstr "E247: %s ã¨ã„ã†åå‰ã®ç™»éŒ²ã•れãŸã‚µãƒ¼ãƒã¯ã‚りã¾ã›ã‚“" +msgid "empty keys are not allowed" +msgstr "空ã®ã‚ーã¯è¨±å¯ã•れã¦ã„ã¾ã›ã‚“" -#~ msgid "E233: cannot open display" -#~ msgstr "E233: ディスプレイを開ã‘ã¾ã›ã‚“" +msgid "dictionary is locked" +msgstr "辞書ã¯ãƒãƒƒã‚¯ã•れã¦ã„ã¾ã™" -#~ msgid "E449: Invalid expression received" -#~ msgstr "E449: 無効ãªå¼ã‚’å—ã‘å–りã¾ã—ãŸ" +msgid "list is locked" +msgstr "リストã¯ãƒãƒƒã‚¯ã•れã¦ã„ã¾ã™" -#~ msgid "E463: Region is guarded, cannot modify" -#~ msgstr "E463: é ˜åŸŸãŒä¿è·ã•れã¦ã„ã‚‹ã®ã§, 変更ã§ãã¾ã›ã‚“" +#, c-format +msgid "failed to add key '%s' to dictionary" +msgstr "辞書ã«ã‚ー '%s' ã‚’è¿½åŠ ã™ã‚‹ã®ã«å¤±æ•—ã—ã¾ã—ãŸ" -#~ msgid "E744: NetBeans does not allow changes in read-only files" -#~ msgstr "E744: NetBeans ã¯èªè¾¼å°‚用ファイルを変更ã™ã‚‹ã“ã¨ã‚’許ã—ã¾ã›ã‚“" +#, c-format +msgid "index must be int or slice, not %s" +msgstr "インデックス㯠%s ã§ã¯ãªãæ•´æ•°ã‹ã‚¹ãƒ©ã‚¤ã‚¹ã«ã—ã¦ãã ã•ã„" -#~ msgid "Need encryption key for \"%s\"" -#~ msgstr "æš—å·ã‚ーãŒå¿…è¦ã§ã™: \"%s\"" +#, c-format +msgid "expected str() or unicode() instance, but got %s" +msgstr "str() ã‚‚ã—ã㯠unicode() ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ãŒæœŸå¾…ã•れã¦ã„ã‚‹ã®ã« %s ã§ã—ãŸ" -#~ msgid "empty keys are not allowed" -#~ msgstr "空ã®ã‚ーã¯è¨±å¯ã•れã¦ã„ã¾ã›ã‚“" +#, c-format +msgid "expected bytes() or str() instance, but got %s" +msgstr "bytes() ã‚‚ã—ã㯠str() ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ãŒæœŸå¾…ã•れã¦ã„ã‚‹ã®ã« %s ã§ã—ãŸ" -#~ msgid "dictionary is locked" -#~ msgstr "辞書ã¯ãƒãƒƒã‚¯ã•れã¦ã„ã¾ã™" +#, c-format +msgid "" +"expected int(), long() or something supporting coercing to long(), but got %s" +msgstr "long() ã‹ãれã¸å¤‰æ›å¯èƒ½ãªã‚‚ã®ãŒæœŸå¾…ã•れã¦ã„ã‚‹ã®ã« %s ã§ã—ãŸ" -#~ msgid "list is locked" -#~ msgstr "リストã¯ãƒãƒƒã‚¯ã•れã¦ã„ã¾ã™" +#, c-format +msgid "expected int() or something supporting coercing to int(), but got %s" +msgstr "int() ã‹ãれã¸å¤‰æ›å¯èƒ½ãªã‚‚ã®ãŒæœŸå¾…ã•れã¦ã„ã‚‹ã®ã« %s ã§ã—ãŸ" -#~ msgid "failed to add key '%s' to dictionary" -#~ msgstr "辞書ã«ã‚ー '%s' ã‚’è¿½åŠ ã™ã‚‹ã®ã«å¤±æ•—ã—ã¾ã—ãŸ" +msgid "value is too large to fit into C int type" +msgstr "C言語㮠int åž‹ã¨ã—ã¦ã¯å€¤ãŒå¤§ãéŽãŽã¾ã™" -#~ msgid "index must be int or slice, not %s" -#~ msgstr "インデックス㯠%s ã§ã¯ãªãæ•´æ•°ã‹ã‚¹ãƒ©ã‚¤ã‚¹ã«ã—ã¦ãã ã•ã„" +msgid "value is too small to fit into C int type" +msgstr "C言語㮠int åž‹ã¨ã—ã¦ã¯å€¤ãŒå°ã•éŽãŽã¾ã™" -#~ msgid "expected str() or unicode() instance, but got %s" -#~ msgstr "" -#~ "str() ã‚‚ã—ã㯠unicode() ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ãŒæœŸå¾…ã•れã¦ã„ã‚‹ã®ã« %s ã§ã—ãŸ" +msgid "number must be greater than zero" +msgstr "数値㯠0 より大ãããªã‘れã°ãªã‚Šã¾ã›ã‚“" -#~ msgid "expected bytes() or str() instance, but got %s" -#~ msgstr "bytes() ã‚‚ã—ã㯠str() ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ãŒæœŸå¾…ã•れã¦ã„ã‚‹ã®ã« %s ã§ã—ãŸ" +msgid "number must be greater or equal to zero" +msgstr "数値㯠0 ã‹ãれ以上ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“" -#~ msgid "" -#~ "expected int(), long() or something supporting coercing to long(), but " -#~ "got %s" -#~ msgstr "long() ã‹ãれã¸å¤‰æ›å¯èƒ½ãªã‚‚ã®ãŒæœŸå¾…ã•れã¦ã„ã‚‹ã®ã« %s ã§ã—ãŸ" +msgid "can't delete OutputObject attributes" +msgstr "OutputObject属性を消ã›ã¾ã›ã‚“" -#~ msgid "expected int() or something supporting coercing to int(), but got %s" -#~ msgstr "int() ã‹ãれã¸å¤‰æ›å¯èƒ½ãªã‚‚ã®ãŒæœŸå¾…ã•れã¦ã„ã‚‹ã®ã« %s ã§ã—ãŸ" +#, c-format +msgid "invalid attribute: %s" +msgstr "無効ãªå±žæ€§ã§ã™: %s" -#~ msgid "value is too large to fit into C int type" -#~ msgstr "C言語㮠int åž‹ã¨ã—ã¦ã¯å€¤ãŒå¤§ãéŽãŽã¾ã™" +msgid "E264: Python: Error initialising I/O objects" +msgstr "E264: Python: I/Oオブジェクトã®åˆæœŸåŒ–エラー" -#~ msgid "value is too small to fit into C int type" -#~ msgstr "C言語㮠int åž‹ã¨ã—ã¦ã¯å€¤ãŒå°ã•éŽãŽã¾ã™" +msgid "failed to change directory" +msgstr "辞書ã®å¤‰æ›´ã«å¤±æ•—ã—ã¾ã—ãŸ" -#~ msgid "number must be greater then zero" -#~ msgstr "数値㯠0 より大ãããªã‘れã°ãªã‚Šã¾ã›ã‚“" +#, c-format +msgid "expected 3-tuple as imp.find_module() result, but got %s" +msgstr "imp.find_module() ㌠%s ã‚’è¿”ã—ã¾ã—㟠(期待値: 3 è¦ç´ ã®ã‚¿ãƒ—ル)" -#~ msgid "number must be greater or equal to zero" -#~ msgstr "数値㯠0 ã‹ãれ以上ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“" +#, c-format +msgid "expected 3-tuple as imp.find_module() result, but got tuple of size %d" +msgstr "imp.find_module() ㌠%d è¦ç´ ã®ã‚¿ãƒ—ルを返ã—ã¾ã—㟠(期待値: 3)" -#~ msgid "can't delete OutputObject attributes" -#~ msgstr "OutputObject属性を消ã›ã¾ã›ã‚“" +msgid "internal error: imp.find_module returned tuple with NULL" +msgstr "内部エラー: imp.find_module ㌠NULL ã‚’å«ã‚€ã‚¿ãƒ—ルを返ã—ã¾ã—ãŸ" -#~ msgid "invalid attribute: %s" -#~ msgstr "無効ãªå±žæ€§ã§ã™: %s" +msgid "cannot delete vim.Dictionary attributes" +msgstr "vim.Dictionaryå±žæ€§ã¯æ¶ˆã›ã¾ã›ã‚“" -#~ msgid "E264: Python: Error initialising I/O objects" -#~ msgstr "E264: Python: I/Oオブジェクトã®åˆæœŸåŒ–エラー" +msgid "cannot modify fixed dictionary" +msgstr "固定ã•れãŸè¾žæ›¸ã¯å¤‰æ›´ã§ãã¾ã›ã‚“" -#~ msgid "failed to change directory" -#~ msgstr "辞書ã®å¤‰æ›´ã«å¤±æ•—ã—ã¾ã—ãŸ" +#, c-format +msgid "cannot set attribute %s" +msgstr "属性 %s ã¯è¨å®šã§ãã¾ã›ã‚“" -#~ msgid "expected 3-tuple as imp.find_module() result, but got %s" -#~ msgstr "imp.find_module() ㌠%s ã‚’è¿”ã—ã¾ã—㟠(期待値: 2 è¦ç´ ã®ã‚¿ãƒ—ル)" +msgid "hashtab changed during iteration" +msgstr "イテレーションä¸ã« hashtab ãŒå¤‰æ›´ã•れã¾ã—ãŸ" -#~ msgid "" -#~ "expected 3-tuple as imp.find_module() result, but got tuple of size %d" -#~ msgstr "impl.find_module() ㌠%d è¦ç´ ã®ã‚¿ãƒ—ルを返ã—ã¾ã—㟠(期待値: 2)" +#, c-format +msgid "expected sequence element of size 2, but got sequence of size %d" +msgstr "シーケンスã®è¦ç´ æ•°ã«ã¯ 2 ãŒæœŸå¾…ã•れã¦ã„ã¾ã—ãŸãŒ %d ã§ã—ãŸ" -#~ msgid "internal error: imp.find_module returned tuple with NULL" -#~ msgstr "内部エラー: imp.find_module ㌠NULL ã‚’å«ã‚€ã‚¿ãƒ—ルを返ã—ã¾ã—ãŸ" +msgid "list constructor does not accept keyword arguments" +msgstr "リストã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã¯ã‚ーワード引数をå—ã‘付ã‘ã¾ã›ã‚“" -#~ msgid "cannot delete vim.Dictionary attributes" -#~ msgstr "vim.Dictionaryå±žæ€§ã¯æ¶ˆã›ã¾ã›ã‚“" +msgid "list index out of range" +msgstr "リスト範囲外ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã§ã™" -#~ msgid "cannot modify fixed dictionary" -#~ msgstr "固定ã•れãŸè¾žæ›¸ã¯å¤‰æ›´ã§ãã¾ã›ã‚“" +#. No more suitable format specifications in python-2.3 +#, c-format +msgid "internal error: failed to get vim list item %d" +msgstr "内部エラー: vimã®ãƒªã‚¹ãƒˆè¦ç´ %d ã®å–å¾—ã«å¤±æ•—ã—ã¾ã—ãŸ" -#~ msgid "cannot set attribute %s" -#~ msgstr "属性 %s ã¯è¨å®šã§ãã¾ã›ã‚“" +msgid "slice step cannot be zero" +msgstr "スライスã®ã‚¹ãƒ†ãƒƒãƒ—ã« 0 ã¯æŒ‡å®šã§ãã¾ã›ã‚“" -#~ msgid "hashtab changed during iteration" -#~ msgstr "イテレーションä¸ã« hashtab ãŒå¤‰æ›´ã•れã¾ã—ãŸ" +#, c-format +msgid "attempt to assign sequence of size greater than %d to extended slice" +msgstr "é•·ã• %d ã®æ‹¡å¼µã‚¹ãƒ©ã‚¤ã‚¹ã«ã€ã‚ˆã‚Šé•·ã„スライスを割り当ã¦ã‚ˆã†ã¨ã—ã¾ã—ãŸ" -#~ msgid "expected sequence element of size 2, but got sequence of size %d" -#~ msgstr "シーケンスã®è¦ç´ æ•°ã«ã¯ 2 ãŒæœŸå¾…ã•れã¦ã„ã¾ã—ãŸãŒ %d ã§ã—ãŸ" +#, c-format +msgid "internal error: no vim list item %d" +msgstr "内部エラー: vimã®ãƒªã‚¹ãƒˆè¦ç´ %d ã¯ã‚りã¾ã›ã‚“" -#~ msgid "list constructor does not accept keyword arguments" -#~ msgstr "リストã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã¯ã‚ーワード引数をå—ã‘付ã‘ã¾ã›ã‚“" +msgid "internal error: not enough list items" +msgstr "内部エラー: リストã«å分ãªè¦ç´ ãŒã‚りã¾ã›ã‚“" -#~ msgid "list index out of range" -#~ msgstr "リスト範囲外ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã§ã™" +msgid "internal error: failed to add item to list" +msgstr "内部エラー: リストã¸ã®è¦ç´ è¿½åŠ ã«å¤±æ•—ã—ã¾ã—ãŸ" -#~ msgid "internal error: failed to get vim list item %d" -#~ msgstr "内部エラー: vimã®ãƒªã‚¹ãƒˆè¦ç´ %d ã®å–å¾—ã«å¤±æ•—ã—ã¾ã—ãŸ" +#, c-format +msgid "attempt to assign sequence of size %d to extended slice of size %d" +msgstr "é•·ã• %d ã®ã‚¹ãƒ©ã‚¤ã‚¹ã‚’ %d ã®æ‹¡å¼µã‚¹ãƒ©ã‚¤ã‚¹ã«å‰²ã‚Šå½“ã¦ã‚ˆã†ã¨ã—ã¾ã—ãŸ" -#~ msgid "failed to add item to list" -#~ msgstr "リストã¸ã®è¦ç´ è¿½åŠ ã«å¤±æ•—ã—ã¾ã—ãŸ" +msgid "failed to add item to list" +msgstr "リストã¸ã®è¦ç´ è¿½åŠ ã«å¤±æ•—ã—ã¾ã—ãŸ" -#~ msgid "internal error: no vim list item %d" -#~ msgstr "内部エラー: vimã®ãƒªã‚¹ãƒˆè¦ç´ %d ã¯ã‚りã¾ã›ã‚“" +msgid "cannot delete vim.List attributes" +msgstr "vim.List å±žæ€§ã¯æ¶ˆã›ã¾ã›ã‚“" -#~ msgid "internal error: failed to add item to list" -#~ msgstr "内部エラー: リストã¸ã®è¦ç´ è¿½åŠ ã«å¤±æ•—ã—ã¾ã—ãŸ" +msgid "cannot modify fixed list" +msgstr "固定ã•れãŸãƒªã‚¹ãƒˆã¯å¤‰æ›´ã§ãã¾ã›ã‚“" -#~ msgid "cannot delete vim.List attributes" -#~ msgstr "vim.List å±žæ€§ã¯æ¶ˆã›ã¾ã›ã‚“" +#, c-format +msgid "unnamed function %s does not exist" +msgstr "ç„¡å関数 %s ã¯å˜åœ¨ã—ã¾ã›ã‚“" -#~ msgid "cannot modify fixed list" -#~ msgstr "固定ã•れãŸãƒªã‚¹ãƒˆã¯å¤‰æ›´ã§ãã¾ã›ã‚“" +#, c-format +msgid "function %s does not exist" +msgstr "関数 %s ãŒã‚りã¾ã›ã‚“" -#~ msgid "unnamed function %s does not exist" -#~ msgstr "ç„¡å関数 %s ã¯å˜åœ¨ã—ã¾ã›ã‚“" +#, c-format +msgid "failed to run function %s" +msgstr "関数 %s ã®å®Ÿè¡Œã«å¤±æ•—ã—ã¾ã—ãŸ" -#~ msgid "function %s does not exist" -#~ msgstr "関数 %s ãŒã‚りã¾ã›ã‚“" +msgid "unable to get option value" +msgstr "オプションã®å€¤ã¯å–å¾—ã§ãã¾ã›ã‚“" -#~ msgid "function constructor does not accept keyword arguments" -#~ msgstr "関数ã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã¯ã‚ーワード引数をå—ã‘付ã‘ã¾ã›ã‚“" +msgid "internal error: unknown option type" +msgstr "内部エラー: 未知ã®ã‚ªãƒ—ション型ã§ã™" -#~ msgid "failed to run function %s" -#~ msgstr "関数 %s ã®å®Ÿè¡Œã«å¤±æ•—ã—ã¾ã—ãŸ" +msgid "problem while switching windows" +msgstr "ウィンドウを切æ›ä¸ã«å•題ãŒç™ºç”Ÿã—ã¾ã—ãŸ" -#~ msgid "problem while switching windows" -#~ msgstr "ウィンドウを切æ›ä¸ã«å•題ãŒç™ºç”Ÿã—ã¾ã—ãŸ" +#, c-format +msgid "unable to unset global option %s" +msgstr "ã‚°ãƒãƒ¼ãƒãƒ«ã‚ªãƒ—ション %s ã®è¨å®šè§£é™¤ã¯ã§ãã¾ã›ã‚“" -#~ msgid "unable to unset global option %s" -#~ msgstr "ã‚°ãƒãƒ¼ãƒãƒ«ã‚ªãƒ—ション %s ã®è¨å®šè§£é™¤ã¯ã§ãã¾ã›ã‚“" +#, c-format +msgid "unable to unset option %s which does not have global value" +msgstr "ã‚°ãƒãƒ¼ãƒãƒ«ãªå€¤ã®ç„¡ã„オプション %s ã®è¨å®šè§£é™¤ã¯ã§ãã¾ã›ã‚“" -#~ msgid "unable to unset option %s which does not have global value" -#~ msgstr "ã‚°ãƒãƒ¼ãƒãƒ«ãªå€¤ã®ç„¡ã„オプション %s ã®è¨å®šè§£é™¤ã¯ã§ãã¾ã›ã‚“" +msgid "attempt to refer to deleted tab page" +msgstr "削除ã•れãŸã‚¿ãƒ–ã‚’å‚ç…§ã—よã†ã¨ã—ã¾ã—ãŸ" -#~ msgid "attempt to refer to deleted tab page" -#~ msgstr "削除ã•れãŸã‚¿ãƒ–ã‚’å‚ç…§ã—よã†ã¨ã—ã¾ã—ãŸ" +msgid "no such tab page" +msgstr "ãã®ã‚ˆã†ãªã‚¿ãƒ–ページã¯ã‚りã¾ã›ã‚“" -#~ msgid "no such tab page" -#~ msgstr "ãã®ã‚ˆã†ãªã‚¿ãƒ–ページã¯ã‚りã¾ã›ã‚“" +msgid "attempt to refer to deleted window" +msgstr "削除ã•れãŸã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã‚’å‚ç…§ã—よã†ã¨ã—ã¾ã—ãŸ" -#~ msgid "attempt to refer to deleted window" -#~ msgstr "削除ã•れãŸã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã‚’å‚ç…§ã—よã†ã¨ã—ã¾ã—ãŸ" +msgid "readonly attribute: buffer" +msgstr "èªè¾¼å°‚用属性: ãƒãƒƒãƒ•ァー" -#~ msgid "readonly attribute: buffer" -#~ msgstr "èªè¾¼å°‚用属性: ãƒãƒƒãƒ•ァー" +msgid "cursor position outside buffer" +msgstr "カーソルä½ç½®ãŒãƒãƒƒãƒ•ã‚¡ã®å¤–å´ã§ã™" -#~ msgid "cursor position outside buffer" -#~ msgstr "カーソルä½ç½®ãŒãƒãƒƒãƒ•ã‚¡ã®å¤–å´ã§ã™" +msgid "no such window" +msgstr "ãã®ã‚ˆã†ãªã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã¯ã‚りã¾ã›ã‚“" -#~ msgid "no such window" -#~ msgstr "ãã®ã‚ˆã†ãªã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã¯ã‚りã¾ã›ã‚“" +msgid "attempt to refer to deleted buffer" +msgstr "削除ã•れãŸãƒãƒƒãƒ•ã‚¡ã‚’å‚ç…§ã—よã†ã¨ã—ã¾ã—ãŸ" -#~ msgid "attempt to refer to deleted buffer" -#~ msgstr "削除ã•れãŸãƒãƒƒãƒ•ã‚¡ã‚’å‚ç…§ã—よã†ã¨ã—ã¾ã—ãŸ" +msgid "failed to rename buffer" +msgstr "ãƒãƒƒãƒ•ã‚¡åã®å¤‰æ›´ã«å¤±æ•—ã—ã¾ã—ãŸ" -#~ msgid "failed to rename buffer" -#~ msgstr "ãƒãƒƒãƒ•ã‚¡åã®å¤‰æ›´ã«å¤±æ•—ã—ã¾ã—ãŸ" +msgid "mark name must be a single character" +msgstr "マークåã¯1æ–‡å—ã®ã‚¢ãƒ«ãƒ•ァベットã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“" -#~ msgid "mark name must be a single character" -#~ msgstr "マークåã¯1æ–‡å—ã®ã‚¢ãƒ«ãƒ•ァベットã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“" +#, c-format +msgid "expected vim.Buffer object, but got %s" +msgstr "vim.Bufferã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆãŒæœŸå¾…ã•れã¦ã„ã‚‹ã®ã« %s ã§ã—ãŸ" -#~ msgid "expected vim.Buffer object, but got %s" -#~ msgstr "vim.Bufferã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆãŒæœŸå¾…ã•れã¦ã„ã‚‹ã®ã« %s ã§ã—ãŸ" +#, c-format +msgid "failed to switch to buffer %d" +msgstr "指定ã•れãŸãƒãƒƒãƒ•ã‚¡ %d ã¸ã®åˆ‡ã‚Šæ›¿ãˆã«å¤±æ•—ã—ã¾ã—ãŸ" -#~ msgid "failed to switch to buffer %d" -#~ msgstr "指定ã•れãŸãƒãƒƒãƒ•ã‚¡ %d ã¸ã®åˆ‡ã‚Šæ›¿ãˆã«å¤±æ•—ã—ã¾ã—ãŸ" +#, c-format +msgid "expected vim.Window object, but got %s" +msgstr "vim.Windowã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆãŒæœŸå¾…ã•れã¦ã„ã‚‹ã®ã« %s ã§ã—ãŸ" -#~ msgid "expected vim.Window object, but got %s" -#~ msgstr "vim.Windowã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆãŒæœŸå¾…ã•れã¦ã„ã‚‹ã®ã« %s ã§ã—ãŸ" +msgid "failed to find window in the current tab page" +msgstr "ç¾åœ¨ã®ã‚¿ãƒ–ã«ã¯æŒ‡å®šã•れãŸã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ãŒã‚りã¾ã›ã‚“ã§ã—ãŸ" -#~ msgid "failed to find window in the current tab page" -#~ msgstr "ç¾åœ¨ã®ã‚¿ãƒ–ã«ã¯æŒ‡å®šã•れãŸã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ãŒã‚りã¾ã›ã‚“ã§ã—ãŸ" +msgid "did not switch to the specified window" +msgstr "指定ã•れãŸã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã«åˆ‡ã‚Šæ›¿ãˆã¾ã›ã‚“ã§ã—ãŸ" -#~ msgid "did not switch to the specified window" -#~ msgstr "指定ã•れãŸã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã«åˆ‡ã‚Šæ›¿ãˆã¾ã›ã‚“ã§ã—ãŸ" +#, c-format +msgid "expected vim.TabPage object, but got %s" +msgstr "vim.TabPageã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆãŒæœŸå¾…ã•れã¦ã„ã‚‹ã®ã« %s ã§ã—ãŸ" -#~ msgid "expected vim.TabPage object, but got %s" -#~ msgstr "vim.TabPageã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆãŒæœŸå¾…ã•れã¦ã„ã‚‹ã®ã« %s ã§ã—ãŸ" +msgid "did not switch to the specified tab page" +msgstr "指定ã•れãŸã‚¿ãƒ–ページã«åˆ‡ã‚Šæ›¿ãˆã¾ã›ã‚“ã§ã—ãŸ" -#~ msgid "did not switch to the specified tab page" -#~ msgstr "指定ã•れãŸã‚¿ãƒ–ページã«åˆ‡ã‚Šæ›¿ãˆã¾ã›ã‚“ã§ã—ãŸ" +msgid "failed to run the code" +msgstr "コードã®å®Ÿè¡Œã«å¤±æ•—ã—ã¾ã—ãŸ" -#~ msgid "failed to run the code" -#~ msgstr "コードã®å®Ÿè¡Œã«å¤±æ•—ã—ã¾ã—ãŸ" +msgid "E858: Eval did not return a valid python object" +msgstr "E858: å¼è©•ä¾¡ã¯æœ‰åйãªpythonオブジェクトを返ã—ã¾ã›ã‚“ã§ã—ãŸ" -#~ msgid "E858: Eval did not return a valid python object" -#~ msgstr "E858: å¼è©•ä¾¡ã¯æœ‰åйãªpythonオブジェクトを返ã—ã¾ã›ã‚“ã§ã—ãŸ" +msgid "E859: Failed to convert returned python object to vim value" +msgstr "E859: è¿”ã•れãŸpythonオブジェクトをvimã®å€¤ã«å¤‰æ›ã§ãã¾ã›ã‚“ã§ã—ãŸ" -#~ msgid "E859: Failed to convert returned python object to vim value" -#~ msgstr "E859: è¿”ã•れãŸpythonオブジェクトをvimã®å€¤ã«å¤‰æ›ã§ãã¾ã›ã‚“ã§ã—ãŸ" +#, c-format +msgid "unable to convert %s to vim dictionary" +msgstr "%s vimã®è¾žæ›¸åž‹ã«å¤‰æ›ã§ãã¾ã›ã‚“" -#~ msgid "unable to convert %s to vim dictionary" -#~ msgstr "%s vimã®è¾žæ›¸åž‹ã«å¤‰æ›ã§ãã¾ã›ã‚“" +#, c-format +msgid "unable to convert %s to vim list" +msgstr "%s ã‚’vimã®ãƒªã‚¹ãƒˆã«å¤‰æ›ã§ãã¾ã›ã‚“" -#~ msgid "unable to convert %s to vim structure" -#~ msgstr "%s ã‚’vimã®æ§‹é€ 体ã«å¤‰æ›ã§ãã¾ã›ã‚“" +#, c-format +msgid "unable to convert %s to vim structure" +msgstr "%s ã‚’vimã®æ§‹é€ 体ã«å¤‰æ›ã§ãã¾ã›ã‚“" -#~ msgid "internal error: NULL reference passed" -#~ msgstr "内部エラー: NULLå‚ç…§ãŒæ¸¡ã•れã¾ã—ãŸ" +msgid "internal error: NULL reference passed" +msgstr "内部エラー: NULLå‚ç…§ãŒæ¸¡ã•れã¾ã—ãŸ" -#~ msgid "internal error: invalid value type" -#~ msgstr "内部エラー: 無効ãªå€¤åž‹ã§ã™" +msgid "internal error: invalid value type" +msgstr "内部エラー: 無効ãªå€¤åž‹ã§ã™" -#~ msgid "" -#~ "Failed to set path hook: sys.path_hooks is not a list\n" -#~ "You should now do the following:\n" -#~ "- append vim.path_hook to sys.path_hooks\n" -#~ "- append vim.VIM_SPECIAL_PATH to sys.path\n" -#~ msgstr "" -#~ "パスフックã®è¨å®šã«å¤±æ•—ã—ã¾ã—ãŸ: sys.path_hooks ãŒãƒªã‚¹ãƒˆã§ã¯ã‚りã¾ã›ã‚“\n" -#~ "ã™ãã«ä¸‹è¨˜ã‚’実施ã—ã¦ãã ã•ã„:\n" -#~ "- vim.path_hooks ã‚’ sys.path_hooks ã¸è¿½åŠ \n" -#~ "- vim.VIM_SPECIAL_PATH ã‚’ sys.path ã¸è¿½åŠ \n" +msgid "" +"Failed to set path hook: sys.path_hooks is not a list\n" +"You should now do the following:\n" +"- append vim.path_hook to sys.path_hooks\n" +"- append vim.VIM_SPECIAL_PATH to sys.path\n" +msgstr "" +"パスフックã®è¨å®šã«å¤±æ•—ã—ã¾ã—ãŸ: sys.path_hooks ãŒãƒªã‚¹ãƒˆã§ã¯ã‚りã¾ã›ã‚“\n" +"ã™ãã«ä¸‹è¨˜ã‚’実施ã—ã¦ãã ã•ã„:\n" +"- vim.path_hooks ã‚’ sys.path_hooks ã¸è¿½åŠ \n" +"- vim.VIM_SPECIAL_PATH ã‚’ sys.path ã¸è¿½åŠ \n" -#~ msgid "" -#~ "Failed to set path: sys.path is not a list\n" -#~ "You should now append vim.VIM_SPECIAL_PATH to sys.path" -#~ msgstr "" -#~ "パスã®è¨å®šã«å¤±æ•—ã—ã¾ã—ãŸ: sys.path ãŒãƒªã‚¹ãƒˆã§ã¯ã‚りã¾ã›ã‚“\n" -#~ "ã™ãã« vim.VIM_SPECIAL_PATH ã‚’ sys.path ã«è¿½åŠ ã—ã¦ãã ã•ã„" +msgid "" +"Failed to set path: sys.path is not a list\n" +"You should now append vim.VIM_SPECIAL_PATH to sys.path" +msgstr "" +"パスã®è¨å®šã«å¤±æ•—ã—ã¾ã—ãŸ: sys.path ãŒãƒªã‚¹ãƒˆã§ã¯ã‚りã¾ã›ã‚“\n" +"ã™ãã« vim.VIM_SPECIAL_PATH ã‚’ sys.path ã«è¿½åŠ ã—ã¦ãã ã•ã„" diff --git a/src/nvim/popupmnu.c b/src/nvim/popupmnu.c index 6e81c5a171..2462975c9b 100644 --- a/src/nvim/popupmnu.c +++ b/src/nvim/popupmnu.c @@ -41,9 +41,7 @@ static int pum_row; // top row of pum static int pum_col; // left column of pum static bool pum_is_visible = false; - static bool pum_external = false; -static bool pum_wants_external = false; #ifdef INCLUDE_GENERATED_DECLARATIONS # include "popupmnu.c.generated.h" @@ -80,7 +78,7 @@ void pum_display(pumitem_T *array, int size, int selected, bool array_changed) if (!pum_is_visible) { // To keep the code simple, we only allow changing the // draw mode when the popup menu is not being displayed - pum_external = pum_wants_external; + pum_external = ui_is_external(kUIPopupmenu); } redo: @@ -100,7 +98,6 @@ redo: } if (pum_external) { - Array args = ARRAY_DICT_INIT; if (array_changed) { Array arr = ARRAY_DICT_INIT; for (i = 0; i < size; i++) { @@ -111,14 +108,9 @@ redo: ADD(item, STRING_OBJ(cstr_to_string((char *)array[i].pum_info))); ADD(arr, ARRAY_OBJ(item)); } - ADD(args, ARRAY_OBJ(arr)); - ADD(args, INTEGER_OBJ(selected)); - ADD(args, INTEGER_OBJ(row)); - ADD(args, INTEGER_OBJ(col)); - ui_event("popupmenu_show", args); + ui_call_popupmenu_show(arr, selected, row, col); } else { - ADD(args, INTEGER_OBJ(selected)); - ui_event("popupmenu_select", args); + ui_call_popupmenu_select(selected); } return; } @@ -315,10 +307,10 @@ void pum_redraw(void) { int row = pum_row; int col; - int attr_norm = highlight_attr[HLF_PNI]; - int attr_select = highlight_attr[HLF_PSI]; - int attr_scroll = highlight_attr[HLF_PSB]; - int attr_thumb = highlight_attr[HLF_PST]; + int attr_norm = win_hl_attr(curwin, HLF_PNI); + int attr_select = win_hl_attr(curwin, HLF_PSI); + int attr_scroll = win_hl_attr(curwin, HLF_PSB); + int attr_thumb = win_hl_attr(curwin, HLF_PST); int attr; int i; int idx; @@ -715,8 +707,7 @@ void pum_undisplay(void) pum_array = NULL; if (pum_external) { - Array args = ARRAY_DICT_INIT; - ui_event("popupmenu_hide", args); + ui_call_popupmenu_hide(); } else { redraw_all_later(SOME_VALID); redraw_tabline = true; @@ -751,8 +742,3 @@ int pum_get_height(void) { return pum_height; } - -void pum_set_external(bool external) -{ - pum_wants_external = external; -} diff --git a/src/nvim/popupmnu.h b/src/nvim/popupmnu.h index 2b181f2c4a..7e1588dbdd 100644 --- a/src/nvim/popupmnu.h +++ b/src/nvim/popupmnu.h @@ -1,6 +1,8 @@ #ifndef NVIM_POPUPMNU_H #define NVIM_POPUPMNU_H +#include "nvim/types.h" + /// Used for popup menu items. typedef struct { char_u *pum_text; // main menu text diff --git a/src/nvim/quickfix.c b/src/nvim/quickfix.c index 112498ae20..bd5dfa92cc 100644 --- a/src/nvim/quickfix.c +++ b/src/nvim/quickfix.c @@ -188,6 +188,11 @@ typedef struct { */ #define GET_LOC_LIST(wp) (IS_LL_WINDOW(wp) ? wp->w_llist_ref : wp->w_llist) +// Looking up a buffer can be slow if there are many. Remember the last one +// to make this a lot faster if there are multiple matches in the same file. +static char_u *qf_last_bufname = NULL; +static bufref_T qf_last_bufref = { NULL, 0, 0 }; + /* * Read the errorfile "efile" into memory, line by line, building the error * list. Set the error list's title to qf_title. @@ -968,6 +973,10 @@ qf_init_ext( int retval = -1; // default: return error flag int status; + // Do not used the cached buffer, it may have been wiped out. + xfree(qf_last_bufname); + qf_last_bufname = NULL; + fields.namebuf = xmalloc(CMDBUFFSIZE + 1); fields.errmsglen = CMDBUFFSIZE + 1; fields.errmsg = xmalloc(fields.errmsglen); @@ -1399,11 +1408,6 @@ void copy_loclist(win_T *from, win_T *to) to->w_llist->qf_curlist = qi->qf_curlist; /* current list */ } -// Looking up a buffer can be slow if there are many. Remember the last one to -// make this a lot faster if there are multiple matches in the same file. -static char_u *qf_last_bufname = NULL; -static bufref_T qf_last_bufref = { NULL, 0 }; - // Get buffer number for file "directory.fname". // Also sets the b_has_qf_entry flag. static int qf_get_fnum(qf_info_T *qi, char_u *directory, char_u *fname) @@ -2326,9 +2330,7 @@ void qf_history(exarg_T *eap) } } -/* - * Free error list "idx". - */ +/// Free all the entries in the error list "idx". static void qf_free(qf_info_T *qi, int idx) { qfline_T *qfp; @@ -3766,52 +3768,6 @@ theend: } /* - * Skip over the pattern argument of ":vimgrep /pat/[g][j]". - * Put the start of the pattern in "*s", unless "s" is NULL. - * If "flags" is not NULL put the flags in it: VGR_GLOBAL, VGR_NOJUMP. - * If "s" is not NULL terminate the pattern with a NUL. - * Return a pointer to the char just past the pattern plus flags. - */ -char_u *skip_vimgrep_pat(char_u *p, char_u **s, int *flags) -{ - int c; - - if (vim_isIDc(*p)) { - /* ":vimgrep pattern fname" */ - if (s != NULL) - *s = p; - p = skiptowhite(p); - if (s != NULL && *p != NUL) - *p++ = NUL; - } else { - /* ":vimgrep /pattern/[g][j] fname" */ - if (s != NULL) - *s = p + 1; - c = *p; - p = skip_regexp(p + 1, c, TRUE, NULL); - if (*p != c) - return NULL; - - /* Truncate the pattern. */ - if (s != NULL) - *p = NUL; - ++p; - - /* Find the flags */ - while (*p == 'g' || *p == 'j') { - if (flags != NULL) { - if (*p == 'g') - *flags |= VGR_GLOBAL; - else - *flags |= VGR_NOJUMP; - } - ++p; - } - } - return p; -} - -/* * Restore current working directory to "dirname_start" if they differ, taking * into account whether it is set locally or globally. */ @@ -4069,7 +4025,7 @@ int get_errorlist_properties(win_T *wp, dict_T *what, dict_T *retdict) if ((di = tv_dict_find(what, S_LEN("nr"))) != NULL) { // Use the specified quickfix/location list if (di->di_tv.v_type == VAR_NUMBER) { - qf_idx = di->di_tv.vval.v_number - 1; + qf_idx = (int)di->di_tv.vval.v_number - 1; if (qf_idx < 0 || qf_idx >= qi->qf_listcount) { return FAIL; } @@ -4143,7 +4099,7 @@ static int qf_add_entries(qf_info_T *qi, list_T *list, char_u *title, char *const filename = tv_dict_get_string(d, "filename", true); int bufnum = (int)tv_dict_get_number(d, "bufnr"); - long lnum = tv_dict_get_number(d, "lnum"); + long lnum = (long)tv_dict_get_number(d, "lnum"); int col = (int)tv_dict_get_number(d, "col"); char_u vcol = (char_u)tv_dict_get_number(d, "vcol"); int nr = (int)tv_dict_get_number(d, "nr"); @@ -4225,7 +4181,7 @@ static int qf_set_properties(qf_info_T *qi, dict_T *what, int action) if ((di = tv_dict_find(what, S_LEN("nr"))) != NULL) { // Use the specified quickfix/location list if (di->di_tv.v_type == VAR_NUMBER) { - qf_idx = di->di_tv.vval.v_number - 1; + qf_idx = (int)di->di_tv.vval.v_number - 1; if (qf_idx < 0 || qf_idx >= qi->qf_listcount) { return FAIL; } diff --git a/src/nvim/quickfix.h b/src/nvim/quickfix.h index bb9c2c3193..fdeb8d1a2f 100644 --- a/src/nvim/quickfix.h +++ b/src/nvim/quickfix.h @@ -1,6 +1,9 @@ #ifndef NVIM_QUICKFIX_H #define NVIM_QUICKFIX_H +#include "nvim/types.h" +#include "nvim/ex_cmds_defs.h" + /* flags for skip_vimgrep_pat() */ #define VGR_GLOBAL 1 #define VGR_NOJUMP 2 diff --git a/src/nvim/regexp.c b/src/nvim/regexp.c index 7a00ee27bb..5448cc7131 100644 --- a/src/nvim/regexp.c +++ b/src/nvim/regexp.c @@ -3427,32 +3427,26 @@ static long bt_regexec_both(char_u *line, c = *prog->regmust; s = line + col; - /* - * This is used very often, esp. for ":global". Use three versions of - * the loop to avoid overhead of conditions. - */ - if (!ireg_ic - && !has_mbyte - ) - while ((s = vim_strbyte(s, c)) != NULL) { - if (cstrncmp(s, prog->regmust, &prog->regmlen) == 0) - break; /* Found it. */ - ++s; - } - else if (!ireg_ic || (!enc_utf8 && mb_char2len(c) > 1)) + // This is used very often, esp. for ":global". Use two versions of + // the loop to avoid overhead of conditions. + if (!ireg_ic) { while ((s = vim_strchr(s, c)) != NULL) { - if (cstrncmp(s, prog->regmust, &prog->regmlen) == 0) - break; /* Found it. */ + if (cstrncmp(s, prog->regmust, &prog->regmlen) == 0) { + break; // Found it. + } mb_ptr_adv(s); } - else + } else { while ((s = cstrchr(s, c)) != NULL) { - if (cstrncmp(s, prog->regmust, &prog->regmlen) == 0) - break; /* Found it. */ + if (cstrncmp(s, prog->regmust, &prog->regmlen) == 0) { + break; // Found it. + } mb_ptr_adv(s); } - if (s == NULL) /* Not present. */ + } + if (s == NULL) { // Not present. goto theend; + } } regline = line; @@ -3482,14 +3476,8 @@ static long bt_regexec_both(char_u *line, /* Messy cases: unanchored match. */ while (!got_int) { if (prog->regstart != NUL) { - /* Skip until the char we know it must start with. - * Used often, do some work to avoid call overhead. */ - if (!ireg_ic - && !has_mbyte - ) - s = vim_strbyte(regline + col, prog->regstart); - else - s = cstrchr(regline + col, prog->regstart); + // Skip until the char we know it must start with. + s = cstrchr(regline + col, prog->regstart); if (s == NULL) { retval = 0; break; @@ -6299,44 +6287,37 @@ static int cstrncmp(char_u *s1, char_u *s2, int *n) /* * cstrchr: This function is used a lot for simple searches, keep it fast! */ -static char_u *cstrchr(char_u *s, int c) +static inline char_u *cstrchr(const char_u *const s, const int c) + FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT FUNC_ATTR_NONNULL_ALL + FUNC_ATTR_ALWAYS_INLINE { - char_u *p; - int cc; - - if (!ireg_ic - || (!enc_utf8 && mb_char2len(c) > 1) - ) + if (!ireg_ic) { return vim_strchr(s, c); + } - /* tolower() and toupper() can be slow, comparing twice should be a lot - * faster (esp. when using MS Visual C++!). - * For UTF-8 need to use folded case. */ + // Use folded case for UTF-8, slow! For ASCII use libc strpbrk which is + // expected to be highly optimized. if (c > 0x80) { - cc = utf_fold(c); - } else if (mb_isupper(c)) { - cc = mb_tolower(c); - } else if (mb_islower(c)) { - cc = mb_toupper(c); + const int folded_c = utf_fold(c); + for (const char_u *p = s; *p != NUL; p += utfc_ptr2len(p)) { + if (utf_fold(utf_ptr2char(p)) == folded_c) { + return (char_u *)p; + } + } + return NULL; + } + + int cc; + if (ASCII_ISUPPER(c)) { + cc = TOLOWER_ASC(c); + } else if (ASCII_ISLOWER(c)) { + cc = TOUPPER_ASC(c); } else { return vim_strchr(s, c); } - if (has_mbyte) { - for (p = s; *p != NUL; p += (*mb_ptr2len)(p)) { - if (enc_utf8 && c > 0x80) { - if (utf_fold(utf_ptr2char(p)) == cc) - return p; - } else if (*p == c || *p == cc) - return p; - } - } else - /* Faster version for when there are no multi-byte characters. */ - for (p = s; *p != NUL; ++p) - if (*p == c || *p == cc) - return p; - - return NULL; + char tofind[] = { (char)c, (char)cc, NUL }; + return (char_u *)strpbrk((const char *)s, tofind); } /*************************************************************** diff --git a/src/nvim/regexp.h b/src/nvim/regexp.h index 37513d8c27..97595c4d29 100644 --- a/src/nvim/regexp.h +++ b/src/nvim/regexp.h @@ -1,6 +1,10 @@ #ifndef NVIM_REGEXP_H #define NVIM_REGEXP_H +#include "nvim/types.h" +#include "nvim/buffer_defs.h" +#include "nvim/regexp_defs.h" + /* Second argument for vim_regcomp(). */ #define RE_MAGIC 1 /* 'magic' option */ #define RE_STRING 2 /* match in string instead of buffer text */ diff --git a/src/nvim/regexp_nfa.c b/src/nvim/regexp_nfa.c index 139772d51e..24c156d2ba 100644 --- a/src/nvim/regexp_nfa.c +++ b/src/nvim/regexp_nfa.c @@ -634,6 +634,7 @@ static int nfa_recognize_char_class(char_u *start, char_u *end, int extra_newl) config |= CLASS_o7; break; } + return FAIL; case 'a': if (*(p + 2) == 'z') { config |= CLASS_az; @@ -642,6 +643,7 @@ static int nfa_recognize_char_class(char_u *start, char_u *end, int extra_newl) config |= CLASS_af; break; } + return FAIL; case 'A': if (*(p + 2) == 'Z') { config |= CLASS_AZ; @@ -650,7 +652,7 @@ static int nfa_recognize_char_class(char_u *start, char_u *end, int extra_newl) config |= CLASS_AF; break; } - /* FALLTHROUGH */ + return FAIL; default: return FAIL; } @@ -4194,6 +4196,7 @@ skip_add: subs = addstate(l, state->out, subs, pim, off_arg); break; } + // fallthrough case NFA_MCLOSE1: case NFA_MCLOSE2: case NFA_MCLOSE3: @@ -4855,17 +4858,10 @@ static int failure_chance(nfa_state_T *state, int depth) */ static int skip_to_start(int c, colnr_T *colp) { - char_u *s; - - /* Used often, do some work to avoid call overhead. */ - if (!ireg_ic - && !has_mbyte - ) - s = vim_strbyte(regline + *colp, c); - else - s = cstrchr(regline + *colp, c); - if (s == NULL) + const char_u *const s = cstrchr(regline + *colp, c); + if (s == NULL) { return FAIL; + } *colp = (int)(s - regline); return OK; } diff --git a/src/nvim/screen.c b/src/nvim/screen.c index 10dc86d5fa..2f7fa8724f 100644 --- a/src/nvim/screen.c +++ b/src/nvim/screen.c @@ -132,6 +132,7 @@ #include "nvim/version.h" #include "nvim/window.h" #include "nvim/os/time.h" +#include "nvim/api/private/helpers.h" #define MB_FILLER_CHAR '<' /* character used when a double-width character * doesn't fit. */ @@ -154,7 +155,6 @@ static schar_T *current_ScreenLine; StlClickDefinition *tab_page_click_defs = NULL; long tab_page_click_defs_size = 0; -# define SCREEN_LINE(r, o, e, c, rl) screen_line((r), (o), (e), (c), (rl)) #ifdef INCLUDE_GENERATED_DECLARATIONS # include "screen.c.generated.h" #endif @@ -379,15 +379,24 @@ void update_screen(int type) )) curwin->w_redr_type = type; - /* Redraw the tab pages line if needed. */ - if (redraw_tabline || type >= NOT_VALID) + // Redraw the tab pages line if needed. + if (redraw_tabline || type >= NOT_VALID) { + update_window_hl(curwin, type >= NOT_VALID); + FOR_ALL_TABS(tp) { + if (tp != curtab) { + update_window_hl(tp->tp_curwin, type >= NOT_VALID); + } + } draw_tabline(); + } /* * Correct stored syntax highlighting info for changes in each displayed * buffer. Each buffer must only be done once. */ FOR_ALL_WINDOWS_IN_TAB(wp, curtab) { + update_window_hl(wp, type >= NOT_VALID); + if (wp->w_buffer->b_mod_set) { win_T *wwp; @@ -1487,11 +1496,11 @@ static void win_update(win_T *wp) // Last line isn't finished: Display "@@@" in the last screen line. screen_puts_len((char_u *)"@@", 2, scr_row, wp->w_wincol, - hl_attr(HLF_AT)); + win_hl_attr(wp, HLF_AT)); screen_fill(scr_row, scr_row + 1, (int)wp->w_wincol + 2, (int)W_ENDCOL(wp), - '@', ' ', hl_attr(HLF_AT)); + '@', ' ', win_hl_attr(wp, HLF_AT)); set_empty_rows(wp, srow); wp->w_botline = lnum; } else if (dy_flags & DY_LASTLINE) { // 'display' has "lastline" @@ -1499,7 +1508,7 @@ static void win_update(win_T *wp) screen_fill(wp->w_winrow + wp->w_height - 1, wp->w_winrow + wp->w_height, W_ENDCOL(wp) - 3, W_ENDCOL(wp), - '@', '@', hl_attr(HLF_AT)); + '@', '@', win_hl_attr(wp, HLF_AT)); set_empty_rows(wp, srow); wp->w_botline = lnum; } else { @@ -1583,6 +1592,8 @@ static void win_draw_end(win_T *wp, int c1, int c2, int row, int endrow, hlf_T h # define FDC_OFF n int fdc = compute_foldcolumn(wp, 0); + int attr = win_hl_attr(wp, hl); + if (wp->w_p_rl) { // No check for cmdline window: should never be right-left. n = fdc; @@ -1593,7 +1604,7 @@ static void win_draw_end(win_T *wp, int c1, int c2, int row, int endrow, hlf_T h n = wp->w_width; screen_fill(wp->w_winrow + row, wp->w_winrow + endrow, W_ENDCOL(wp) - n, W_ENDCOL(wp), - ' ', ' ', hl_attr(HLF_FC)); + ' ', ' ', win_hl_attr(wp, HLF_FC)); } if (signcolumn_on(wp)) { @@ -1605,16 +1616,16 @@ static void win_draw_end(win_T *wp, int c1, int c2, int row, int endrow, hlf_T h } screen_fill(wp->w_winrow + row, wp->w_winrow + endrow, W_ENDCOL(wp) - nn, W_ENDCOL(wp) - n, - ' ', ' ', hl_attr(HLF_SC)); + ' ', ' ', win_hl_attr(wp, HLF_SC)); n = nn; } screen_fill(wp->w_winrow + row, wp->w_winrow + endrow, wp->w_wincol, W_ENDCOL(wp) - 1 - FDC_OFF, - c2, c2, hl_attr(hl)); + c2, c2, attr); screen_fill(wp->w_winrow + row, wp->w_winrow + endrow, W_ENDCOL(wp) - 1 - FDC_OFF, W_ENDCOL(wp) - FDC_OFF, - c1, c2, hl_attr(hl)); + c1, c2, attr); } else { if (cmdwin_type != 0 && wp == curwin) { /* draw the cmdline character in the leftmost column */ @@ -1623,7 +1634,7 @@ static void win_draw_end(win_T *wp, int c1, int c2, int row, int endrow, hlf_T h n = wp->w_width; screen_fill(wp->w_winrow + row, wp->w_winrow + endrow, wp->w_wincol, wp->w_wincol + n, - cmdwin_type, ' ', hl_attr(HLF_AT)); + cmdwin_type, ' ', win_hl_attr(wp, HLF_AT)); } if (fdc > 0) { int nn = n + fdc; @@ -1633,7 +1644,7 @@ static void win_draw_end(win_T *wp, int c1, int c2, int row, int endrow, hlf_T h nn = wp->w_width; screen_fill(wp->w_winrow + row, wp->w_winrow + endrow, wp->w_wincol + n, wp->w_wincol + nn, - ' ', ' ', hl_attr(HLF_FC)); + ' ', ' ', win_hl_attr(wp, HLF_FC)); n = nn; } @@ -1646,13 +1657,13 @@ static void win_draw_end(win_T *wp, int c1, int c2, int row, int endrow, hlf_T h } screen_fill(wp->w_winrow + row, wp->w_winrow + endrow, wp->w_wincol + n, wp->w_wincol + nn, - ' ', ' ', hl_attr(HLF_SC)); + ' ', ' ', win_hl_attr(wp, HLF_SC)); n = nn; } screen_fill(wp->w_winrow + row, wp->w_winrow + endrow, wp->w_wincol + FDC_OFF, W_ENDCOL(wp), - c1, c2, hl_attr(hl)); + c1, c2, attr); } set_empty_rows(wp, row); } @@ -1714,10 +1725,9 @@ static void fold_line(win_T *wp, long fold_count, foldinfo_T *foldinfo, linenr_T */ if (cmdwin_type != 0 && wp == curwin) { ScreenLines[off] = cmdwin_type; - ScreenAttrs[off] = hl_attr(HLF_AT); - if (enc_utf8) - ScreenLinesUC[off] = 0; - ++col; + ScreenAttrs[off] = win_hl_attr(wp, HLF_AT); + ScreenLinesUC[off] = 0; + col++; } // 2. Add the 'foldcolumn' @@ -1729,12 +1739,14 @@ static void fold_line(win_T *wp, long fold_count, foldinfo_T *foldinfo, linenr_T int i; copy_text_attr(off + wp->w_width - fdc - col, buf, fdc, - hl_attr(HLF_FC)); - /* reverse the fold column */ - for (i = 0; i < fdc; ++i) + win_hl_attr(wp, HLF_FC)); + // reverse the fold column + for (i = 0; i < fdc; i++) { ScreenLines[off + wp->w_width - i - 1 - col] = buf[i]; - } else - copy_text_attr(off + col, buf, fdc, hl_attr(HLF_FC)); + } + } else { + copy_text_attr(off + col, buf, fdc, win_hl_attr(wp, HLF_FC)); + } col += fdc; } @@ -1747,7 +1759,7 @@ static void fold_line(win_T *wp, long fold_count, foldinfo_T *foldinfo, linenr_T /* Set all attributes of the 'number' or 'relativenumber' column and the * text */ - RL_MEMSET(col, hl_attr(HLF_FL), wp->w_width - col); + RL_MEMSET(col, win_hl_attr(wp, HLF_FL), wp->w_width - col); // If signs are being displayed, add two spaces. if (signcolumn_on(wp)) { @@ -1756,7 +1768,8 @@ static void fold_line(win_T *wp, long fold_count, foldinfo_T *foldinfo, linenr_T if (len > 2) { len = 2; } - copy_text_attr(off + col, (char_u *)" ", len, hl_attr(HLF_FL)); + copy_text_attr(off + col, (char_u *)" ", len, + win_hl_attr(wp, HLF_FL)); col += len; } } @@ -1788,13 +1801,14 @@ static void fold_line(win_T *wp, long fold_count, foldinfo_T *foldinfo, linenr_T } } - sprintf((char *)buf, fmt, w, num); - if (wp->w_p_rl) - /* the line number isn't reversed */ + snprintf((char *)buf, FOLD_TEXT_LEN, fmt, w, num); + if (wp->w_p_rl) { + // the line number isn't reversed copy_text_attr(off + wp->w_width - len - col, buf, len, - hl_attr(HLF_FL)); - else - copy_text_attr(off + col, buf, len, hl_attr(HLF_FL)); + win_hl_attr(wp, HLF_FL)); + } else { + copy_text_attr(off + col, buf, len, win_hl_attr(wp, HLF_FL)); + } col += len; } } @@ -1952,12 +1966,12 @@ static void fold_line(win_T *wp, long fold_count, foldinfo_T *foldinfo, linenr_T len = wp->w_old_cursor_lcol; else len = wp->w_width - txtcol; - RL_MEMSET(wp->w_old_cursor_fcol + txtcol, hl_attr(HLF_V), - len - (int)wp->w_old_cursor_fcol); + RL_MEMSET(wp->w_old_cursor_fcol + txtcol, win_hl_attr(wp, HLF_V), + len - (int)wp->w_old_cursor_fcol); } } else { - /* Set all attributes of the text */ - RL_MEMSET(txtcol, hl_attr(HLF_V), wp->w_width - txtcol); + // Set all attributes of the text + RL_MEMSET(txtcol, win_hl_attr(wp, HLF_V), wp->w_width - txtcol); } } } @@ -1977,7 +1991,7 @@ static void fold_line(win_T *wp, long fold_count, foldinfo_T *foldinfo, linenr_T } if (txtcol >= 0 && txtcol < wp->w_width) { ScreenAttrs[off + txtcol] = - hl_combine_attr(ScreenAttrs[off + txtcol], hl_attr(HLF_MC)); + hl_combine_attr(ScreenAttrs[off + txtcol], win_hl_attr(wp, HLF_MC)); } txtcol = old_txtcol; j = wp->w_p_cc_cols[++i]; @@ -1993,11 +2007,11 @@ static void fold_line(win_T *wp, long fold_count, foldinfo_T *foldinfo, linenr_T txtcol -= wp->w_leftcol; if (txtcol >= 0 && txtcol < wp->w_width) ScreenAttrs[off + txtcol] = hl_combine_attr( - ScreenAttrs[off + txtcol], hl_attr(HLF_CUC)); + ScreenAttrs[off + txtcol], win_hl_attr(wp, HLF_CUC)); } - SCREEN_LINE(row + wp->w_winrow, wp->w_wincol, wp->w_width, - wp->w_width, FALSE); + screen_line(row + wp->w_winrow, wp->w_wincol, wp->w_width, + wp->w_width, false, wp); /* * Update w_cline_height and w_cline_folded if the cursor line was @@ -2196,7 +2210,7 @@ win_line ( bool search_attr_from_match = false; // if search_attr is from :match bool has_bufhl = false; // this buffer has highlight matches int bufhl_attr = 0; // attributes desired by bufhl - bufhl_lineinfo_T bufhl_info; // bufhl data for this line + BufhlLineInfo bufhl_info; // bufhl data for this line /* draw_state: items that are drawn in sequence: */ #define WL_START 0 /* nothing done yet */ @@ -2212,7 +2226,7 @@ win_line ( int syntax_flags = 0; int syntax_seqnr = 0; int prev_syntax_id = 0; - int conceal_attr = hl_attr(HLF_CONCEAL); + int conceal_attr = win_hl_attr(wp, HLF_CONCEAL); int is_concealing = false; int boguscols = 0; ///< nonexistent columns added to ///< force wrapping @@ -2360,8 +2374,8 @@ win_line ( /* if inverting in this line set area_highlighting */ if (fromcol >= 0) { - area_highlighting = TRUE; - attr = hl_attr(HLF_V); + area_highlighting = true; + attr = win_hl_attr(wp, HLF_V); } } /* @@ -2385,8 +2399,8 @@ win_line ( /* do at least one character; happens when past end of line */ if (fromcol == tocol) tocol = fromcol + 1; - area_highlighting = TRUE; - attr = hl_attr(HLF_I); + area_highlighting = true; + attr = win_hl_attr(wp, HLF_I); } filler_lines = diff_check(wp, lnum); @@ -2414,7 +2428,11 @@ win_line ( // Highlight the current line in the quickfix window. if (bt_quickfix(wp->w_buffer) && qf_current_entry(wp) == lnum) { - line_attr = hl_attr(HLF_QFL); + line_attr = win_hl_attr(wp, HLF_QFL); + } + + if (wp->w_hl_attr_normal != 0) { + line_attr = hl_combine_attr(wp->w_hl_attr_normal, line_attr); } if (line_attr != 0) { @@ -2642,9 +2660,9 @@ win_line ( && !(wp == curwin && VIsual_active)) { if (line_attr != 0 && !(State & INSERT) && bt_quickfix(wp->w_buffer) && qf_current_entry(wp) == lnum) { - line_attr = hl_combine_attr(hl_attr(HLF_CUL), line_attr); + line_attr = hl_combine_attr(win_hl_attr(wp, HLF_CUL), line_attr); } else { - line_attr = hl_attr(HLF_CUL); + line_attr = win_hl_attr(wp, HLF_CUL); } area_highlighting = true; } @@ -2677,7 +2695,7 @@ win_line ( /* Draw the cmdline character. */ n_extra = 1; c_extra = cmdwin_type; - char_attr = hl_attr(HLF_AT); + char_attr = win_hl_attr(wp, HLF_AT); } } @@ -2692,7 +2710,7 @@ win_line ( p_extra = extra; p_extra[n_extra] = NUL; c_extra = NUL; - char_attr = hl_attr(HLF_FC); + char_attr = win_hl_attr(wp, HLF_FC); } } @@ -2705,7 +2723,7 @@ win_line ( int text_sign; /* Draw two cells with the sign value or blank. */ c_extra = ' '; - char_attr = hl_attr(HLF_SC); + char_attr = win_hl_attr(wp, HLF_SC); n_extra = 2; if (row == startrow + filler_lines && filler_todo <= 0) { @@ -2762,14 +2780,15 @@ win_line ( } else c_extra = ' '; n_extra = number_width(wp) + 1; - char_attr = hl_attr(HLF_N); - /* When 'cursorline' is set highlight the line number of - * the current line differently. - * TODO: Can we use CursorLine instead of CursorLineNr - * when CursorLineNr isn't set? */ + char_attr = win_hl_attr(wp, HLF_N); + // When 'cursorline' is set highlight the line number of + // the current line differently. + // TODO(vim): Can we use CursorLine instead of CursorLineNr + // when CursorLineNr isn't set? if ((wp->w_p_cul || wp->w_p_rnu) - && lnum == wp->w_cursor.lnum) - char_attr = hl_attr(HLF_CLN); + && lnum == wp->w_cursor.lnum) { + char_attr = win_hl_attr(wp, HLF_CLN); + } } } @@ -2786,12 +2805,12 @@ win_line ( if (draw_state == WL_BRI - 1 && n_extra == 0) { draw_state = WL_BRI; if (wp->w_p_bri && row != startrow && filler_lines == 0) { - char_attr = 0; // was: hl_attr(HLF_AT); + char_attr = wp->w_hl_attr_normal; // was: hl_attr(HLF_AT); if (diff_hlf != (hlf_T)0) { - char_attr = hl_attr(diff_hlf); + char_attr = win_hl_attr(wp, diff_hlf); if (wp->w_p_cul && lnum == wp->w_cursor.lnum) { - char_attr = hl_combine_attr(char_attr, hl_attr(HLF_CUL)); + char_attr = hl_combine_attr(char_attr, win_hl_attr(wp, HLF_CUL)); } } p_extra = NULL; @@ -2816,15 +2835,15 @@ win_line ( n_extra = col + 1; else n_extra = wp->w_width - col; - char_attr = hl_attr(HLF_DED); + char_attr = win_hl_attr(wp, HLF_DED); } if (*p_sbr != NUL && need_showbreak) { /* Draw 'showbreak' at the start of each broken line. */ p_extra = p_sbr; c_extra = NUL; n_extra = (int)STRLEN(p_sbr); - char_attr = hl_attr(HLF_AT); - need_showbreak = FALSE; + char_attr = win_hl_attr(wp, HLF_AT); + need_showbreak = false; vcol_sbr = vcol + MB_CHARLEN(p_sbr); /* Correct end of highlighted area for 'showbreak', * required when 'linebreak' is also set. */ @@ -2832,7 +2851,7 @@ win_line ( tocol += n_extra; /* combine 'showbreak' with 'cursorline' */ if (wp->w_p_cul && lnum == wp->w_cursor.lnum) { - char_attr = hl_combine_attr(char_attr, hl_attr(HLF_CUL)); + char_attr = hl_combine_attr(char_attr, win_hl_attr(wp, HLF_CUL)); } } } @@ -2845,8 +2864,9 @@ win_line ( c_extra = saved_c_extra; p_extra = saved_p_extra; char_attr = saved_char_attr; - } else - char_attr = 0; + } else { + char_attr = wp->w_hl_attr_normal; + } } } @@ -2855,13 +2875,14 @@ win_line ( && lnum == wp->w_cursor.lnum && vcol >= (long)wp->w_virtcol && filler_todo <= 0 ) { - SCREEN_LINE(screen_row, wp->w_wincol, col, -wp->w_width, wp->w_p_rl); - /* Pretend we have finished updating the window. Except when - * 'cursorcolumn' is set. */ - if (wp->w_p_cuc) + screen_line(screen_row, wp->w_wincol, col, -wp->w_width, wp->w_p_rl, wp); + // Pretend we have finished updating the window. Except when + // 'cursorcolumn' is set. + if (wp->w_p_cuc) { row = wp->w_cline_row + wp->w_cline_height; - else + } else { row = wp->w_height; + } break; } @@ -2989,14 +3010,16 @@ win_line ( if (diff_hlf != (hlf_T)0) { if (diff_hlf == HLF_CHD && ptr - line >= change_start - && n_extra == 0) - diff_hlf = HLF_TXD; /* changed text */ + && n_extra == 0) { + diff_hlf = HLF_TXD; // changed text + } if (diff_hlf == HLF_TXD && ptr - line > change_end - && n_extra == 0) - diff_hlf = HLF_CHD; /* changed line */ - line_attr = hl_attr(diff_hlf); + && n_extra == 0) { + diff_hlf = HLF_CHD; // changed line + } + line_attr = win_hl_attr(wp, diff_hlf); if (wp->w_p_cul && lnum == wp->w_cursor.lnum) { - line_attr = hl_combine_attr(line_attr, hl_attr(HLF_CUL)); + line_attr = hl_combine_attr(line_attr, win_hl_attr(wp, HLF_CUL)); } } @@ -3012,14 +3035,15 @@ win_line ( // (area_attr may be 0 when "noinvcur" is set). else if (line_attr != 0 && ((fromcol == -10 && tocol == MAXCOL) || vcol < fromcol || vcol_prev < fromcol_prev - || vcol >= tocol)) + || vcol >= tocol)) { char_attr = line_attr; - else { - attr_pri = FALSE; - if (has_syntax) + } else { + attr_pri = false; + if (has_syntax) { char_attr = syntax_attr; - else - char_attr = 0; + } else { + char_attr = wp->w_hl_attr_normal; + } } } @@ -3080,12 +3104,13 @@ win_line ( c = '>'; mb_c = c; mb_l = 1; - mb_utf8 = FALSE; - multi_attr = hl_attr(HLF_AT); - /* put the pointer back to output the double-width - * character at the start of the next line. */ - ++n_extra; - --p_extra; + mb_utf8 = false; + multi_attr = win_hl_attr(wp, HLF_AT); + + // put the pointer back to output the double-width + // character at the start of the next line. + n_extra++; + p_extra--; } else { n_extra -= mb_l - 1; p_extra += mb_l - 1; @@ -3148,8 +3173,8 @@ win_line ( c_extra = NUL; if (area_attr == 0 && search_attr == 0) { n_attr = n_extra + 1; - extra_attr = hl_attr(HLF_8); - saved_attr2 = char_attr; /* save current attr */ + extra_attr = win_hl_attr(wp, HLF_8); + saved_attr2 = char_attr; // save current attr } } else if (mb_l == 0) /* at the NUL at end-of-line */ mb_l = 1; @@ -3201,8 +3226,8 @@ win_line ( c = *p_extra++; if (area_attr == 0 && search_attr == 0) { n_attr = n_extra + 1; - extra_attr = hl_attr(HLF_8); - saved_attr2 = char_attr; /* save current attr */ + extra_attr = win_hl_attr(wp, HLF_8); + saved_attr2 = char_attr; // save current attr } mb_c = c; } @@ -3219,12 +3244,13 @@ win_line ( mb_c = c; mb_utf8 = FALSE; mb_l = 1; - multi_attr = hl_attr(HLF_AT); - /* Put pointer back so that the character will be - * displayed at the start of the next line. */ - --ptr; - } else if (*ptr != NUL) + multi_attr = win_hl_attr(wp, HLF_AT); + // Put pointer back so that the character will be + // displayed at the start of the next line. + ptr--; + } else if (*ptr != NUL) { ptr += mb_l - 1; + } /* If a double-width char doesn't fit at the left side display * a '<' in the first column. Don't do this for unprintable @@ -3235,8 +3261,8 @@ win_line ( c = ' '; if (area_attr == 0 && search_attr == 0) { n_attr = n_extra + 1; - extra_attr = hl_attr(HLF_AT); - saved_attr2 = char_attr; /* save current attr */ + extra_attr = win_hl_attr(wp, HLF_AT); + saved_attr2 = char_attr; // save current attr } mb_c = c; mb_utf8 = FALSE; @@ -3284,7 +3310,7 @@ win_line ( else syntax_flags = get_syntax_info(&syntax_seqnr); } else if (!attr_pri) { - char_attr = 0; + char_attr = wp->w_hl_attr_normal; } /* Check spelling (unless at the end of the line). @@ -3410,7 +3436,7 @@ win_line ( || (c == ' ' && lcs_space && ptr - line <= trailcol))) { c = (c == ' ') ? lcs_space : lcs_nbsp; n_attr = 1; - extra_attr = hl_attr(HLF_0); + extra_attr = win_hl_attr(wp, HLF_0); saved_attr2 = char_attr; // save current attr mb_c = c; if (enc_utf8 && (*mb_char2len)(c) > 1) { @@ -3425,7 +3451,7 @@ win_line ( if (trailcol != MAXCOL && ptr > line + trailcol && c == ' ') { c = lcs_trail; n_attr = 1; - extra_attr = hl_attr(HLF_0); + extra_attr = win_hl_attr(wp, HLF_0); saved_attr2 = char_attr; // save current attr mb_c = c; if (enc_utf8 && (*mb_char2len)(c) > 1) { @@ -3526,7 +3552,7 @@ win_line ( c_extra = lcs_tab2; } n_attr = tab_len + 1; - extra_attr = hl_attr(HLF_0); + extra_attr = win_hl_attr(wp, HLF_0); saved_attr2 = char_attr; // save current attr mb_c = c; if (enc_utf8 && (*mb_char2len)(c) > 1) { @@ -3573,7 +3599,7 @@ win_line ( } lcs_eol_one = -1; ptr--; // put it back at the NUL - extra_attr = hl_attr(HLF_AT); + extra_attr = win_hl_attr(wp, HLF_AT); n_attr = 1; mb_c = c; if (enc_utf8 && (*mb_char2len)(c) > 1) { @@ -3604,7 +3630,7 @@ win_line ( c = *p_extra++; } n_attr = n_extra + 1; - extra_attr = hl_attr(HLF_8); + extra_attr = win_hl_attr(wp, HLF_8); saved_attr2 = char_attr; // save current attr mb_utf8 = false; // don't draw as UTF-8 } else if (VIsual_active @@ -3636,9 +3662,10 @@ win_line ( if (diff_hlf == HLF_TXD) { diff_hlf = HLF_CHD; if (attr == 0 || char_attr != attr) { - char_attr = hl_attr(diff_hlf); + char_attr = win_hl_attr(wp, diff_hlf); if (wp->w_p_cul && lnum == wp->w_cursor.lnum) { - char_attr = hl_combine_attr(char_attr, hl_attr(HLF_CUL)); + char_attr = hl_combine_attr(char_attr, + win_hl_attr(wp, HLF_CUL)); } } } @@ -3740,7 +3767,7 @@ win_line ( c_extra = MB_FILLER_CHAR; n_extra = 1; n_attr = 2; - extra_attr = hl_attr(HLF_AT); + extra_attr = win_hl_attr(wp, HLF_AT); } mb_c = c; if (enc_utf8 && (*mb_char2len)(c) > 1) { @@ -3751,7 +3778,7 @@ win_line ( mb_utf8 = false; // don't draw as UTF-8 } saved_attr3 = char_attr; // save current attr - char_attr = hl_attr(HLF_AT); // later copied to char_attr + char_attr = win_hl_attr(wp, HLF_AT); // overwriting char_attr n_attr3 = 1; } @@ -3835,6 +3862,10 @@ win_line ( } } } + + if (wp->w_hl_attr_normal != 0) { + char_attr = hl_combine_attr(wp->w_hl_attr_normal, char_attr); + } ScreenAttrs[off] = char_attr; if (wp->w_p_rl) { --col; @@ -3896,6 +3927,9 @@ win_line ( if (rightmost_vcol < color_cols[i]) rightmost_vcol = color_cols[i]; + int cuc_attr = win_hl_attr(wp, HLF_CUC); + int mc_attr = win_hl_attr(wp, HLF_MC); + while (col < wp->w_width) { ScreenLines[off] = ' '; if (enc_utf8) @@ -3905,12 +3939,13 @@ win_line ( draw_color_col = advance_color_col(VCOL_HLC, &color_cols); - if (wp->w_p_cuc && VCOL_HLC == (long)wp->w_virtcol) - ScreenAttrs[off++] = hl_attr(HLF_CUC); - else if (draw_color_col && VCOL_HLC == *color_cols) - ScreenAttrs[off++] = hl_attr(HLF_MC); - else - ScreenAttrs[off++] = 0; + if (wp->w_p_cuc && VCOL_HLC == (long)wp->w_virtcol) { + ScreenAttrs[off++] = cuc_attr; + } else if (draw_color_col && VCOL_HLC == *color_cols) { + ScreenAttrs[off++] = mc_attr; + } else { + ScreenAttrs[off++] = wp->w_hl_attr_normal; + } if (VCOL_HLC >= rightmost_vcol) break; @@ -3919,6 +3954,7 @@ win_line ( } } + // TODO(bfredl): integrate with the common beyond-the-end-loop if (wp->w_buffer->terminal) { // terminal buffers may need to highlight beyond the end of the // logical line @@ -3931,7 +3967,7 @@ win_line ( col++; } } - SCREEN_LINE(screen_row, wp->w_wincol, col, wp->w_width, wp->w_p_rl); + screen_line(screen_row, wp->w_wincol, col, wp->w_width, wp->w_p_rl, wp); row++; /* @@ -3959,7 +3995,7 @@ win_line ( || (wp->w_p_list && lcs_eol_one > 0) || (n_extra && (c_extra != NUL || *p_extra != NUL)))) { c = lcs_ext; - char_attr = hl_attr(HLF_AT); + char_attr = win_hl_attr(wp, HLF_AT); mb_c = c; if (enc_utf8 && (*mb_char2len)(c) > 1) { mb_utf8 = TRUE; @@ -3982,10 +4018,10 @@ win_line ( if (wp->w_p_cuc && VCOL_HLC == (long)wp->w_virtcol && lnum != wp->w_cursor.lnum) { vcol_save_attr = char_attr; - char_attr = hl_combine_attr(char_attr, hl_attr(HLF_CUC)); + char_attr = hl_combine_attr(char_attr, win_hl_attr(wp, HLF_CUC)); } else if (draw_color_col && VCOL_HLC == *color_cols) { vcol_save_attr = char_attr; - char_attr = hl_combine_attr(char_attr, hl_attr(HLF_MC)); + char_attr = hl_combine_attr(char_attr, win_hl_attr(wp, HLF_MC)); } } @@ -4153,8 +4189,8 @@ win_line ( || (wp->w_p_list && lcs_eol != NUL && p_extra != at_end_str) || (n_extra != 0 && (c_extra != NUL || *p_extra != NUL))) ) { - SCREEN_LINE(screen_row, wp->w_wincol, col - boguscols, - wp->w_width, wp->w_p_rl); + screen_line(screen_row, wp->w_wincol, col - boguscols, + wp->w_width, wp->w_p_rl, wp); boguscols = 0; ++row; ++screen_row; @@ -4322,7 +4358,8 @@ static int char_needs_redraw(int off_from, int off_to, int cols) * When TRUE and "clear_width" > 0, clear columns 0 to "endcol" * When FALSE and "clear_width" > 0, clear columns "endcol" to "clear_width" */ -static void screen_line(int row, int coloff, int endcol, int clear_width, int rlflag) +static void screen_line(int row, int coloff, int endcol, + int clear_width, int rlflag, win_T *wp) { unsigned off_from; unsigned off_to; @@ -4484,11 +4521,11 @@ static void screen_line(int row, int coloff, int endcol, int clear_width, int rl } if (clear_width > 0) { - /* For a window that's left of another, draw the separator char. */ - if (col + coloff < Columns) { + // For a window that's left of another, draw the separator char. + if (col + coloff < Columns && wp->w_vsep_width > 0) { int c; - c = fillchar_vsep(&hl); + c = fillchar_vsep(wp, &hl); if (ScreenLines[off_to] != (schar_T)c || (enc_utf8 && (int)ScreenLinesUC[off_to] != (c >= 0x80 ? c : 0)) @@ -4593,8 +4630,8 @@ static void draw_vsep_win(win_T *wp, int row) int c; if (wp->w_vsep_width) { - /* draw the vertical separator right of this window */ - c = fillchar_vsep(&hl); + // draw the vertical separator right of this window + c = fillchar_vsep(wp, &hl); screen_fill(wp->w_winrow + row, wp->w_winrow + wp->w_height, W_ENDCOL(wp), W_ENDCOL(wp) + 1, c, ' ', hl); @@ -4724,7 +4761,7 @@ win_redr_status_matches ( --first_match; } - fillchar = fillchar_status(&attr, TRUE); + fillchar = fillchar_status(&attr, curwin); if (first_match == 0) { *buf = NUL; @@ -4856,7 +4893,7 @@ void win_redr_status(win_T *wp) /* redraw custom status line */ redraw_custom_statusline(wp); } else { - fillchar = fillchar_status(&attr, wp == curwin); + fillchar = fillchar_status(&attr, wp); get_trans_bufname(wp->w_buffer); p = NameBuff; @@ -4928,10 +4965,11 @@ void win_redr_status(win_T *wp) * May need to draw the character below the vertical separator. */ if (wp->w_vsep_width != 0 && wp->w_status_height != 0 && redrawing()) { - if (stl_connected(wp)) - fillchar = fillchar_status(&attr, wp == curwin); - else - fillchar = fillchar_vsep(&attr); + if (stl_connected(wp)) { + fillchar = fillchar_status(&attr, wp); + } else { + fillchar = fillchar_vsep(wp, &attr); + } screen_putchar(fillchar, wp->w_winrow + wp->w_height, W_ENDCOL(wp), attr); } @@ -5081,7 +5119,7 @@ win_redr_custom ( use_sandbox = was_set_insecurely((char_u *)"tabline", 0); } else { row = wp->w_winrow + wp->w_height; - fillchar = fillchar_status(&attr, wp == curwin); + fillchar = fillchar_status(&attr, wp); maxwidth = wp->w_width; if (draw_ruler) { @@ -5466,8 +5504,7 @@ static void start_search_hl(void) { if (p_hls && !no_hlsearch) { last_pat_prog(&search_hl.rm); - search_hl.attr = hl_attr(HLF_L); - /* Set the time limit to 'redrawtime'. */ + // Set the time limit to 'redrawtime'. search_hl.tm = profile_setlimit(p_rdt); } } @@ -5483,6 +5520,42 @@ static void end_search_hl(void) } } +static void update_window_hl(win_T *wp, bool invalid) +{ + if (!wp->w_hl_needs_update && !invalid) { + return; + } + wp->w_hl_needs_update = false; + + // determine window specific background set in 'winhighlight' + if (wp != curwin && wp->w_hl_ids[HLF_INACTIVE] > 0) { + wp->w_hl_attr_normal = syn_id2attr(wp->w_hl_ids[HLF_INACTIVE]); + } else if (wp->w_hl_id_normal > 0) { + wp->w_hl_attr_normal = syn_id2attr(wp->w_hl_id_normal); + } else { + wp->w_hl_attr_normal = 0; + } + if (wp != curwin) { + wp->w_hl_attr_normal = hl_combine_attr(hl_attr(HLF_INACTIVE), + wp->w_hl_attr_normal); + } + + for (int hlf = 0; hlf < (int)HLF_COUNT; hlf++) { + int attr; + if (wp->w_hl_ids[hlf] > 0) { + attr = syn_id2attr(wp->w_hl_ids[hlf]); + } else { + attr = hl_attr(hlf); + } + if (wp->w_hl_attr_normal != 0) { + attr = hl_combine_attr(wp->w_hl_attr_normal, attr); + } + wp->w_hl_attrs[hlf] = attr; + } +} + + + /* * Init for calling prepare_search_hl(). */ @@ -5509,7 +5582,9 @@ static void init_search_hl(win_T *wp) search_hl.buf = wp->w_buffer; search_hl.lnum = 0; search_hl.first_lnum = 0; - /* time limit is set at the toplevel, for all windows */ + search_hl.attr = win_hl_attr(wp, HLF_L); + + // time limit is set at the toplevel, for all windows } /* @@ -5902,7 +5977,7 @@ void screen_fill(int start_row, int end_row, int start_col, int end_col, int c1, col = off - LineOffset[row]; screen_stop_highlight(); ui_cursor_goto(row, col); // clear rest of this screen line - ui_eol_clear(); + ui_call_eol_clear(); col = end_col - col; while (col--) { /* clear chars in ScreenLines */ ScreenLines[off] = ' '; @@ -6291,10 +6366,10 @@ static void screenclear2(void) LineWraps[i] = FALSE; } - ui_clear(); // clear the display - clear_cmdline = FALSE; - mode_displayed = FALSE; - screen_cleared = TRUE; /* can use contents of ScreenLines now */ + ui_call_clear(); // clear the display + clear_cmdline = false; + mode_displayed = false; + screen_cleared = true; // can use contents of ScreenLines now win_rest_invalid(firstwin); redraw_cmdline = TRUE; @@ -6593,7 +6668,7 @@ int screen_ins_lines ( } } - ui_append_lines(line_count); + ui_call_scroll(-line_count); return OK; } @@ -6648,7 +6723,7 @@ int screen_del_lines ( } } - ui_delete_lines(line_count); + ui_call_scroll(line_count); return OK; } @@ -6721,7 +6796,7 @@ int showmode(void) if (edit_submode_extra != NULL) { MSG_PUTS_ATTR(" ", attr); // Add a space in between. if ((int)edit_submode_highl < (int)HLF_COUNT) { - sub_attr = hl_attr(edit_submode_highl); + sub_attr = win_hl_attr(curwin, edit_submode_highl); } else { sub_attr = attr; } @@ -6874,7 +6949,6 @@ static void draw_tabline(void) int modified; int c; int len; - int attr_sel = hl_attr(HLF_TPS); int attr_nosel = hl_attr(HLF_TP); int attr_fill = hl_attr(HLF_TPF); char_u *p; @@ -6887,6 +6961,10 @@ static void draw_tabline(void) } redraw_tabline = false; + if (ui_is_external(kUITabline)) { + ui_ext_tabline_update(); + return; + } if (tabline_height() < 1) return; @@ -6932,16 +7010,6 @@ static void draw_tabline(void) scol = col; - if (tp->tp_topframe == topframe) - attr = attr_sel; - if (use_sep_chars && col > 0) - screen_putchar('|', 0, col++, attr); - - if (tp->tp_topframe != topframe) - attr = attr_nosel; - - screen_putchar(' ', 0, col++, attr); - if (tp == curtab) { cwp = curwin; wp = firstwin; @@ -6950,10 +7018,29 @@ static void draw_tabline(void) wp = tp->tp_firstwin; } - modified = FALSE; - for (wincount = 0; wp != NULL; wp = wp->w_next, ++wincount) - if (bufIsChanged(wp->w_buffer)) - modified = TRUE; + + if (tp->tp_topframe == topframe) { + attr = win_hl_attr(cwp, HLF_TPS); + } + if (use_sep_chars && col > 0) { + screen_putchar('|', 0, col++, attr); + } + + if (tp->tp_topframe != topframe) { + attr = win_hl_attr(cwp, HLF_TP); + } + + screen_putchar(' ', 0, col++, attr); + + modified = false; + + for (wincount = 0; wp != NULL; wp = wp->w_next, ++wincount) { + if (bufIsChanged(wp->w_buffer)) { + modified = true; + } + } + + if (modified || wincount > 1) { if (wincount > 1) { vim_snprintf((char *)NameBuff, MAXPATHL, "%d", wincount); @@ -6961,7 +7048,7 @@ static void draw_tabline(void) if (col + len >= Columns - 3) break; screen_puts_len(NameBuff, len, 0, col, - hl_combine_attr(attr, hl_attr(HLF_T))); + hl_combine_attr(attr, win_hl_attr(cwp, HLF_T))); col += len; } if (modified) @@ -7027,6 +7114,22 @@ static void draw_tabline(void) redraw_tabline = FALSE; } +void ui_ext_tabline_update(void) +{ + Array tabs = ARRAY_DICT_INIT; + FOR_ALL_TABS(tp) { + Dictionary tab_info = ARRAY_DICT_INIT; + PUT(tab_info, "tab", TABPAGE_OBJ(tp->handle)); + + win_T *cwp = (tp == curtab) ? curwin : tp->tp_curwin; + get_trans_bufname(cwp->w_buffer); + PUT(tab_info, "name", STRING_OBJ(cstr_to_string((char *)NameBuff))); + + ADD(tabs, DICTIONARY_OBJ(tab_info)); + } + ui_call_tabline_update(curtab->handle, tabs); +} + /* * Get buffer name for "buf" into NameBuff[]. * Takes care of special buffer names and translates special characters. @@ -7043,25 +7146,28 @@ void get_trans_bufname(buf_T *buf) /* * Get the character to use in a status line. Get its attributes in "*attr". */ -static int fillchar_status(int *attr, int is_curwin) +static int fillchar_status(int *attr, win_T *wp) { int fill; + bool is_curwin = (wp == curwin); if (is_curwin) { - *attr = hl_attr(HLF_S); + *attr = win_hl_attr(wp, HLF_S); fill = fill_stl; } else { - *attr = hl_attr(HLF_SNC); + *attr = win_hl_attr(wp, HLF_SNC); fill = fill_stlnc; } /* Use fill when there is highlighting, and highlighting of current * window differs, or the fillchars differ, or this is not the * current window */ - if (*attr != 0 && ((hl_attr(HLF_S) != hl_attr(HLF_SNC) + if (*attr != 0 && ((win_hl_attr(wp, HLF_S) != win_hl_attr(wp, HLF_SNC) || !is_curwin || firstwin == lastwin) - || (fill_stl != fill_stlnc))) + || (fill_stl != fill_stlnc))) { return fill; - if (is_curwin) + } + if (is_curwin) { return '^'; + } return '='; } @@ -7069,13 +7175,14 @@ static int fillchar_status(int *attr, int is_curwin) * Get the character to use in a separator between vertically split windows. * Get its attributes in "*attr". */ -static int fillchar_vsep(int *attr) +static int fillchar_vsep(win_T *wp, int *attr) { - *attr = hl_attr(HLF_C); - if (*attr == 0 && fill_vert == ' ') + *attr = win_hl_attr(wp, HLF_C); + if (*attr == 0 && fill_vert == ' ') { return '|'; - else + } else { return fill_vert; + } } /* @@ -7190,7 +7297,7 @@ static void win_redr_ruler(win_T *wp, int always) if (wp->w_status_height) { row = wp->w_winrow + wp->w_height; - fillchar = fillchar_status(&attr, wp == curwin); + fillchar = fillchar_status(&attr, wp); off = wp->w_wincol; width = wp->w_width; } else { diff --git a/src/nvim/search.c b/src/nvim/search.c index c662e3ba40..1bf2317d2a 100644 --- a/src/nvim/search.c +++ b/src/nvim/search.c @@ -616,7 +616,7 @@ int searchit( * otherwise "/$" will get stuck on end of line. */ while (matchpos.lnum == 0 - && ((options & SEARCH_END) && first_match + && (((options & SEARCH_END) && first_match) ? (nmatched == 1 && (int)endpos.col - 1 < (int)start_pos.col + extra_col) @@ -1005,14 +1005,13 @@ int do_search( dircp = NULL; /* use previous pattern */ if (pat == NULL || *pat == NUL || *pat == dirc) { - if (spats[RE_SEARCH].pat == NULL) { /* no previous pattern */ - pat = spats[RE_SUBST].pat; - if (pat == NULL) { + if (spats[RE_SEARCH].pat == NULL) { // no previous pattern + searchstr = spats[RE_SUBST].pat; + if (searchstr == NULL) { EMSG(_(e_noprevre)); retval = 0; goto end_do_search; } - searchstr = pat; } else { /* make search_regcomp() use spats[RE_SEARCH].pat */ searchstr = (char_u *)""; diff --git a/src/nvim/sha256.h b/src/nvim/sha256.h index a118826542..deb881a288 100644 --- a/src/nvim/sha256.h +++ b/src/nvim/sha256.h @@ -2,6 +2,7 @@ #define NVIM_SHA256_H #include <stdint.h> // for uint32_t +#include <stddef.h> #include "nvim/types.h" // for char_u diff --git a/src/nvim/shada.c b/src/nvim/shada.c index a6d8cb6563..4788b1e7d0 100644 --- a/src/nvim/shada.c +++ b/src/nvim/shada.c @@ -98,6 +98,7 @@ KHASH_SET_INIT_STR(strset) #define REG_KEY_TYPE "rt" #define REG_KEY_WIDTH "rw" #define REG_KEY_CONTENTS "rc" +#define REG_KEY_UNNAMED "ru" #define KEY_LNUM "l" #define KEY_COL "c" @@ -284,6 +285,7 @@ typedef struct { char name; MotionType type; char **contents; + bool is_unnamed; size_t contents_size; size_t width; dict_T *additional_data; @@ -473,6 +475,7 @@ static const ShadaEntry sd_default_values[] = { .type = kMTCharWise, .contents = NULL, .contents_size = 0, + .is_unnamed = false, .width = 0, .additional_data = NULL), DEF_SDE(Variable, global_var, @@ -1277,8 +1280,6 @@ static void shada_read(ShaDaReadDef *const sd_reader, const int flags) if (cur_entry.data.search_pattern.is_last_used) { set_last_used_pattern( cur_entry.data.search_pattern.is_substitute_pattern); - } - if (cur_entry.data.search_pattern.is_last_used) { SET_NO_HLSEARCH(!cur_entry.data.search_pattern.highlighted); } // Do not free shada entry: its allocated memory was saved above. @@ -1337,7 +1338,7 @@ static void shada_read(ShaDaReadDef *const sd_reader, const int flags) .y_width = (colnr_T) cur_entry.data.reg.width, .timestamp = cur_entry.timestamp, .additional_data = cur_entry.data.reg.additional_data, - })) { + }, cur_entry.data.reg.is_unnamed)) { shada_free_shada_entry(&cur_entry); } // Do not free shada entry: its allocated memory was saved above. @@ -1782,6 +1783,7 @@ static ShaDaWriteResult shada_pack_entry(msgpack_packer *const packer, 2 // Register contents and name + ONE_IF_NOT_DEFAULT(entry, reg.type) + ONE_IF_NOT_DEFAULT(entry, reg.width) + + ONE_IF_NOT_DEFAULT(entry, reg.is_unnamed) // Additional entries, if any: + (size_t) (entry.data.reg.additional_data == NULL ? 0 @@ -1802,6 +1804,14 @@ static ShaDaWriteResult shada_pack_entry(msgpack_packer *const packer, PACK_STATIC_STR(REG_KEY_WIDTH); msgpack_pack_uint64(spacker, (uint64_t) entry.data.reg.width); } + if (!CHECK_DEFAULT(entry, reg.is_unnamed)) { + PACK_STATIC_STR(REG_KEY_UNNAMED); + if (entry.data.reg.is_unnamed) { + msgpack_pack_true(spacker); + } else { + msgpack_pack_false(spacker); + } + } DUMP_ADDITIONAL_DATA(entry.data.reg.additional_data, "register item"); break; } @@ -2047,7 +2057,7 @@ static inline ShaDaWriteResult shada_read_when_writing( } case kSDReadStatusNotShaDa: { ret = kSDWriteReadNotShada; - // fallthrough + FALLTHROUGH; } case kSDReadStatusReadError: { return ret; @@ -2320,6 +2330,48 @@ static inline void add_search_pattern(PossiblyFreedShadaEntry *const ret_pse, } } +/// Initialize registers for writing to the ShaDa file +/// +/// @param[in] wms The WriteMergerState used when writing. +/// @param[in] max_reg_lines The maximum number of register lines. +static inline void shada_initialize_registers(WriteMergerState *const wms, + int max_reg_lines) + FUNC_ATTR_NONNULL_ALL FUNC_ATTR_ALWAYS_INLINE +{ + const void *reg_iter = NULL; + const bool limit_reg_lines = max_reg_lines >= 0; + do { + yankreg_T reg; + char name = NUL; + bool is_unnamed = false; + reg_iter = op_register_iter(reg_iter, &name, ®, &is_unnamed); + if (name == NUL) { + break; + } + if (limit_reg_lines && reg.y_size > (size_t)max_reg_lines) { + continue; + } + wms->registers[op_reg_index(name)] = (PossiblyFreedShadaEntry) { + .can_free_entry = false, + .data = { + .type = kSDItemRegister, + .timestamp = reg.timestamp, + .data = { + .reg = { + .contents = (char **)reg.y_array, + .contents_size = (size_t)reg.y_size, + .type = reg.y_type, + .width = (size_t)(reg.y_type == kMTBlockWise ? reg.y_width : 0), + .additional_data = reg.additional_data, + .name = name, + .is_unnamed = is_unnamed, + } + } + } + }; + } while (reg_iter != NULL); +} + /// Write ShaDa file /// /// @param[in] sd_writer Structure containing file writer definition. @@ -2346,7 +2398,6 @@ static ShaDaWriteResult shada_write(ShaDaWriteDef *const sd_writer, if (max_reg_lines < 0) { max_reg_lines = get_shada_parameter('"'); } - const bool limit_reg_lines = max_reg_lines >= 0; const bool dump_registers = (max_reg_lines != 0); khash_t(bufset) removable_bufs = KHASH_EMPTY_TABLE(bufset); const size_t max_kbyte = (size_t) max_kbyte_i; @@ -2589,35 +2640,7 @@ static ShaDaWriteResult shada_write(ShaDaWriteDef *const sd_writer, // Initialize registers if (dump_registers) { - const void *reg_iter = NULL; - do { - yankreg_T reg; - char name = NUL; - reg_iter = op_register_iter(reg_iter, &name, ®); - if (name == NUL) { - break; - } - if (limit_reg_lines && reg.y_size > (size_t)max_reg_lines) { - continue; - } - wms->registers[op_reg_index(name)] = (PossiblyFreedShadaEntry) { - .can_free_entry = false, - .data = { - .type = kSDItemRegister, - .timestamp = reg.timestamp, - .data = { - .reg = { - .contents = (char **) reg.y_array, - .contents_size = (size_t) reg.y_size, - .type = reg.y_type, - .width = (size_t) (reg.y_type == kMTBlockWise ? reg.y_width : 0), - .additional_data = reg.additional_data, - .name = name, - } - } - } - }; - } while (reg_iter != NULL); + shada_initialize_registers(wms, max_reg_lines); } // Initialize buffers @@ -3596,6 +3619,7 @@ shada_read_next_item_start: entry->data.reg.contents[i] = BIN_CONVERTED(arr.ptr[i].via.bin); } } + BOOLEAN_KEY("register", REG_KEY_UNNAMED, entry->data.reg.is_unnamed) TYPED_KEY("register", REG_KEY_TYPE, "an unsigned integer", entry->data.reg.type, POSITIVE_INTEGER, u64, TOU8) TYPED_KEY("register", KEY_NAME_CHAR, "an unsigned integer", diff --git a/src/nvim/sign_defs.h b/src/nvim/sign_defs.h index 7288a48e21..3778f4287e 100644 --- a/src/nvim/sign_defs.h +++ b/src/nvim/sign_defs.h @@ -1,6 +1,8 @@ #ifndef NVIM_SIGN_DEFS_H #define NVIM_SIGN_DEFS_H +#include "nvim/pos.h" + // signs: line annotations typedef struct signlist signlist_T; diff --git a/src/nvim/spell.h b/src/nvim/spell.h index e950644a6d..ad66df4c5d 100644 --- a/src/nvim/spell.h +++ b/src/nvim/spell.h @@ -4,6 +4,8 @@ #include <stdbool.h> #include "nvim/spell_defs.h" +#include "nvim/ex_cmds_defs.h" +#include "nvim/globals.h" #ifdef INCLUDE_GENERATED_DECLARATIONS # include "spell.h.generated.h" diff --git a/src/nvim/spellfile.c b/src/nvim/spellfile.c index d34d69b3a4..1f7f616782 100644 --- a/src/nvim/spellfile.c +++ b/src/nvim/spellfile.c @@ -2468,8 +2468,7 @@ static afffile_T *spell_read_aff(spellinfo_T *spin, char_u *fname) } } - if (aff_entry->ae_chop == NULL - && aff_entry->ae_flags == NULL) { + if (aff_entry->ae_chop == NULL) { int idx; char_u **pp; int n; diff --git a/src/nvim/spellfile.h b/src/nvim/spellfile.h index 89acddda0d..633ee014a7 100644 --- a/src/nvim/spellfile.h +++ b/src/nvim/spellfile.h @@ -5,6 +5,7 @@ #include "nvim/spell_defs.h" #include "nvim/types.h" +#include "nvim/ex_cmds_defs.h" #ifdef INCLUDE_GENERATED_DECLARATIONS # include "spellfile.h.generated.h" diff --git a/src/nvim/state.c b/src/nvim/state.c index 210708c3f4..be6aa21664 100644 --- a/src/nvim/state.c +++ b/src/nvim/state.c @@ -98,3 +98,52 @@ int get_real_state(void) return State; } +/// @returns[allocated] mode string +char *get_mode(void) +{ + char *buf = xcalloc(3, sizeof(char)); + + if (VIsual_active) { + if (VIsual_select) { + buf[0] = (char)(VIsual_mode + 's' - 'v'); + } else { + buf[0] = (char)VIsual_mode; + } + } else if (State == HITRETURN || State == ASKMORE || State == SETWSIZE + || State == CONFIRM) { + buf[0] = 'r'; + if (State == ASKMORE) { + buf[1] = 'm'; + } else if (State == CONFIRM) { + buf[1] = '?'; + } + } else if (State == EXTERNCMD) { + buf[0] = '!'; + } else if (State & INSERT) { + if (State & VREPLACE_FLAG) { + buf[0] = 'R'; + buf[1] = 'v'; + } else if (State & REPLACE_FLAG) { + buf[0] = 'R'; + } else { + buf[0] = 'i'; + } + } else if (State & CMDLINE) { + buf[0] = 'c'; + if (exmode_active) { + buf[1] = 'v'; + } + } else if (exmode_active) { + buf[0] = 'c'; + buf[1] = 'e'; + } else if (State & TERM_FOCUS) { + buf[0] = 't'; + } else { + buf[0] = 'n'; + if (finish_op) { + buf[1] = 'o'; + } + } + + return buf; +} diff --git a/src/nvim/strings.c b/src/nvim/strings.c index 743b43c2e5..687f734742 100644 --- a/src/nvim/strings.c +++ b/src/nvim/strings.c @@ -425,72 +425,27 @@ int vim_strnicmp(const char *s1, const char *s2, size_t len) } #endif -/* - * Version of strchr() and strrchr() that handle unsigned char strings - * with characters from 128 to 255 correctly. It also doesn't return a - * pointer to the NUL at the end of the string. - */ -char_u *vim_strchr(const char_u *string, int c) - FUNC_ATTR_NONNULL_ALL FUNC_ATTR_PURE +/// strchr() version which handles multibyte strings +/// +/// @param[in] string String to search in. +/// @param[in] c Character to search for. +/// +/// @return Pointer to the first byte of the found character in string or NULL +/// if it was not found or character is invalid. NUL character is never +/// found, use `strlen()` instead. +char_u *vim_strchr(const char_u *const string, const int c) + FUNC_ATTR_NONNULL_ALL FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT { - int b; - - const char_u *p = string; - if (enc_utf8 && c >= 0x80) { - while (*p != NUL) { - int l = (*mb_ptr2len)(p); - - // Avoid matching an illegal byte here. - if (l > 1 && utf_ptr2char(p) == c) { - return (char_u *) p; - } - p += l; - } - return NULL; - } - if (enc_dbcs != 0 && c > 255) { - int n2 = c & 0xff; - - c = ((unsigned)c >> 8) & 0xff; - while ((b = *p) != NUL) { - if (b == c && p[1] == n2) - return (char_u *) p; - p += (*mb_ptr2len)(p); - } + if (c <= 0) { return NULL; + } else if (c < 0x80) { + return (char_u *)strchr((const char *)string, c); + } else { + char u8char[MB_MAXBYTES + 1]; + const int len = utf_char2bytes(c, (char_u *)u8char); + u8char[len] = NUL; + return (char_u *)strstr((const char *)string, u8char); } - if (has_mbyte) { - while ((b = *p) != NUL) { - if (b == c) - return (char_u *) p; - p += (*mb_ptr2len)(p); - } - return NULL; - } - while ((b = *p) != NUL) { - if (b == c) - return (char_u *) p; - ++p; - } - return NULL; -} - -/* - * Version of strchr() that only works for bytes and handles unsigned char - * strings with characters above 128 correctly. It also doesn't return a - * pointer to the NUL at the end of the string. - */ -char_u *vim_strbyte(const char_u *string, int c) - FUNC_ATTR_NONNULL_ALL FUNC_ATTR_PURE -{ - const char_u *p = string; - - while (*p != NUL) { - if (*p == c) - return (char_u *) p; - ++p; - } - return NULL; } /* @@ -698,7 +653,7 @@ static float_T tv_float(typval_T *const tvs, int *const idxp) if (tvs[idx].v_type == VAR_FLOAT) { f = tvs[idx].vval.v_float; } else if (tvs[idx].v_type == VAR_NUMBER) { - f = tvs[idx].vval.v_number; + f = (float_T)tvs[idx].vval.v_number; } else { EMSG(_("E807: Expected Float argument for printf()")); } @@ -955,6 +910,13 @@ int vim_vsnprintf(char *str, size_t str_m, const char *fmt, va_list ap, default: break; } + switch (fmt_spec) { + case 'd': case 'u': case 'o': case 'x': case 'X': + if (tvs && length_modifier == '\0') { + length_modifier = '2'; + } + } + // get parameter value, do initial processing switch (fmt_spec) { // '%' and 'c' behave similar to 's' regarding flags and field widths diff --git a/src/nvim/syntax.c b/src/nvim/syntax.c index ce48547163..a4bb260183 100644 --- a/src/nvim/syntax.c +++ b/src/nvim/syntax.c @@ -309,6 +309,8 @@ static keyentry_T dumkey; #define HIKEY2KE(p) ((keyentry_T *)((p) - (dumkey.keyword - (char_u *)&dumkey))) #define HI2KE(hi) HIKEY2KE((hi)->hi_key) +// -V:HI2KE:782 + /* * To reduce the time spent in keepend(), remember at which level in the state * stack the first item with "keepend" is present. When "-1", there is no @@ -7304,110 +7306,34 @@ static void highlight_attr_set_all(void) } } -/* - * Translate the 'highlight' option into attributes in highlight_attr[] and - * set up the user highlights User1..9. A set of - * corresponding highlights to use on top of HLF_SNC is computed. - * Called only when the 'highlight' option has been changed and upon first - * screen redraw after any :highlight command. - * Return FAIL when an invalid flag is found in 'highlight'. OK otherwise. - */ -int highlight_changed(void) +/// Tranlate highlight groups into attributes in highlight_attr[] and set up +/// the user highlights User1..9. A set of corresponding highlights to use on +/// top of HLF_SNC is computed. Called only when nvim starts and upon first +/// screen redraw after any :highlight command. +void highlight_changed(void) { - int hlf; - int i; - char_u *p; int attr; - char_u *end; int id; char_u userhl[10]; int id_SNC = -1; int id_S = -1; int hlcnt; - static int hl_flags[HLF_COUNT] = HL_FLAGS; need_highlight_changed = FALSE; - /* - * Clear all attributes. - */ - for (hlf = 0; hlf < (int)HLF_COUNT; ++hlf) - highlight_attr[hlf] = 0; - - /* - * First set all attributes to their default value. - * Then use the attributes from the 'highlight' option. - */ - for (i = 0; i < 2; ++i) { - if (i) - p = p_hl; - else - p = get_highlight_default(); - if (p == NULL) /* just in case */ - continue; - - while (*p) { - for (hlf = 0; hlf < (int)HLF_COUNT; ++hlf) - if (hl_flags[hlf] == *p) - break; - ++p; - if (hlf == (int)HLF_COUNT || *p == NUL) - return FAIL; - - /* - * Allow several hl_flags to be combined, like "bu" for - * bold-underlined. - */ - attr = 0; - bool colon = false; - for (; *p && *p != ','; ++p) { // parse upto comma - if (ascii_iswhite(*p)) { // ignore white space - continue; - } - - if (colon) /* Combination with ':' is not allowed. */ - return FAIL; - - switch (*p) { - case 'b': attr |= HL_BOLD; - break; - case 'i': attr |= HL_ITALIC; - break; - case '-': - case 'n': /* no highlighting */ - break; - case 'r': attr |= HL_INVERSE; - break; - case 's': attr |= HL_STANDOUT; - break; - case 'u': attr |= HL_UNDERLINE; - break; - case 'c': attr |= HL_UNDERCURL; - break; - case ':': ++p; /* highlight group name */ - if (attr || *p == NUL) /* no combinations */ - return FAIL; - colon = true; - end = vim_strchr(p, ','); - if (end == NULL) - end = p + STRLEN(p); - id = syn_check_group(p, (int)(end - p)); - if (id == 0) - return FAIL; - attr = syn_id2attr(id); - p = end - 1; - if (hlf == (int)HLF_SNC) - id_SNC = syn_get_final_id(id); - else if (hlf == (int)HLF_S) - id_S = syn_get_final_id(id); - break; - default: return FAIL; - } - } - highlight_attr[hlf] = attr; - - p = skip_to_option_part(p); /* skip comma and spaces */ + /// Translate builtin highlight groups into attributes for quick lookup. + for (int hlf = 0; hlf < (int)HLF_COUNT; hlf++) { + id = syn_check_group((char_u *)hlf_names[hlf], STRLEN(hlf_names[hlf])); + if (id == 0) { + abort(); + } + attr = syn_id2attr(id); + if (hlf == (int)HLF_SNC) { + id_SNC = syn_get_final_id(id); + } else if (hlf == (int)HLF_S) { + id_S = syn_get_final_id(id); } + highlight_attr[hlf] = attr; } /* Setup the user highlights @@ -7472,8 +7398,6 @@ int highlight_changed(void) } } highlight_ga.ga_len = hlcnt; - - return OK; } diff --git a/src/nvim/syntax_defs.h b/src/nvim/syntax_defs.h index 8d207e6286..9f309451b0 100644 --- a/src/nvim/syntax_defs.h +++ b/src/nvim/syntax_defs.h @@ -1,10 +1,9 @@ #ifndef NVIM_SYNTAX_DEFS_H #define NVIM_SYNTAX_DEFS_H +#include "nvim/highlight_defs.h" #include "nvim/regexp_defs.h" -typedef int32_t RgbValue; - # define SST_MIN_ENTRIES 150 /* minimal size for state stack array */ # define SST_MAX_ENTRIES 1000 /* maximal size for state stack array */ # define SST_FIX_STATES 7 /* size of sst_stack[]. */ diff --git a/src/nvim/tag.c b/src/nvim/tag.c index b8b86bf979..be9d621c7d 100644 --- a/src/nvim/tag.c +++ b/src/nvim/tag.c @@ -106,15 +106,6 @@ static char_u *topmsg = (char_u *)N_("E556: at top of tag stack"); static char_u *tagmatchname = NULL; /* name of last used tag */ /* - * We use ftello() here, if available. It returns off_t instead of long, - * which helps if long is 32 bit and off_t is 64 bit. - * We assume that when fseeko() is available then ftello() is too. - */ -#ifdef HAVE_FSEEKO -# define ftell ftello -#endif - -/* * Tag for preview window is remembered separately, to avoid messing up the * normal tagstack. */ @@ -208,10 +199,9 @@ do_tag ( clearpos(&saved_fmark.mark); /* shutup gcc 4.0 */ saved_fmark.fnum = 0; - /* - * Don't add a tag to the tagstack if 'tagstack' has been reset. - */ - if (!p_tgst && *tag != NUL) { + // Don't add a tag to the tagstack if 'tagstack' has been reset. + assert(tag != NULL); + if (!p_tgst && *tag != NUL) { // -V522 use_tagstack = false; new_tag = true; if (g_do_tagpreview != 0) { @@ -1089,22 +1079,21 @@ find_tags ( char_u *p; char_u *s; int i; - int tag_file_sorted = NUL; /* !_TAG_FILE_SORTED value */ - struct tag_search_info /* Binary search file offsets */ - { - off_t low_offset; /* offset for first char of first line that - could match */ - off_t high_offset; /* offset of char after last line that could - match */ - off_t curr_offset; /* Current file offset in search range */ - off_t curr_offset_used; /* curr_offset used when skipping back */ - off_t match_offset; /* Where the binary search found a tag */ - int low_char; /* first char at low_offset */ - int high_char; /* first char at high_offset */ + int tag_file_sorted = NUL; // !_TAG_FILE_SORTED value + struct tag_search_info { // Binary search file offsets + off_T low_offset; // offset for first char of first line that + // could match + off_T high_offset; // offset of char after last line that could + // match + off_T curr_offset; // Current file offset in search range + off_T curr_offset_used; // curr_offset used when skipping back + off_T match_offset; // Where the binary search found a tag + int low_char; // first char at low_offset + int high_char; // first char at high_offset } search_info; - off_t filesize; + off_T filesize; int tagcmp; - off_t offset; + off_T offset; int round; enum { TS_START, /* at start of file */ @@ -1379,36 +1368,28 @@ find_tags ( if (state == TS_BINARY || state == TS_SKIP_BACK) { /* Adjust the search file offset to the correct position */ search_info.curr_offset_used = search_info.curr_offset; -#ifdef HAVE_FSEEKO - fseeko(fp, search_info.curr_offset, SEEK_SET); -#else - fseek(fp, (long)search_info.curr_offset, SEEK_SET); -#endif + vim_fseek(fp, search_info.curr_offset, SEEK_SET); eof = vim_fgets(lbuf, LSIZE, fp); if (!eof && search_info.curr_offset != 0) { /* The explicit cast is to work around a bug in gcc 3.4.2 * (repeated below). */ - search_info.curr_offset = ftell(fp); + search_info.curr_offset = vim_ftell(fp); if (search_info.curr_offset == search_info.high_offset) { - /* oops, gone a bit too far; try from low offset */ -#ifdef HAVE_FSEEKO - fseeko(fp, search_info.low_offset, SEEK_SET); -#else - fseek(fp, (long)search_info.low_offset, SEEK_SET); -#endif + // oops, gone a bit too far; try from low offset + vim_fseek(fp, search_info.low_offset, SEEK_SET); search_info.curr_offset = search_info.low_offset; } eof = vim_fgets(lbuf, LSIZE, fp); } /* skip empty and blank lines */ while (!eof && vim_isblankline(lbuf)) { - search_info.curr_offset = ftell(fp); + search_info.curr_offset = vim_ftell(fp); eof = vim_fgets(lbuf, LSIZE, fp); } if (eof) { /* Hit end of file. Skip backwards. */ state = TS_SKIP_BACK; - search_info.match_offset = ftell(fp); + search_info.match_offset = vim_ftell(fp); search_info.curr_offset = search_info.curr_offset_used; continue; } @@ -1524,10 +1505,10 @@ line_read_in: */ if (state == TS_BINARY) { // Get the tag file size. - if ((filesize = lseek(fileno(fp), (off_t)0L, SEEK_END)) <= 0) { + if ((filesize = vim_lseek(fileno(fp), (off_T)0L, SEEK_END)) <= 0) { state = TS_LINEAR; } else { - lseek(fileno(fp), (off_t)0L, SEEK_SET); + vim_lseek(fileno(fp), (off_T)0L, SEEK_SET); /* Calculate the first read offset in the file. Start * the search in the middle of the file. */ @@ -1565,11 +1546,7 @@ parse_line: /* Avoid getting stuck. */ linear = TRUE; state = TS_LINEAR; -# ifdef HAVE_FSEEKO - fseeko(fp, search_info.low_offset, SEEK_SET); -# else - fseek(fp, (long)search_info.low_offset, SEEK_SET); -# endif + vim_fseek(fp, search_info.low_offset, SEEK_SET); } continue; } @@ -1648,7 +1625,7 @@ parse_line: continue; } if (tagcmp < 0) { - search_info.curr_offset = ftell(fp); + search_info.curr_offset = vim_ftell(fp); if (search_info.curr_offset < search_info.high_offset) { search_info.low_offset = search_info.curr_offset; if (sortic) @@ -1684,10 +1661,11 @@ parse_line: } else if (state == TS_STEP_FORWARD) { assert(cmplen >= 0); if (mb_strnicmp(tagp.tagname, orgpat.head, (size_t)cmplen) != 0) { - if ((off_t)ftell(fp) > search_info.match_offset) - break; /* past last match */ - else - continue; /* before first match */ + if ((off_T)vim_ftell(fp) > search_info.match_offset) { + break; // past last match + } else { + continue; // before first match + } } } else /* skip this match if it can't match */ @@ -1908,10 +1886,11 @@ parse_line: if (line_error) { EMSG2(_("E431: Format error in tags file \"%s\""), tag_fname); - if (!use_cscope) - EMSGN(_("Before byte %" PRId64), ftell(fp)); - stop_searching = TRUE; - line_error = FALSE; + if (!use_cscope) { + EMSGN(_("Before byte %" PRId64), vim_ftell(fp)); + } + stop_searching = true; + line_error = false; } if (!use_cscope) diff --git a/src/nvim/tag.h b/src/nvim/tag.h index 5d4bcddf94..a8fddd05da 100644 --- a/src/nvim/tag.h +++ b/src/nvim/tag.h @@ -1,6 +1,9 @@ #ifndef NVIM_TAG_H #define NVIM_TAG_H +#include "nvim/types.h" +#include "nvim/ex_cmds_defs.h" + /* * Values for do_tag(). */ diff --git a/src/nvim/terminal.c b/src/nvim/terminal.c index c44fe15be5..1882f263db 100644 --- a/src/nvim/terminal.c +++ b/src/nvim/terminal.c @@ -237,8 +237,6 @@ Terminal *terminal_open(TerminalOptions opts) curbuf->b_p_scbk = p_scbk; // 'scrollback' curbuf->b_p_tw = 0; // 'textwidth' set_option_value("wrap", false, NULL, OPT_LOCAL); - set_option_value("number", false, NULL, OPT_LOCAL); - set_option_value("relativenumber", false, NULL, OPT_LOCAL); set_option_value("list", false, NULL, OPT_LOCAL); buf_set_term_title(curbuf, (char *)curbuf->b_ffname); RESET_BINDING(curwin); @@ -302,8 +300,16 @@ void terminal_close(Terminal *term, char *msg) } term->forward_mouse = false; - term->closed = true; + + // flush any pending changes to the buffer + if (!exiting) { + block_autocmds(); + refresh_terminal(term); + unblock_autocmds(); + } + buf_T *buf = handle_get_buffer(term->buf_handle); + term->closed = true; if (!msg || exiting) { // If no msg was given, this was called by close_buffer(buffer.c). Or if @@ -595,8 +601,10 @@ void terminal_get_line_attributes(Terminal *term, win_T *wp, int linenr, if (term->cursor.visible && term->cursor.row == row && term->cursor.col == col) { - attr_id = hl_combine_attr(attr_id, is_focused(term) && wp == curwin ? - hl_attr(HLF_TERM) : hl_attr(HLF_TERMNC)); + attr_id = hl_combine_attr(attr_id, + is_focused(term) && wp == curwin + ? win_hl_attr(wp, HLF_TERM) + : win_hl_attr(wp, HLF_TERMNC)); } term_attrs[col] = attr_id; @@ -631,7 +639,7 @@ static int term_movecursor(VTermPos new, VTermPos old, int visible, } static void buf_set_term_title(buf_T *buf, char *title) - FUNC_ATTR_NONNULL_ALL + FUNC_ATTR_NONNULL_ALL { Error err = ERROR_INIT; dict_set_var(buf->b_vars, @@ -675,7 +683,7 @@ static int term_settermprop(VTermProp prop, VTermValue *val, void *data) static int term_bell(void *data) { - ui_putc('\x07'); + ui_call_bell(); return 1; } diff --git a/src/nvim/testdir/Makefile b/src/nvim/testdir/Makefile index 70a9f2b8c4..7e55fffa06 100644 --- a/src/nvim/testdir/Makefile +++ b/src/nvim/testdir/Makefile @@ -58,8 +58,10 @@ NEW_TESTS ?= \ test_nested_function.res \ test_normal.res \ test_quickfix.res \ + test_search.res \ test_signs.res \ test_smartindent.res \ + test_stat.res \ test_substitute.res \ test_syntax.res \ test_tabpage.res \ @@ -67,7 +69,7 @@ NEW_TESTS ?= \ test_timers.res \ test_undo.res \ test_usercommands.res \ - test_viml.res \ + test_vimscript.res \ test_visual.res \ test_window_id.res \ test_writefile.res \ diff --git a/src/nvim/testdir/runtest.vim b/src/nvim/testdir/runtest.vim index 1cf7ab475c..117ba52eb6 100644 --- a/src/nvim/testdir/runtest.vim +++ b/src/nvim/testdir/runtest.vim @@ -72,10 +72,11 @@ let v:testing = 1 set directory^=. set backspace= set nohidden smarttab noautoindent noautoread complete-=i noruler noshowcmd +set listchars=eol:$ " Prevent Nvim log from writing to stderr. -let $NVIM_LOG_FILE='Xnvim.log' +let $NVIM_LOG_FILE = exists($NVIM_LOG_FILE) ? $NVIM_LOG_FILE : 'Xnvim.log' -function RunTheTest(test) +func RunTheTest(test) echo 'Executing ' . a:test if exists("*SetUp") call SetUp() @@ -112,6 +113,60 @@ function RunTheTest(test) set nomodified endfunc +func AfterTheTest() + if len(v:errors) > 0 + let s:fail += 1 + call add(s:errors, 'Found errors in ' . s:test . ':') + call extend(s:errors, v:errors) + let v:errors = [] + endif +endfunc + +" This function can be called by a test if it wants to abort testing. +func FinishTesting() + call AfterTheTest() + + " Don't write viminfo on exit. + set viminfo= + + if s:fail == 0 + " Success, create the .res file so that make knows it's done. + exe 'split ' . fnamemodify(g:testname, ':r') . '.res' + write + endif + + if len(s:errors) > 0 + " Append errors to test.log + split test.log + call append(line('$'), '') + call append(line('$'), 'From ' . g:testname . ':') + call append(line('$'), s:errors) + write + endif + + let message = 'Executed ' . s:done . (s:done > 1 ? ' tests' : ' test') + echo message + call add(s:messages, message) + if s:fail > 0 + let message = s:fail . ' FAILED:' + echo message + call add(s:messages, message) + call extend(s:messages, s:errors) + endif + + " Add SKIPPED messages + call extend(s:messages, s:skipped) + + " Append messages to the file "messages" + split messages + call append(line('$'), '') + call append(line('$'), 'From ' . g:testname . ':') + call append(line('$'), s:messages) + write + + qall! +endfunc + " Source the test script. First grab the file name, in case the script " navigates away. g:testname can be used by the tests. let g:testname = expand('%') @@ -120,7 +175,7 @@ let s:fail = 0 let s:errors = [] let s:messages = [] let s:skipped = [] -if expand('%') =~ 'test_viml.vim' +if expand('%') =~ 'test_vimscript.vim' " this test has intentional s:errors, don't use try/catch. source % else @@ -133,7 +188,11 @@ else endif " Names of flaky tests. -let s:flaky = [] +let s:flaky = [ + \ 'Test_with_partial_callback()', + \ 'Test_oneshot()', + \ 'Test_lambda_with_timer()', + \ ] " Locate Test_ functions and execute them. set nomore @@ -152,56 +211,14 @@ for s:test in sort(s:tests) call RunTheTest(s:test) if len(v:errors) > 0 && index(s:flaky, s:test) >= 0 - call add(s:messages, 'Flaky test failed, running it again') - let v:errors = [] - call RunTheTest(s:test) - endif - - if len(v:errors) > 0 - let s:fail += 1 - call add(s:errors, 'Found errors in ' . s:test . ':') - call extend(s:errors, v:errors) + call add(s:messages, 'Flaky test failed, running it again') let v:errors = [] + call RunTheTest(s:test) endif + call AfterTheTest() endfor -" Don't write viminfo on exit. -set viminfo= - -if s:fail == 0 - " Success, create the .res file so that make knows it's done. - exe 'split ' . fnamemodify(g:testname, ':r') . '.res' - write -endif - -if len(s:errors) > 0 - " Append errors to test.log - split test.log - call append(line('$'), '') - call append(line('$'), 'From ' . g:testname . ':') - call append(line('$'), s:errors) - write -endif - -let message = 'Executed ' . s:done . (s:done > 1 ? ' tests': ' test') -echo message -call add(s:messages, message) -if s:fail > 0 - let message = s:fail . ' FAILED' - echo message - call add(s:messages, message) - call extend(s:messages, s:errors) -endif - -" Add SKIPPED messages -call extend(s:messages, s:skipped) - -" Append messages to the file "messages" -split messages -call append(line('$'), '') -call append(line('$'), 'From ' . g:testname . ':') -call append(line('$'), s:messages) -write +call FinishTesting() -qall! +" vim: shiftwidth=2 sts=2 expandtab diff --git a/src/nvim/testdir/shared.vim b/src/nvim/testdir/shared.vim index 784e4a0a02..72cfea96c6 100644 --- a/src/nvim/testdir/shared.vim +++ b/src/nvim/testdir/shared.vim @@ -187,7 +187,7 @@ func RunVim(before, after, arguments) endfunc func RunVimPiped(before, after, arguments, pipecmd) - let $NVIM_LOG_FILE='Xnvim.log' + let $NVIM_LOG_FILE = exists($NVIM_LOG_FILE) ? $NVIM_LOG_FILE : 'Xnvim.log' let cmd = GetVimCommand() if cmd == '' return 0 diff --git a/src/nvim/testdir/test49.vim b/src/nvim/testdir/test49.vim index adbabd61b9..467abcd9b9 100644 --- a/src/nvim/testdir/test49.vim +++ b/src/nvim/testdir/test49.vim @@ -608,7 +608,7 @@ com! -nargs=1 -bar ExecAsScript call ExecAsScript(<f-args>) " END_OF_TEST_ENVIRONMENT - do not change or remove this line. -" Tests 1 to 15 were moved to test_viml.vim +" Tests 1 to 15 were moved to test_vimscript.vim let Xtest = 16 "------------------------------------------------------------------------------- diff --git a/src/nvim/testdir/test_alot.vim b/src/nvim/testdir/test_alot.vim index 99d9835996..1103778107 100644 --- a/src/nvim/testdir/test_alot.vim +++ b/src/nvim/testdir/test_alot.vim @@ -8,7 +8,10 @@ source test_ex_undo.vim source test_expr.vim source test_expr_utf8.vim source test_feedkeys.vim +source test_filter_cmd.vim source test_filter_map.vim +source test_float_func.vim +source test_functions.vim source test_goto.vim source test_jumps.vim source test_lambda.vim diff --git a/src/nvim/testdir/test_cscope.vim b/src/nvim/testdir/test_cscope.vim index c8d2ebd7da..01a9a3f9ad 100644 --- a/src/nvim/testdir/test_cscope.vim +++ b/src/nvim/testdir/test_cscope.vim @@ -28,7 +28,7 @@ func Test_cscopeWithCscopeConnections() cscope add Xcscope.out set cscopeverbose catch - call assert_true(0) + call assert_report('exception thrown') endtry call assert_fails('cscope add', 'E560') call assert_fails('cscope add Xcscope.out', 'E568') diff --git a/src/nvim/testdir/test_cursor_func.vim b/src/nvim/testdir/test_cursor_func.vim index d819b7b092..e1b9651c84 100644 --- a/src/nvim/testdir/test_cursor_func.vim +++ b/src/nvim/testdir/test_cursor_func.vim @@ -1,13 +1,7 @@ " Tests for cursor(). func Test_wrong_arguments() - try - call cursor(1. 3) - " not reached - call assert_false(1) - catch - call assert_exception('E474:') - endtry + call assert_fails('call cursor(1. 3)', 'E474:') endfunc func Test_move_cursor() diff --git a/src/nvim/testdir/test_expr.vim b/src/nvim/testdir/test_expr.vim index 03a9155512..82c5d21bd0 100644 --- a/src/nvim/testdir/test_expr.vim +++ b/src/nvim/testdir/test_expr.vim @@ -78,7 +78,7 @@ endfunc func Test_loop_over_null_list() let null_list = submatch(1, 1) for i in null_list - call assert_true(0, 'should not get here') + call assert_report('should not get here') endfor endfunc @@ -98,6 +98,35 @@ func Test_special_char() call assert_fails('echo "\<C-">') endfunc +func Test_option_value() + " boolean + set bri + call assert_equal(1, &bri) + set nobri + call assert_equal(0, &bri) + + " number + set ts=1 + call assert_equal(1, &ts) + set ts=8 + call assert_equal(8, &ts) + + " string + exe "set cedit=\<Esc>" + call assert_equal("\<Esc>", &cedit) + set cpo= + call assert_equal("", &cpo) + set cpo=abcdefi + call assert_equal("abcdefi", &cpo) + set cpo&vim +endfunc + +function Test_printf_64bit() + if has('num64') + call assert_equal("123456789012345", printf('%d', 123456789012345)) + endif +endfunc + func Test_setmatches() hi def link 1 Comment hi def link 2 PreProc diff --git a/src/nvim/testdir/test_filter_cmd.vim b/src/nvim/testdir/test_filter_cmd.vim new file mode 100644 index 0000000000..5aa5fa64df --- /dev/null +++ b/src/nvim/testdir/test_filter_cmd.vim @@ -0,0 +1,76 @@ +" Test the :filter command modifier + +func Test_filter() + edit Xdoesnotmatch + edit Xwillmatch + call assert_equal('"Xwillmatch"', substitute(execute('filter willma ls'), '[^"]*\(".*"\)[^"]*', '\1', '')) + bwipe Xdoesnotmatch + bwipe Xwillmatch + + new + call setline(1, ['foo1', 'foo2', 'foo3', 'foo4', 'foo5']) + call assert_equal("\nfoo2\nfoo4", execute('filter /foo[24]/ 1,$print')) + call assert_equal("\n 2 foo2\n 4 foo4", execute('filter /foo[24]/ 1,$number')) + call assert_equal("\nfoo2$\nfoo4$", execute('filter /foo[24]/ 1,$list')) + + call assert_equal("\nfoo1$\nfoo3$\nfoo5$", execute('filter! /foo[24]/ 1,$list')) + bwipe! + + command XTryThis echo 'this' + command XTryThat echo 'that' + command XDoThat echo 'that' + let lines = split(execute('filter XTry command'), "\n") + call assert_equal(3, len(lines)) + call assert_match("XTryThat", lines[1]) + call assert_match("XTryThis", lines[2]) + delcommand XTryThis + delcommand XTryThat + delcommand XDoThat + + map f1 the first key + map f2 the second key + map f3 not a key + let lines = split(execute('filter the map f'), "\n") + call assert_equal(2, len(lines)) + call assert_match("f2", lines[0]) + call assert_match("f1", lines[1]) + unmap f1 + unmap f2 + unmap f3 +endfunc + +func Test_filter_fails() + call assert_fails('filter', 'E471:') + call assert_fails('filter pat', 'E476:') + call assert_fails('filter /pat', 'E476:') + call assert_fails('filter /pat/', 'E476:') + call assert_fails('filter /pat/ asdf', 'E492:') + + call assert_fails('filter!', 'E471:') + call assert_fails('filter! pat', 'E476:') + call assert_fails('filter! /pat', 'E476:') + call assert_fails('filter! /pat/', 'E476:') + call assert_fails('filter! /pat/ asdf', 'E492:') +endfunc + +function s:complete_filter_cmd(filtcmd) + let keystroke = "\<TAB>\<C-R>=execute('let cmdline = getcmdline()')\<CR>\<C-C>" + let cmdline = '' + call feedkeys(':' . a:filtcmd . keystroke, 'ntx') + return cmdline +endfunction + +func Test_filter_cmd_completion() + " Do not complete pattern + call assert_equal("filter \t", s:complete_filter_cmd('filter ')) + call assert_equal("filter pat\t", s:complete_filter_cmd('filter pat')) + call assert_equal("filter /pat\t", s:complete_filter_cmd('filter /pat')) + call assert_equal("filter /pat/\t", s:complete_filter_cmd('filter /pat/')) + + " Complete after string pattern + call assert_equal('filter pat print', s:complete_filter_cmd('filter pat pri')) + + " Complete after regexp pattern + call assert_equal('filter /pat/ print', s:complete_filter_cmd('filter /pat/ pri')) + call assert_equal('filter #pat# print', s:complete_filter_cmd('filter #pat# pri')) +endfunc diff --git a/src/nvim/testdir/test_float_func.vim b/src/nvim/testdir/test_float_func.vim new file mode 100644 index 0000000000..5ea5192994 --- /dev/null +++ b/src/nvim/testdir/test_float_func.vim @@ -0,0 +1,332 @@ +" test float functions + +if !has('float') + finish +end + +func Test_abs() + call assert_equal('1.23', string(abs(1.23))) + call assert_equal('1.23', string(abs(-1.23))) + call assert_equal('0.0', string(abs(0.0))) + call assert_equal('0.0', string(abs(1.0/(1.0/0.0)))) + call assert_equal('0.0', string(abs(-1.0/(1.0/0.0)))) + call assert_equal("str2float('inf')", string(abs(1.0/0.0))) + call assert_equal("str2float('inf')", string(abs(-1.0/0.0))) + call assert_equal("str2float('nan')", string(abs(0.0/0.0))) + call assert_equal('12', string(abs('-12abc'))) + call assert_fails("call abs([])", 'E745:') + call assert_fails("call abs({})", 'E728:') + call assert_fails("call abs(function('string'))", 'E703:') +endfunc + +func Test_sqrt() + call assert_equal('0.0', string(sqrt(0.0))) + call assert_equal('1.414214', string(sqrt(2.0))) + call assert_equal("str2float('inf')", string(sqrt(1.0/0.0))) + call assert_equal("str2float('nan')", string(sqrt(-1.0))) + call assert_equal("str2float('nan')", string(sqrt(0.0/0.0))) + call assert_fails('call sqrt("")', 'E808:') +endfunc + +func Test_log() + call assert_equal('0.0', string(log(1.0))) + call assert_equal('-0.693147', string(log(0.5))) + call assert_equal("-str2float('inf')", string(log(0.0))) + call assert_equal("str2float('nan')", string(log(-1.0))) + call assert_equal("str2float('inf')", string(log(1.0/0.0))) + call assert_equal("str2float('nan')", string(log(0.0/0.0))) + call assert_fails('call log("")', 'E808:') +endfunc + +func Test_log10() + call assert_equal('0.0', string(log10(1.0))) + call assert_equal('2.0', string(log10(100.0))) + call assert_equal('2.079181', string(log10(120.0))) + call assert_equal("-str2float('inf')", string(log10(0.0))) + call assert_equal("str2float('nan')", string(log10(-1.0))) + call assert_equal("str2float('inf')", string(log10(1.0/0.0))) + call assert_equal("str2float('nan')", string(log10(0.0/0.0))) + call assert_fails('call log10("")', 'E808:') +endfunc + +func Test_exp() + call assert_equal('1.0', string(exp(0.0))) + call assert_equal('7.389056', string(exp(2.0))) + call assert_equal('0.367879', string(exp(-1.0))) + call assert_equal("str2float('inf')", string(exp(1.0/0.0))) + call assert_equal('0.0', string(exp(-1.0/0.0))) + call assert_equal("str2float('nan')", string(exp(0.0/0.0))) + call assert_fails('call exp("")', 'E808:') +endfunc + +func Test_sin() + call assert_equal('0.0', string(sin(0.0))) + call assert_equal('0.841471', string(sin(1.0))) + call assert_equal('-0.479426', string(sin(-0.5))) + call assert_equal("str2float('nan')", string(sin(0.0/0.0))) + call assert_equal("str2float('nan')", string(sin(1.0/0.0))) + call assert_equal('0.0', string(sin(1.0/(1.0/0.0)))) + call assert_equal('-0.0', string(sin(-1.0/(1.0/0.0)))) + call assert_fails('call sin("")', 'E808:') +endfunc + +func Test_asin() + call assert_equal('0.0', string(asin(0.0))) + call assert_equal('1.570796', string(asin(1.0))) + call assert_equal('-0.523599', string(asin(-0.5))) + call assert_equal("str2float('nan')", string(asin(1.1))) + call assert_equal("str2float('nan')", string(asin(1.0/0.0))) + call assert_equal("str2float('nan')", string(asin(0.0/0.0))) + call assert_fails('call asin("")', 'E808:') +endfunc + +func Test_sinh() + call assert_equal('0.0', string(sinh(0.0))) + call assert_equal('0.521095', string(sinh(0.5))) + call assert_equal('-1.026517', string(sinh(-0.9))) + call assert_equal("str2float('inf')", string(sinh(1.0/0.0))) + call assert_equal("-str2float('inf')", string(sinh(-1.0/0.0))) + call assert_equal("str2float('nan')", string(sinh(0.0/0.0))) + call assert_fails('call sinh("")', 'E808:') +endfunc + +func Test_cos() + call assert_equal('1.0', string(cos(0.0))) + call assert_equal('0.540302', string(cos(1.0))) + call assert_equal('0.877583', string(cos(-0.5))) + call assert_equal("str2float('nan')", string(cos(0.0/0.0))) + call assert_equal("str2float('nan')", string(cos(1.0/0.0))) + call assert_fails('call cos("")', 'E808:') +endfunc + +func Test_acos() + call assert_equal('1.570796', string(acos(0.0))) + call assert_equal('0.0', string(acos(1.0))) + call assert_equal('3.141593', string(acos(-1.0))) + call assert_equal('2.094395', string(acos(-0.5))) + call assert_equal("str2float('nan')", string(acos(1.1))) + call assert_equal("str2float('nan')", string(acos(1.0/0.0))) + call assert_equal("str2float('nan')", string(acos(0.0/0.0))) + call assert_fails('call acos("")', 'E808:') +endfunc + +func Test_cosh() + call assert_equal('1.0', string(cosh(0.0))) + call assert_equal('1.127626', string(cosh(0.5))) + call assert_equal("str2float('inf')", string(cosh(1.0/0.0))) + call assert_equal("str2float('inf')", string(cosh(-1.0/0.0))) + call assert_equal("str2float('nan')", string(cosh(0.0/0.0))) + call assert_fails('call cosh("")', 'E808:') +endfunc + +func Test_tan() + call assert_equal('0.0', string(tan(0.0))) + call assert_equal('0.546302', string(tan(0.5))) + call assert_equal('-0.546302', string(tan(-0.5))) + call assert_equal("str2float('nan')", string(tan(1.0/0.0))) + call assert_equal("str2float('nan')", string(cos(0.0/0.0))) + call assert_equal('0.0', string(tan(1.0/(1.0/0.0)))) + call assert_equal('-0.0', string(tan(-1.0/(1.0/0.0)))) + call assert_fails('call tan("")', 'E808:') +endfunc + +func Test_atan() + call assert_equal('0.0', string(atan(0.0))) + call assert_equal('0.463648', string(atan(0.5))) + call assert_equal('-0.785398', string(atan(-1.0))) + call assert_equal('1.570796', string(atan(1.0/0.0))) + call assert_equal('-1.570796', string(atan(-1.0/0.0))) + call assert_equal("str2float('nan')", string(atan(0.0/0.0))) + call assert_fails('call atan("")', 'E808:') +endfunc + +func Test_atan2() + call assert_equal('-2.356194', string(atan2(-1, -1))) + call assert_equal('2.356194', string(atan2(1, -1))) + call assert_equal('0.0', string(atan2(1.0, 1.0/0.0))) + call assert_equal('1.570796', string(atan2(1.0/0.0, 1.0))) + call assert_equal("str2float('nan')", string(atan2(0.0/0.0, 1.0))) + call assert_fails('call atan2("", -1)', 'E808:') + call assert_fails('call atan2(-1, "")', 'E808:') +endfunc + +func Test_tanh() + call assert_equal('0.0', string(tanh(0.0))) + call assert_equal('0.462117', string(tanh(0.5))) + call assert_equal('-0.761594', string(tanh(-1.0))) + call assert_equal('1.0', string(tanh(1.0/0.0))) + call assert_equal('-1.0', string(tanh(-1.0/0.0))) + call assert_equal("str2float('nan')", string(tanh(0.0/0.0))) + call assert_fails('call tanh("")', 'E808:') +endfunc + +func Test_fmod() + call assert_equal('0.13', string(fmod(12.33, 1.22))) + call assert_equal('-0.13', string(fmod(-12.33, 1.22))) + call assert_equal("str2float('nan')", string(fmod(1.0/0.0, 1.0))) + " On Windows we get "nan" instead of 1.0, accept both. + let res = string(fmod(1.0, 1.0/0.0)) + if res != "str2float('nan')" + call assert_equal('1.0', res) + endif + call assert_equal("str2float('nan')", string(fmod(1.0, 0.0))) + call assert_fails("call fmod('', 1.22)", 'E808:') + call assert_fails("call fmod(12.33, '')", 'E808:') +endfunc + +func Test_pow() + call assert_equal('1.0', string(pow(0.0, 0.0))) + call assert_equal('8.0', string(pow(2.0, 3.0))) + call assert_equal("str2float('nan')", string(pow(2.0, 0.0/0.0))) + call assert_equal("str2float('nan')", string(pow(0.0/0.0, 3.0))) + call assert_equal("str2float('nan')", string(pow(0.0/0.0, 3.0))) + call assert_equal("str2float('inf')", string(pow(2.0, 1.0/0.0))) + call assert_equal("str2float('inf')", string(pow(1.0/0.0, 3.0))) + call assert_fails("call pow('', 2.0)", 'E808:') + call assert_fails("call pow(2.0, '')", 'E808:') +endfunc + +func Test_str2float() + call assert_equal('1.0', string(str2float('1'))) + call assert_equal('1.0', string(str2float(' 1 '))) + call assert_equal('1.0', string(str2float(' 1.0 '))) + call assert_equal('1.23', string(str2float('1.23'))) + call assert_equal('1.23', string(str2float('1.23abc'))) + call assert_equal('1.0e40', string(str2float('1e40'))) + call assert_equal('-1.23', string(str2float('-1.23'))) + call assert_equal('1.23', string(str2float(' + 1.23 '))) + + call assert_equal('1.0', string(str2float('+1'))) + call assert_equal('1.0', string(str2float('+1'))) + call assert_equal('1.0', string(str2float(' +1 '))) + call assert_equal('1.0', string(str2float(' + 1 '))) + + call assert_equal('-1.0', string(str2float('-1'))) + call assert_equal('-1.0', string(str2float('-1'))) + call assert_equal('-1.0', string(str2float(' -1 '))) + call assert_equal('-1.0', string(str2float(' - 1 '))) + + call assert_equal('0.0', string(str2float('+0.0'))) + call assert_equal('-0.0', string(str2float('-0.0'))) + call assert_equal("str2float('inf')", string(str2float('1e1000'))) + call assert_equal("str2float('inf')", string(str2float('inf'))) + call assert_equal("-str2float('inf')", string(str2float('-inf'))) + call assert_equal("str2float('inf')", string(str2float('+inf'))) + call assert_equal("str2float('inf')", string(str2float('Inf'))) + call assert_equal("str2float('inf')", string(str2float(' +inf '))) + call assert_equal("str2float('nan')", string(str2float('nan'))) + call assert_equal("str2float('nan')", string(str2float('NaN'))) + call assert_equal("str2float('nan')", string(str2float(' nan '))) + + call assert_fails("call str2float(1.2)", 'E806:') + call assert_fails("call str2float([])", 'E730:') + call assert_fails("call str2float({})", 'E731:') + call assert_fails("call str2float(function('string'))", 'E729:') +endfunc + +func Test_float2nr() + call assert_equal(1, float2nr(1.234)) + call assert_equal(123, float2nr(1.234e2)) + call assert_equal(12, float2nr(123.4e-1)) + let max_number = 1/0 + let min_number = -max_number + call assert_equal(max_number/2+1, float2nr(pow(2, 62))) + call assert_equal(max_number, float2nr(pow(2, 63))) + call assert_equal(max_number, float2nr(pow(2, 64))) + call assert_equal(min_number/2-1, float2nr(-pow(2, 62))) + call assert_equal(min_number, float2nr(-pow(2, 63))) + call assert_equal(min_number, float2nr(-pow(2, 64))) +endfunc + +func Test_floor() + call assert_equal('2.0', string(floor(2.0))) + call assert_equal('2.0', string(floor(2.11))) + call assert_equal('2.0', string(floor(2.99))) + call assert_equal('-3.0', string(floor(-2.11))) + call assert_equal('-3.0', string(floor(-2.99))) + call assert_equal("str2float('nan')", string(floor(0.0/0.0))) + call assert_equal("str2float('inf')", string(floor(1.0/0.0))) + call assert_equal("-str2float('inf')", string(floor(-1.0/0.0))) + call assert_fails("call floor('')", 'E808:') +endfunc + +func Test_ceil() + call assert_equal('2.0', string(ceil(2.0))) + call assert_equal('3.0', string(ceil(2.11))) + call assert_equal('3.0', string(ceil(2.99))) + call assert_equal('-2.0', string(ceil(-2.11))) + call assert_equal('-2.0', string(ceil(-2.99))) + call assert_equal("str2float('nan')", string(ceil(0.0/0.0))) + call assert_equal("str2float('inf')", string(ceil(1.0/0.0))) + call assert_equal("-str2float('inf')", string(ceil(-1.0/0.0))) + call assert_fails("call ceil('')", 'E808:') +endfunc + +func Test_round() + call assert_equal('2.0', string(round(2.1))) + call assert_equal('3.0', string(round(2.5))) + call assert_equal('3.0', string(round(2.9))) + call assert_equal('-2.0', string(round(-2.1))) + call assert_equal('-3.0', string(round(-2.5))) + call assert_equal('-3.0', string(round(-2.9))) + call assert_equal("str2float('nan')", string(round(0.0/0.0))) + call assert_equal("str2float('inf')", string(round(1.0/0.0))) + call assert_equal("-str2float('inf')", string(round(-1.0/0.0))) + call assert_fails("call round('')", 'E808:') +endfunc + +func Test_trunc() + call assert_equal('2.0', string(trunc(2.1))) + call assert_equal('2.0', string(trunc(2.5))) + call assert_equal('2.0', string(trunc(2.9))) + call assert_equal('-2.0', string(trunc(-2.1))) + call assert_equal('-2.0', string(trunc(-2.5))) + call assert_equal('-2.0', string(trunc(-2.9))) + call assert_equal("str2float('nan')", string(trunc(0.0/0.0))) + call assert_equal("str2float('inf')", string(trunc(1.0/0.0))) + call assert_equal("-str2float('inf')", string(trunc(-1.0/0.0))) + call assert_fails("call trunc('')", 'E808:') +endfunc + +func Test_isnan() + throw 'skipped: Nvim does not support isnan()' + call assert_equal(0, isnan(1.0)) + call assert_equal(1, isnan(0.0/0.0)) + call assert_equal(0, isnan(1.0/0.0)) + call assert_equal(0, isnan('a')) + call assert_equal(0, isnan([])) + call assert_equal(0, isnan({})) +endfunc + +" This was converted from test65 +func Test_float_misc() + call assert_equal('123.456000', printf('%f', 123.456)) + call assert_equal('1.234560e+02', printf('%e', 123.456)) + call assert_equal('123.456', printf('%g', 123.456)) + " += + let v = 1.234 + let v += 6.543 + call assert_equal('7.777', printf('%g', v)) + let v = 1.234 + let v += 5 + call assert_equal('6.234', printf('%g', v)) + let v = 5 + let v += 3.333 + call assert_equal('8.333', string(v)) + " == + let v = 1.234 + call assert_true(v == 1.234) + call assert_false(v == 1.2341) + " add-subtract + call assert_equal('5.234', printf('%g', 4 + 1.234)) + call assert_equal('-6.766', printf('%g', 1.234 - 8)) + " mult-div + call assert_equal('4.936', printf('%g', 4 * 1.234)) + call assert_equal('0.003241', printf('%g', 4.0 / 1234)) + " dict + call assert_equal("{'x': 1.234, 'y': -2.0e20}", string({'x': 1.234, 'y': -2.0e20})) + " list + call assert_equal('[-123.4, 2.0e-20]', string([-123.4, 2.0e-20])) +endfunc + +" vim: shiftwidth=2 sts=2 expandtab diff --git a/src/nvim/testdir/test_functions.vim b/src/nvim/testdir/test_functions.vim index 3c258299c1..237a2dc820 100644 --- a/src/nvim/testdir/test_functions.vim +++ b/src/nvim/testdir/test_functions.vim @@ -1,3 +1,22 @@ +" Tests for various functions. + +func Test_str2nr() + call assert_equal(0, str2nr('')) + call assert_equal(1, str2nr('1')) + call assert_equal(1, str2nr(' 1 ')) + + call assert_equal(1, str2nr('+1')) + call assert_equal(1, str2nr('+ 1')) + call assert_equal(1, str2nr(' + 1 ')) + + call assert_equal(-1, str2nr('-1')) + call assert_equal(-1, str2nr('- 1')) + call assert_equal(-1, str2nr(' - 1 ')) + + call assert_equal(123456789, str2nr('123456789')) + call assert_equal(-123456789, str2nr('-123456789')) +endfunc + func Test_setbufvar_options() " This tests that aucmd_prepbuf() and aucmd_restbuf() properly restore the " window layout. diff --git a/src/nvim/testdir/test_largefile.vim b/src/nvim/testdir/test_largefile.vim new file mode 100644 index 0000000000..1b3e02a0c8 --- /dev/null +++ b/src/nvim/testdir/test_largefile.vim @@ -0,0 +1,34 @@ +" Tests for large files +" This is only executed manually: "make test_largefile". +" This is not run as part of "make test". + +func Test_largefile() + let fname = 'Xlarge.txt' + + call delete(fname) + exe "e" fname + " Make sure that a line break is 1 byte (LF). + set ff=unix + set undolevels=-1 + " Input 99 'A's. The line becomes 100 bytes including a line break. + exe "normal 99iA\<Esc>" + yank + " Put 39,999,999 times. The file becomes 4,000,000,000 bytes. + normal 39999999p + " Moving around in the file randomly. + normal G + normal 10% + normal 90% + normal 50% + normal gg + w + " Check if the file size is 4,000,000,000 bytes. + let fsize=getfsize(fname) + if has('num64') + call assert_true(fsize == 4000000000) + else + " getfsize() returns -2 if a Number is 32 bits. + call assert_true(fsize == -2) + endif + call delete(fname) +endfunc diff --git a/src/nvim/testdir/test_menu.vim b/src/nvim/testdir/test_menu.vim index be559467c8..af18760065 100644 --- a/src/nvim/testdir/test_menu.vim +++ b/src/nvim/testdir/test_menu.vim @@ -4,6 +4,6 @@ func Test_load_menu() try source $VIMRUNTIME/menu.vim catch - call assert_false(1, 'error while loading menus: ' . v:exception) + call assert_report('error while loading menus: ' . v:exception) endtry endfunc diff --git a/src/nvim/testdir/test_popup.vim b/src/nvim/testdir/test_popup.vim index fd0f3c0d2d..519d855cd8 100644 --- a/src/nvim/testdir/test_popup.vim +++ b/src/nvim/testdir/test_popup.vim @@ -533,7 +533,7 @@ func Test_completion_comment_formatting() %d try call feedkeys("o/*\<cr>\<cr>\<c-x>\<c-u>/\<esc>", 'tx') - call assert_false(1, 'completefunc not set, should have failed') + call assert_report('completefunc not set, should have failed') catch call assert_exception('E764:') endtry diff --git a/src/nvim/testdir/test_search.vim b/src/nvim/testdir/test_search.vim new file mode 100644 index 0000000000..2106fc2dec --- /dev/null +++ b/src/nvim/testdir/test_search.vim @@ -0,0 +1,285 @@ +" Test for the search command + +func Test_search_cmdline() + " See test/functional/legacy/search_spec.lua + throw 'skipped: Nvim does not support test_disable_char_avail()' + if !exists('+incsearch') + return + endif + " need to disable char_avail, + " so that expansion of commandline works + call test_disable_char_avail(1) + new + call setline(1, [' 1', ' 2 these', ' 3 the', ' 4 their', ' 5 there', ' 6 their', ' 7 the', ' 8 them', ' 9 these', ' 10 foobar']) + " Test 1 + " CTRL-N / CTRL-P skips through the previous search history + set noincsearch + :1 + call feedkeys("/foobar\<cr>", 'tx') + call feedkeys("/the\<cr>",'tx') + call assert_equal('the', @/) + call feedkeys("/thes\<C-P>\<C-P>\<cr>",'tx') + call assert_equal('foobar', @/) + + " Test 2 + " Ctrl-G goes from one match to the next + " until the end of the buffer + set incsearch nowrapscan + :1 + " first match + call feedkeys("/the\<cr>", 'tx') + call assert_equal(' 2 these', getline('.')) + :1 + " second match + call feedkeys("/the\<C-G>\<cr>", 'tx') + call assert_equal(' 3 the', getline('.')) + call assert_equal([0, 0, 0, 0], getpos('"')) + :1 + " third match + call feedkeys("/the".repeat("\<C-G>", 2)."\<cr>", 'tx') + call assert_equal(' 4 their', getline('.')) + :1 + " fourth match + call feedkeys("/the".repeat("\<C-G>", 3)."\<cr>", 'tx') + call assert_equal(' 5 there', getline('.')) + :1 + " fifth match + call feedkeys("/the".repeat("\<C-G>", 4)."\<cr>", 'tx') + call assert_equal(' 6 their', getline('.')) + :1 + " sixth match + call feedkeys("/the".repeat("\<C-G>", 5)."\<cr>", 'tx') + call assert_equal(' 7 the', getline('.')) + :1 + " seventh match + call feedkeys("/the".repeat("\<C-G>", 6)."\<cr>", 'tx') + call assert_equal(' 8 them', getline('.')) + :1 + " eigth match + call feedkeys("/the".repeat("\<C-G>", 7)."\<cr>", 'tx') + call assert_equal(' 9 these', getline('.')) + :1 + " no further match + call feedkeys("/the".repeat("\<C-G>", 8)."\<cr>", 'tx') + call assert_equal(' 9 these', getline('.')) + call assert_equal([0, 0, 0, 0], getpos('"')) + + " Test 3 + " Ctrl-G goes from one match to the next + " and continues back at the top + set incsearch wrapscan + :1 + " first match + call feedkeys("/the\<cr>", 'tx') + call assert_equal(' 2 these', getline('.')) + :1 + " second match + call feedkeys("/the\<C-G>\<cr>", 'tx') + call assert_equal(' 3 the', getline('.')) + :1 + " third match + call feedkeys("/the".repeat("\<C-G>", 2)."\<cr>", 'tx') + call assert_equal(' 4 their', getline('.')) + :1 + " fourth match + call feedkeys("/the".repeat("\<C-G>", 3)."\<cr>", 'tx') + call assert_equal(' 5 there', getline('.')) + :1 + " fifth match + call feedkeys("/the".repeat("\<C-G>", 4)."\<cr>", 'tx') + call assert_equal(' 6 their', getline('.')) + :1 + " sixth match + call feedkeys("/the".repeat("\<C-G>", 5)."\<cr>", 'tx') + call assert_equal(' 7 the', getline('.')) + :1 + " seventh match + call feedkeys("/the".repeat("\<C-G>", 6)."\<cr>", 'tx') + call assert_equal(' 8 them', getline('.')) + :1 + " eigth match + call feedkeys("/the".repeat("\<C-G>", 7)."\<cr>", 'tx') + call assert_equal(' 9 these', getline('.')) + :1 + " back at first match + call feedkeys("/the".repeat("\<C-G>", 8)."\<cr>", 'tx') + call assert_equal(' 2 these', getline('.')) + + " Test 4 + " CTRL-T goes to the previous match + set incsearch nowrapscan + $ + " first match + call feedkeys("?the\<cr>", 'tx') + call assert_equal(' 9 these', getline('.')) + $ + " first match + call feedkeys("?the\<C-G>\<cr>", 'tx') + call assert_equal(' 9 these', getline('.')) + $ + " second match + call feedkeys("?the".repeat("\<C-T>", 1)."\<cr>", 'tx') + call assert_equal(' 8 them', getline('.')) + $ + " last match + call feedkeys("?the".repeat("\<C-T>", 7)."\<cr>", 'tx') + call assert_equal(' 2 these', getline('.')) + $ + " last match + call feedkeys("?the".repeat("\<C-T>", 8)."\<cr>", 'tx') + call assert_equal(' 2 these', getline('.')) + + " Test 5 + " CTRL-T goes to the previous match + set incsearch wrapscan + $ + " first match + call feedkeys("?the\<cr>", 'tx') + call assert_equal(' 9 these', getline('.')) + $ + " first match at the top + call feedkeys("?the\<C-G>\<cr>", 'tx') + call assert_equal(' 2 these', getline('.')) + $ + " second match + call feedkeys("?the".repeat("\<C-T>", 1)."\<cr>", 'tx') + call assert_equal(' 8 them', getline('.')) + $ + " last match + call feedkeys("?the".repeat("\<C-T>", 7)."\<cr>", 'tx') + call assert_equal(' 2 these', getline('.')) + $ + " back at the bottom of the buffer + call feedkeys("?the".repeat("\<C-T>", 8)."\<cr>", 'tx') + call assert_equal(' 9 these', getline('.')) + + " Test 6 + " CTRL-L adds to the search pattern + set incsearch wrapscan + 1 + " first match + call feedkeys("/the\<c-l>\<cr>", 'tx') + call assert_equal(' 2 these', getline('.')) + 1 + " go to next match of 'thes' + call feedkeys("/the\<c-l>\<C-G>\<cr>", 'tx') + call assert_equal(' 9 these', getline('.')) + 1 + " wrap around + call feedkeys("/the\<c-l>\<C-G>\<C-G>\<cr>", 'tx') + call assert_equal(' 2 these', getline('.')) + 1 + " wrap around + set nowrapscan + call feedkeys("/the\<c-l>\<C-G>\<C-G>\<cr>", 'tx') + call assert_equal(' 9 these', getline('.')) + + " Test 7 + " <bs> remove from match, but stay at current match + set incsearch wrapscan + 1 + " first match + call feedkeys("/thei\<cr>", 'tx') + call assert_equal(' 4 their', getline('.')) + 1 + " delete one char, add another + call feedkeys("/thei\<bs>s\<cr>", 'tx') + call assert_equal(' 2 these', getline('.')) + 1 + " delete one char, add another, go to previous match, add one char + call feedkeys("/thei\<bs>s\<bs>\<C-T>\<c-l>\<cr>", 'tx') + call assert_equal(' 9 these', getline('.')) + 1 + " delete all chars, start from the beginning again + call feedkeys("/them". repeat("\<bs>",4).'the\>'."\<cr>", 'tx') + call assert_equal(' 3 the', getline('.')) + + " clean up + call test_disable_char_avail(0) + bw! +endfunc + +func Test_search_cmdline2() + " See test/functional/legacy/search_spec.lua + throw 'skipped: Nvim does not support test_disable_char_avail()' + if !exists('+incsearch') + return + endif + " need to disable char_avail, + " so that expansion of commandline works + call test_disable_char_avail(1) + new + call setline(1, [' 1', ' 2 these', ' 3 the theother']) + " Test 1 + " Ctrl-T goes correctly back and forth + set incsearch + 1 + " first match + call feedkeys("/the\<cr>", 'tx') + call assert_equal(' 2 these', getline('.')) + 1 + " go to next match (on next line) + call feedkeys("/the\<C-G>\<cr>", 'tx') + call assert_equal(' 3 the theother', getline('.')) + 1 + " go to next match (still on line 3) + call feedkeys("/the\<C-G>\<C-G>\<cr>", 'tx') + call assert_equal(' 3 the theother', getline('.')) + 1 + " go to next match (still on line 3) + call feedkeys("/the\<C-G>\<C-G>\<C-G>\<cr>", 'tx') + call assert_equal(' 3 the theother', getline('.')) + 1 + " go to previous match (on line 3) + call feedkeys("/the\<C-G>\<C-G>\<C-G>\<C-T>\<cr>", 'tx') + call assert_equal(' 3 the theother', getline('.')) + 1 + " go to previous match (on line 3) + call feedkeys("/the\<C-G>\<C-G>\<C-G>\<C-T>\<C-T>\<cr>", 'tx') + call assert_equal(' 3 the theother', getline('.')) + 1 + " go to previous match (on line 2) + call feedkeys("/the\<C-G>\<C-G>\<C-G>\<C-T>\<C-T>\<C-T>\<cr>", 'tx') + call assert_equal(' 2 these', getline('.')) + + " Test 2: keep the view, + " after deleting a character from the search cmd + call setline(1, [' 1', ' 2 these', ' 3 the', ' 4 their', ' 5 there', ' 6 their', ' 7 the', ' 8 them', ' 9 these', ' 10 foobar']) + resize 5 + 1 + call feedkeys("/foo\<bs>\<cr>", 'tx') + redraw + call assert_equal({'lnum': 10, 'leftcol': 0, 'col': 4, 'topfill': 0, 'topline': 6, 'coladd': 0, 'skipcol': 0, 'curswant': 4}, winsaveview()) + + " remove all history entries + for i in range(10) + call histdel('/') + endfor + + " Test 3: reset the view, + " after deleting all characters from the search cmd + norm! 1gg0 + " unfortunately, neither "/foo\<c-w>\<cr>", nor "/foo\<bs>\<bs>\<bs>\<cr>", + " nor "/foo\<c-u>\<cr>" works to delete the commandline. + " In that case Vim should return "E35 no previous regular expression", + " but it looks like Vim still sees /foo and therefore the test fails. + " Therefore, disableing this test + "call assert_fails(feedkeys("/foo\<c-w>\<cr>", 'tx'), 'E35') + "call assert_equal({'lnum': 1, 'leftcol': 0, 'col': 0, 'topfill': 0, 'topline': 1, 'coladd': 0, 'skipcol': 0, 'curswant': 0}, winsaveview()) + + " clean up + set noincsearch + call test_disable_char_avail(0) + bw! +endfunc + +func Test_use_sub_pat() + split + let @/ = '' + func X() + s/^/a/ + / + endfunc + call X() + bwipe! +endfunc diff --git a/src/nvim/testdir/test_startup.vim b/src/nvim/testdir/test_startup.vim index f78d92f3ff..5996b2cd4a 100644 --- a/src/nvim/testdir/test_startup.vim +++ b/src/nvim/testdir/test_startup.vim @@ -83,7 +83,7 @@ func Test_help_arg() call add(found, "--version") endif endfor - call assert_equal(['--version'], found) + call assert_equal(['Readonly mode', '--version'], found) endif call delete('Xtestout') endfunc diff --git a/src/nvim/testdir/test_stat.vim b/src/nvim/testdir/test_stat.vim new file mode 100644 index 0000000000..89ca9ef379 --- /dev/null +++ b/src/nvim/testdir/test_stat.vim @@ -0,0 +1,64 @@ +" Tests for stat functions and checktime + +func Test_existent_file() + let fname='Xtest.tmp' + + let ts=localtime() + sleep 1 + let fl=['Hello World!'] + call writefile(fl, fname) + let tf=getftime(fname) + sleep 1 + let te=localtime() + + call assert_true(ts <= tf && tf <= te) + call assert_equal(strlen(fl[0] . "\n"), getfsize(fname)) + call assert_equal('file', getftype(fname)) + call assert_equal('rw-', getfperm(fname)[0:2]) +endfunc + +func Test_existent_directory() + let dname='.' + + call assert_equal(0, getfsize(dname)) + call assert_equal('dir', getftype(dname)) + call assert_equal('rwx', getfperm(dname)[0:2]) +endfunc + +func Test_checktime() + let fname='Xtest.tmp' + + let fl=['Hello World!'] + call writefile(fl, fname) + set autoread + exec 'e' fname + sleep 2 + let fl=readfile(fname) + let fl[0] .= ' - checktime' + call writefile(fl, fname) + checktime + call assert_equal(fl[0], getline(1)) +endfunc + +func Test_nonexistent_file() + let fname='Xtest.tmp' + + call delete(fname) + call assert_equal(-1, getftime(fname)) + call assert_equal(-1, getfsize(fname)) + call assert_equal('', getftype(fname)) + call assert_equal('', getfperm(fname)) +endfunc + +func Test_win32_symlink_dir() + " On Windows, non-admin users cannot create symlinks. + " So we use an existing symlink for this test. + if has('win32') + " Check if 'C:\Users\All Users' is a symlink to a directory. + let res=system('dir C:\Users /a') + if match(res, '\C<SYMLINKD> *All Users') >= 0 + " Get the filetype of the symlink. + call assert_equal('dir', getftype('C:\Users\All Users')) + endif + endif +endfunc diff --git a/src/nvim/testdir/test_viml.vim b/src/nvim/testdir/test_vimscript.vim index a2997b6d4d..4e0f1bbd2f 100644 --- a/src/nvim/testdir/test_viml.vim +++ b/src/nvim/testdir/test_vimscript.vim @@ -1062,6 +1062,157 @@ func Test_echo_and_string() call assert_equal(["{'a': [], 'b': []}", \ "{'a': [], 'b': []}"], l) +"------------------------------------------------------------------------------- +" Test 94: 64-bit Numbers {{{1 +"------------------------------------------------------------------------------- + +func Test_num64() + if !has('num64') + return + endif + + call assert_notequal( 4294967296, 0) + call assert_notequal(-4294967296, 0) + call assert_equal( 4294967296, 0xFFFFffff + 1) + call assert_equal(-4294967296, -0xFFFFffff - 1) + + call assert_equal( 9223372036854775807, 1 / 0) + call assert_equal(-9223372036854775807, -1 / 0) + call assert_equal(-9223372036854775807 - 1, 0 / 0) + + call assert_equal( 0x7FFFffffFFFFffff, float2nr( 1.0e150)) + call assert_equal(-0x7FFFffffFFFFffff, float2nr(-1.0e150)) + + let rng = range(0xFFFFffff, 0x100000001) + call assert_equal([0xFFFFffff, 0x100000000, 0x100000001], rng) + call assert_equal(0x100000001, max(rng)) + call assert_equal(0xFFFFffff, min(rng)) + call assert_equal(rng, sort(range(0x100000001, 0xFFFFffff, -1), 'N')) +endfunc + +"------------------------------------------------------------------------------- +" Test 95: lines of :append, :change, :insert {{{1 +"------------------------------------------------------------------------------- + +function! DefineFunction(name, body) + let func = join(['function! ' . a:name . '()'] + a:body + ['endfunction'], "\n") + exec func +endfunction + +func Test_script_lines() + " :append + try + call DefineFunction('T_Append', [ + \ 'append', + \ 'py <<EOS', + \ '.', + \ ]) + catch + call assert_report("Can't define function") + endtry + try + call DefineFunction('T_Append', [ + \ 'append', + \ 'abc', + \ ]) + call assert_report("Shouldn't be able to define function") + catch + call assert_exception('Vim(function):E126: Missing :endfunction') + endtry + + " :change + try + call DefineFunction('T_Change', [ + \ 'change', + \ 'py <<EOS', + \ '.', + \ ]) + catch + call assert_report("Can't define function") + endtry + try + call DefineFunction('T_Change', [ + \ 'change', + \ 'abc', + \ ]) + call assert_report("Shouldn't be able to define function") + catch + call assert_exception('Vim(function):E126: Missing :endfunction') + endtry + + " :insert + try + call DefineFunction('T_Insert', [ + \ 'insert', + \ 'py <<EOS', + \ '.', + \ ]) + catch + call assert_report("Can't define function") + endtry + try + call DefineFunction('T_Insert', [ + \ 'insert', + \ 'abc', + \ ]) + call assert_report("Shouldn't be able to define function") + catch + call assert_exception('Vim(function):E126: Missing :endfunction') + endtry +endfunc + +"------------------------------------------------------------------------------- +" Test 96: line continuation {{{1 +" +" Undefined behavior was detected by ubsan with line continuation +" after an empty line. +"------------------------------------------------------------------------------- +func Test_script_emty_line_continuation() + + \ +endfunc + +"------------------------------------------------------------------------------- +" Test 97: bitwise functions {{{1 +"------------------------------------------------------------------------------- +func Test_bitwise_functions() + " and + call assert_equal(127, and(127, 127)) + call assert_equal(16, and(127, 16)) + call assert_equal(0, and(127, 128)) + call assert_fails("call and(1.0, 1)", 'E805:') + call assert_fails("call and([], 1)", 'E745:') + call assert_fails("call and({}, 1)", 'E728:') + call assert_fails("call and(1, 1.0)", 'E805:') + call assert_fails("call and(1, [])", 'E745:') + call assert_fails("call and(1, {})", 'E728:') + " or + call assert_equal(23, or(16, 7)) + call assert_equal(15, or(8, 7)) + call assert_equal(123, or(0, 123)) + call assert_fails("call or(1.0, 1)", 'E805:') + call assert_fails("call or([], 1)", 'E745:') + call assert_fails("call or({}, 1)", 'E728:') + call assert_fails("call or(1, 1.0)", 'E805:') + call assert_fails("call or(1, [])", 'E745:') + call assert_fails("call or(1, {})", 'E728:') + " xor + call assert_equal(0, xor(127, 127)) + call assert_equal(111, xor(127, 16)) + call assert_equal(255, xor(127, 128)) + call assert_fails("call xor(1.0, 1)", 'E805:') + call assert_fails("call xor([], 1)", 'E745:') + call assert_fails("call xor({}, 1)", 'E728:') + call assert_fails("call xor(1, 1.0)", 'E805:') + call assert_fails("call xor(1, [])", 'E745:') + call assert_fails("call xor(1, {})", 'E728:') + " invert + call assert_equal(65408, and(invert(127), 65535)) + call assert_equal(65519, and(invert(16), 65535)) + call assert_equal(65407, and(invert(128), 65535)) + call assert_fails("call invert(1.0)", 'E805:') + call assert_fails("call invert([])", 'E745:') + call assert_fails("call invert({})", 'E728:') endfunc "------------------------------------------------------------------------------- diff --git a/src/nvim/tui/input.c b/src/nvim/tui/input.c index b86ab8cf2f..03587d68f0 100644 --- a/src/nvim/tui/input.c +++ b/src/nvim/tui/input.c @@ -47,7 +47,13 @@ void term_input_init(TermInput *input, Loop *loop) int curflags = termkey_get_canonflags(input->tk); termkey_set_canonflags(input->tk, curflags | TERMKEY_CANON_DELBS); // setup input handle +#ifdef WIN32 + uv_tty_init(loop, &input->tty_in, 0, 1); + uv_tty_set_mode(&input->tty_in, UV_TTY_MODE_RAW); + rstream_init_stream(&input->read_stream, &input->tty_in, 0xfff); +#else rstream_init_fd(loop, &input->read_stream, input->in_fd, 0xfff); +#endif // initialize a timer handle for handling ESC with libtermkey time_watcher_init(loop, &input->timer_handle, input); } @@ -102,7 +108,7 @@ static void flush_input(TermInput *input, bool wait_until_empty) size_t drain_boundary = wait_until_empty ? 0 : 0xff; do { uv_mutex_lock(&input->key_buffer_mutex); - loop_schedule(&main_loop, event_create(1, wait_input_enqueue, 1, input)); + loop_schedule(&main_loop, event_create(wait_input_enqueue, 1, input)); input->waiting = true; while (input->waiting) { uv_cond_wait(&input->key_buffer_cond, &input->key_buffer_mutex); @@ -352,7 +358,7 @@ static void read_cb(Stream *stream, RBuffer *buf, size_t c, void *data, stream_close(&input->read_stream, NULL, NULL); multiqueue_put(input->loop->fast_events, restart_reading, 1, input); } else { - loop_schedule(&main_loop, event_create(1, input_done_event, 0)); + loop_schedule(&main_loop, event_create(input_done_event, 0)); } return; } diff --git a/src/nvim/tui/input.h b/src/nvim/tui/input.h index 7d59cf5c6a..573cc9d683 100644 --- a/src/nvim/tui/input.h +++ b/src/nvim/tui/input.h @@ -17,6 +17,9 @@ typedef struct term_input { #endif TimeWatcher timer_handle; Loop *loop; +#ifdef WIN32 + uv_tty_t tty_in; +#endif Stream read_stream; RBuffer *key_buffer; uv_mutex_t key_buffer_mutex; diff --git a/src/nvim/tui/tui.c b/src/nvim/tui/tui.c index ae7551098d..736d50ee8b 100644 --- a/src/nvim/tui/tui.c +++ b/src/nvim/tui/tui.c @@ -36,6 +36,7 @@ #include "nvim/tui/tui.h" #include "nvim/cursor_shape.h" #include "nvim/syntax.h" +#include "nvim/macros.h" // Space reserved in the output buffer to restore the cursor to normal when // flushing. No existing terminal will require 32 bytes to do that. @@ -44,6 +45,7 @@ #define TOO_MANY_EVENTS 1000000 #define STARTS_WITH(str, prefix) (!memcmp(str, prefix, sizeof(prefix) - 1)) +#define TMUX_WRAP(seq) (is_tmux ? "\x1bPtmux;\x1b" seq "\x1b\\" : seq) typedef enum TermType { kTermUnknown, @@ -51,6 +53,9 @@ typedef enum TermType { kTermiTerm, kTermKonsole, kTermRxvt, + kTermDTTerm, + kTermXTerm, + kTermTeraTerm, } TermType; typedef struct { @@ -74,13 +79,13 @@ typedef struct { bool out_isatty; SignalWatcher winch_handle, cont_handle; bool cont_received; - // Event scheduled by the ui bridge. Since the main thread suspends until - // the event is handled, it is fine to use a single field instead of a queue - Event scheduled_event; UGrid grid; kvec_t(Rect) invalid_regions; int out_fd; - bool can_use_terminal_scroll; + bool scroll_region_is_full_screen; + bool can_change_scroll_region; + bool can_set_lr_margin; + bool can_set_left_right_margin; bool mouse_enabled; bool busy; cursorentry_T cursor_shapes[SHAPE_IDX_COUNT]; @@ -90,14 +95,18 @@ typedef struct { struct { int enable_mouse, disable_mouse; int enable_bracketed_paste, disable_bracketed_paste; + int enable_lr_margin, disable_lr_margin; int set_rgb_foreground, set_rgb_background; int set_cursor_color; int enable_focus_reporting, disable_focus_reporting; + int resize_screen; + int reset_scroll_region; } unibi_ext; } TUIData; static bool volatile got_winch = false; static bool cursor_style_enabled = false; +static bool is_tmux = false; #ifdef INCLUDE_GENERATED_DECLARATIONS # include "tui/tui.c.generated.h" @@ -109,7 +118,6 @@ UI *tui_start(void) UI *ui = xcalloc(1, sizeof(UI)); ui->stop = tui_stop; ui->rgb = p_tgc; - ui->pum_external = false; ui->resize = tui_resize; ui->clear = tui_clear; ui->eol_clear = tui_eol_clear; @@ -135,13 +143,16 @@ UI *tui_start(void) ui->set_title = tui_set_title; ui->set_icon = tui_set_icon; ui->event = tui_event; + + memset(ui->ui_ext, 0, sizeof(ui->ui_ext)); + return ui_bridge_attach(ui, tui_main, tui_scheduler); } static void terminfo_start(UI *ui) { TUIData *data = ui->data; - data->can_use_terminal_scroll = true; + data->scroll_region_is_full_screen = true; data->bufpos = 0; data->bufsize = sizeof(data->buf) - CNORM_COMMAND_MAX_SIZE; data->showing_mode = SHAPE_IDX_N; @@ -150,8 +161,12 @@ static void terminfo_start(UI *ui) data->unibi_ext.set_cursor_color = -1; data->unibi_ext.enable_bracketed_paste = -1; data->unibi_ext.disable_bracketed_paste = -1; + data->unibi_ext.enable_lr_margin = -1; + data->unibi_ext.disable_lr_margin = -1; data->unibi_ext.enable_focus_reporting = -1; data->unibi_ext.disable_focus_reporting = -1; + data->unibi_ext.resize_screen = -1; + data->unibi_ext.reset_scroll_region = -1; data->out_fd = 1; data->out_isatty = os_isatty(data->out_fd); // setup unibilium @@ -162,6 +177,13 @@ static void terminfo_start(UI *ui) data->ut = unibi_dummy(); } fix_terminfo(data); + data->can_change_scroll_region = + !!unibi_get_str(data->ut, unibi_change_scroll_region); + data->can_set_lr_margin = + !!unibi_get_str(data->ut, unibi_set_lr_margin); + data->can_set_left_right_margin = + !!unibi_get_str(data->ut, unibi_set_left_margin_parm) + && !!unibi_get_str(data->ut, unibi_set_right_margin_parm); // Set 't_Co' from the result of unibilium & fix_terminfo. t_colors = unibi_get_num(data->ut, unibi_max_colors); // Enter alternate screen and clear @@ -186,7 +208,7 @@ static void terminfo_stop(UI *ui) { TUIData *data = ui->data; // Destroy output stuff - tui_mode_change(ui, SHAPE_IDX_N); + tui_mode_change(ui, (String)STRING_INIT, SHAPE_IDX_N); tui_mouse_off(ui); unibi_out(ui, unibi_exit_attribute_mode); // cursor should be set to normal before exiting alternate screen @@ -214,11 +236,6 @@ static void tui_terminal_start(UI *ui) terminfo_start(ui); update_size(ui); signal_watcher_start(&data->winch_handle, sigwinch_cb, SIGWINCH); - -#if TERMKEY_VERSION_MAJOR > 0 || TERMKEY_VERSION_MINOR > 18 - data->input.tk_ti_hook_fn = tui_tk_ti_getstr; -#endif - term_input_init(&data->input, data->loop); term_input_start(&data->input); } @@ -250,9 +267,17 @@ static void tui_main(UIBridgeData *bridge, UI *ui) kv_init(data->invalid_regions); signal_watcher_init(data->loop, &data->winch_handle, ui); signal_watcher_init(data->loop, &data->cont_handle, data); +#ifdef UNIX signal_watcher_start(&data->cont_handle, sigcont_cb, SIGCONT); +#endif + +#if TERMKEY_VERSION_MAJOR > 0 || TERMKEY_VERSION_MINOR > 18 + data->input.tk_ti_hook_fn = tui_tk_ti_getstr; +#endif + term_input_init(&data->input, &tui_loop); tui_terminal_start(ui); data->stop = false; + // allow the main thread to continue, we are ready to start handling UI // callbacks CONTINUE(bridge); @@ -279,10 +304,12 @@ static void tui_scheduler(Event event, void *d) loop_schedule(data->loop, event); } +#ifdef UNIX static void sigcont_cb(SignalWatcher *watcher, int signum, void *data) { ((TUIData *)data)->cont_received = true; } +#endif static void sigwinch_cb(SignalWatcher *watcher, int signum, void *data) { @@ -412,15 +439,83 @@ static void clear_region(UI *ui, int top, int bot, int left, int right) unibi_goto(ui, grid->row, grid->col); } -static void tui_resize(UI *ui, int width, int height) +static bool can_use_scroll(UI * ui) +{ + TUIData *data = ui->data; + UGrid *grid = &data->grid; + + return data->scroll_region_is_full_screen + || (data->can_change_scroll_region + && ((grid->left == 0 && grid->right == ui->width - 1) + || data->can_set_lr_margin + || data->can_set_left_right_margin)); +} + +static void set_scroll_region(UI *ui) +{ + TUIData *data = ui->data; + UGrid *grid = &data->grid; + + data->params[0].i = grid->top; + data->params[1].i = grid->bot; + unibi_out(ui, unibi_change_scroll_region); + if (grid->left != 0 || grid->right != ui->width - 1) { + unibi_out(ui, data->unibi_ext.enable_lr_margin); + if (data->can_set_lr_margin) { + data->params[0].i = grid->left; + data->params[1].i = grid->right; + unibi_out(ui, unibi_set_lr_margin); + } else { + data->params[0].i = grid->left; + unibi_out(ui, unibi_set_left_margin_parm); + data->params[0].i = grid->right; + unibi_out(ui, unibi_set_right_margin_parm); + } + } + unibi_goto(ui, grid->row, grid->col); +} + +static void reset_scroll_region(UI *ui) +{ + TUIData *data = ui->data; + UGrid *grid = &data->grid; + + if (0 <= data->unibi_ext.reset_scroll_region) { + unibi_out(ui, data->unibi_ext.reset_scroll_region); + } else { + data->params[0].i = 0; + data->params[1].i = ui->height - 1; + unibi_out(ui, unibi_change_scroll_region); + } + if (grid->left != 0 || grid->right != ui->width - 1) { + if (data->can_set_lr_margin) { + data->params[0].i = 0; + data->params[1].i = ui->width - 1; + unibi_out(ui, unibi_set_lr_margin); + } else { + data->params[0].i = 0; + unibi_out(ui, unibi_set_left_margin_parm); + data->params[0].i = ui->width - 1; + unibi_out(ui, unibi_set_right_margin_parm); + } + unibi_out(ui, data->unibi_ext.disable_lr_margin); + } + unibi_goto(ui, grid->row, grid->col); +} + +static void tui_resize(UI *ui, Integer width, Integer height) { TUIData *data = ui->data; - ugrid_resize(&data->grid, width, height); + ugrid_resize(&data->grid, (int)width, (int)height); if (!got_winch) { // Try to resize the terminal window. - char r[16]; // enough for 9999x9999 - snprintf(r, sizeof(r), "\x1b[8;%d;%dt", height, width); - out(ui, r, strlen(r)); + data->params[0].i = (int)height; + data->params[1].i = (int)width; + unibi_out(ui, data->unibi_ext.resize_screen); + // DECSLPP does not reset the scroll region. + if (data->scroll_region_is_full_screen) { + reset_scroll_region(ui); + } } else { // Already handled the SIGWINCH signal; avoid double-resize. got_winch = false; } @@ -442,11 +537,11 @@ static void tui_eol_clear(UI *ui) clear_region(ui, grid->row, grid->row, grid->col, grid->right); } -static void tui_cursor_goto(UI *ui, int row, int col) +static void tui_cursor_goto(UI *ui, Integer row, Integer col) { TUIData *data = ui->data; - ugrid_goto(&data->grid, row, col); - unibi_goto(ui, row, col); + ugrid_goto(&data->grid, (int)row, (int)col); + unibi_goto(ui, (int)row, (int)col); } CursorShape tui_cursor_decode_shape(const char *shape_str) @@ -546,13 +641,20 @@ static void tui_set_mode(UI *ui, ModeShape mode) TUIData *data = ui->data; cursorentry_T c = data->cursor_shapes[mode]; int shape = c.shape; - bool is_tmux = os_getenv("TMUX") != NULL; unibi_var_t vars[26 + 26] = { { 0 } }; -# define TMUX_WRAP(seq) (is_tmux ? "\x1bPtmux;\x1b" seq "\x1b\\" : seq) // Support changing cursor shape on some popular terminals. const char *vte_version = os_getenv("VTE_VERSION"); + if (c.id != 0 && ui->rgb) { + int attr = syn_id2attr(c.id); + if (attr > 0) { + attrentry_T *aep = syn_cterm_attr2entry(attr); + data->params[0].i = aep->rgb_bg_color; + unibi_out(ui, data->unibi_ext.set_cursor_color); + } + } + if (data->term == kTermKonsole) { // Konsole uses a proprietary escape code to set the cursor shape // and does not support DECSCUSR. @@ -563,7 +665,7 @@ static void tui_set_mode(UI *ui, ModeShape mode) default: WLOG("Unknown shape value %d", shape); break; } data->params[0].i = shape; - data->params[1].i = (c.blinkon == 0); + data->params[1].i = (c.blinkon != 0); unibi_format(vars, vars + 26, TMUX_WRAP("\x1b]50;CursorShape=%p1%d;BlinkingCursorEnabled=%p2%d\x07"), @@ -576,95 +678,84 @@ static void tui_set_mode(UI *ui, ModeShape mode) switch (shape) { case SHAPE_BLOCK: shape = 1; break; - case SHAPE_VER: shape = 5; break; case SHAPE_HOR: shape = 3; break; + case SHAPE_VER: shape = 5; break; default: WLOG("Unknown shape value %d", shape); break; } - data->params[0].i = shape + (c.blinkon ==0); + data->params[0].i = shape + (int)(c.blinkon == 0); unibi_format(vars, vars + 26, "\x1b[%p1%d q", data->params, out, ui, NULL, NULL); } - - if (c.id != 0 && ui->rgb) { - int attr = syn_id2attr(c.id); - attrentry_T *aep = syn_cterm_attr2entry(attr); - data->params[0].i = aep->rgb_bg_color; - unibi_out(ui, data->unibi_ext.set_cursor_color); - } } /// @param mode editor mode -static void tui_mode_change(UI *ui, int mode_idx) +static void tui_mode_change(UI *ui, String mode, Integer mode_idx) { TUIData *data = ui->data; tui_set_mode(ui, (ModeShape)mode_idx); data->showing_mode = (ModeShape)mode_idx; } -static void tui_set_scroll_region(UI *ui, int top, int bot, int left, - int right) +static void tui_set_scroll_region(UI *ui, Integer top, Integer bot, + Integer left, Integer right) { TUIData *data = ui->data; - ugrid_set_scroll_region(&data->grid, top, bot, left, right); - data->can_use_terminal_scroll = + ugrid_set_scroll_region(&data->grid, (int)top, (int)bot, + (int)left, (int)right); + data->scroll_region_is_full_screen = left == 0 && right == ui->width - 1 - && ((top == 0 && bot == ui->height - 1) - || unibi_get_str(data->ut, unibi_change_scroll_region)); + && top == 0 && bot == ui->height - 1; } -static void tui_scroll(UI *ui, int count) +static void tui_scroll(UI *ui, Integer count) { TUIData *data = ui->data; UGrid *grid = &data->grid; int clear_top, clear_bot; - ugrid_scroll(grid, count, &clear_top, &clear_bot); + ugrid_scroll(grid, (int)count, &clear_top, &clear_bot); + + if (can_use_scroll(ui)) { + bool scroll_clears_to_current_colour = + unibi_get_bool(data->ut, unibi_back_color_erase); - if (data->can_use_terminal_scroll) { // Change terminal scroll region and move cursor to the top - data->params[0].i = grid->top; - data->params[1].i = grid->bot; - unibi_out(ui, unibi_change_scroll_region); + if (!data->scroll_region_is_full_screen) { + set_scroll_region(ui); + } unibi_goto(ui, grid->top, grid->left); // also set default color attributes or some terminals can become funny - HlAttrs clear_attrs = EMPTY_ATTRS; - clear_attrs.foreground = grid->fg; - clear_attrs.background = grid->bg; - update_attrs(ui, clear_attrs); - } + if (scroll_clears_to_current_colour) { + HlAttrs clear_attrs = EMPTY_ATTRS; + clear_attrs.foreground = grid->fg; + clear_attrs.background = grid->bg; + update_attrs(ui, clear_attrs); + } - if (count > 0) { - if (data->can_use_terminal_scroll) { + if (count > 0) { if (count == 1) { unibi_out(ui, unibi_delete_line); } else { - data->params[0].i = count; + data->params[0].i = (int)count; unibi_out(ui, unibi_parm_delete_line); } - } - - } else { - if (data->can_use_terminal_scroll) { + } else { if (count == -1) { unibi_out(ui, unibi_insert_line); } else { - data->params[0].i = -count; + data->params[0].i = -(int)count; unibi_out(ui, unibi_parm_insert_line); } } - } - if (data->can_use_terminal_scroll) { // Restore terminal scroll region and cursor - data->params[0].i = 0; - data->params[1].i = ui->height - 1; - unibi_out(ui, unibi_change_scroll_region); + if (!data->scroll_region_is_full_screen) { + reset_scroll_region(ui); + } unibi_goto(ui, grid->row, grid->col); - if (grid->bg != -1) { - // Update the cleared area of the terminal if its builtin scrolling - // facility was used and the background color is not the default. This is - // required because scrolling may leave wrong background in the cleared - // area. + if (!scroll_clears_to_current_colour) { + // This is required because scrolling will leave wrong background in the + // cleared area on non-bge terminals. clear_region(ui, clear_top, clear_bot, grid->left, grid->right); } } else { @@ -678,10 +769,10 @@ static void tui_highlight_set(UI *ui, HlAttrs attrs) ((TUIData *)ui->data)->grid.attrs = attrs; } -static void tui_put(UI *ui, uint8_t *text, size_t size) +static void tui_put(UI *ui, String text) { TUIData *data = ui->data; - print_cell(ui, ugrid_put(&data->grid, text, size)); + print_cell(ui, ugrid_put(&data->grid, (uint8_t *)text.data, text.size)); } static void tui_bell(UI *ui) @@ -694,17 +785,17 @@ static void tui_visual_bell(UI *ui) unibi_out(ui, unibi_flash_screen); } -static void tui_update_fg(UI *ui, int fg) +static void tui_update_fg(UI *ui, Integer fg) { - ((TUIData *)ui->data)->grid.fg = fg; + ((TUIData *)ui->data)->grid.fg = (int)fg; } -static void tui_update_bg(UI *ui, int bg) +static void tui_update_bg(UI *ui, Integer bg) { - ((TUIData *)ui->data)->grid.bg = bg; + ((TUIData *)ui->data)->grid.bg = (int)bg; } -static void tui_update_sp(UI *ui, int sp) +static void tui_update_sp(UI *ui, Integer sp) { // Do nothing; 'special' color is for GUI only } @@ -743,6 +834,7 @@ static void tui_flush(UI *ui) flush_buf(ui, true); } +#ifdef UNIX static void suspend_event(void **argv) { UI *ui = argv[0]; @@ -764,30 +856,33 @@ static void suspend_event(void **argv) // resume the main thread CONTINUE(data->bridge); } +#endif static void tui_suspend(UI *ui) { +#ifdef UNIX TUIData *data = ui->data; // kill(0, SIGTSTP) won't stop the UI thread, so we must poll for SIGCONT // before continuing. This is done in another callback to avoid // loop_poll_events recursion multiqueue_put_event(data->loop->fast_events, - event_create(1, suspend_event, 1, ui)); + event_create(suspend_event, 1, ui)); +#endif } -static void tui_set_title(UI *ui, char *title) +static void tui_set_title(UI *ui, String title) { TUIData *data = ui->data; - if (!(title && unibi_get_str(data->ut, unibi_to_status_line) + if (!(title.data && unibi_get_str(data->ut, unibi_to_status_line) && unibi_get_str(data->ut, unibi_from_status_line))) { return; } unibi_out(ui, unibi_to_status_line); - out(ui, title, strlen(title)); + out(ui, title.data, title.size); unibi_out(ui, unibi_from_status_line); } -static void tui_set_icon(UI *ui, char *icon) +static void tui_set_icon(UI *ui, String icon) { } @@ -945,12 +1040,22 @@ static TermType detect_term(const char *term, const char *colorterm) if (colorterm && strstr(colorterm, "gnome-terminal")) { return kTermGnome; } + if (STARTS_WITH(term, "xterm")) { + return kTermXTerm; + } + if (STARTS_WITH(term, "dtterm")) { + return kTermDTTerm; + } + if (STARTS_WITH(term, "teraterm")) { + return kTermTeraTerm; + } return kTermUnknown; } static void fix_terminfo(TUIData *data) { unibi_term *ut = data->ut; + is_tmux = os_getenv("TMUX") != NULL; const char *term = os_getenv("TERM"); const char *colorterm = os_getenv("COLORTERM"); @@ -964,14 +1069,14 @@ static void fix_terminfo(TUIData *data) unibi_set_if_empty(ut, unibi_flash_screen, "\x1b[?5h$<20/>\x1b[?5l"); unibi_set_if_empty(ut, unibi_enter_italics_mode, "\x1b[3m"); unibi_set_if_empty(ut, unibi_to_status_line, "\x1b]2"); - } else if (STARTS_WITH(term, "xterm")) { + } else if (data->term == kTermXTerm) { unibi_set_if_empty(ut, unibi_to_status_line, "\x1b]0;"); } else if (STARTS_WITH(term, "screen") || STARTS_WITH(term, "tmux")) { unibi_set_if_empty(ut, unibi_to_status_line, "\x1b_"); unibi_set_if_empty(ut, unibi_from_status_line, "\x1b\\"); } - if (STARTS_WITH(term, "xterm") || data->term == kTermRxvt) { + if (data->term == kTermXTerm || data->term == kTermRxvt) { const char *normal = unibi_get_str(ut, unibi_cursor_normal); if (!normal) { unibi_set_str(ut, unibi_cursor_normal, "\x1b[?25h"); @@ -985,11 +1090,21 @@ static void fix_terminfo(TUIData *data) unibi_set_if_empty(ut, unibi_cursor_invisible, "\x1b[?25l"); unibi_set_if_empty(ut, unibi_flash_screen, "\x1b[?5h$<100/>\x1b[?5l"); unibi_set_if_empty(ut, unibi_exit_attribute_mode, "\x1b(B\x1b[m"); + unibi_set_if_empty(ut, unibi_set_tb_margin, "\x1b[%i%p1%d;%p2%dr"); + unibi_set_if_empty(ut, unibi_set_lr_margin, "\x1b[%i%p1%d;%p2%ds"); + unibi_set_if_empty(ut, unibi_set_left_margin_parm, "\x1b[%i%p1%ds"); + unibi_set_if_empty(ut, unibi_set_right_margin_parm, "\x1b[%i;%p2%ds"); unibi_set_if_empty(ut, unibi_change_scroll_region, "\x1b[%i%p1%d;%p2%dr"); unibi_set_if_empty(ut, unibi_clear_screen, "\x1b[H\x1b[2J"); unibi_set_if_empty(ut, unibi_from_status_line, "\x07"); + unibi_set_bool(ut, unibi_back_color_erase, true); } + data->unibi_ext.enable_lr_margin = (int)unibi_add_ext_str(ut, NULL, + "\x1b[?69h"); + data->unibi_ext.disable_lr_margin = (int)unibi_add_ext_str(ut, NULL, + "\x1b[?69l"); + data->unibi_ext.enable_bracketed_paste = (int)unibi_add_ext_str(ut, NULL, "\x1b[?2004h"); data->unibi_ext.disable_bracketed_paste = (int)unibi_add_ext_str(ut, NULL, @@ -1006,19 +1121,36 @@ static void fix_terminfo(TUIData *data) "\x1b[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m" if ((colorterm && strstr(colorterm, "256")) + || STARTS_WITH(term, "linux") || strstr(term, "256") || strstr(term, "xterm")) { - // Assume TERM=~xterm or COLORTERM=~256 supports 256 colors. + // Linux 4.8+ supports 256-color SGR, but terminfo has 8-color setaf/setab. + // Assume TERM=~xterm|linux or COLORTERM=~256 supports 256 colors. unibi_set_num(ut, unibi_max_colors, 256); unibi_set_str(ut, unibi_set_a_foreground, XTERM_SETAF); unibi_set_str(ut, unibi_set_a_background, XTERM_SETAB); } + // Only define this capability for terminal types that we know understand it. + if (data->term == kTermDTTerm // originated this extension + || data->term == kTermXTerm // per xterm ctlseqs doc + || data->term == kTermKonsole // per commentary in VT102Emulation.cpp + || data->term == kTermTeraTerm // per "Supported Control Functions" doc + || data->term == kTermRxvt) { // per command.C + data->unibi_ext.resize_screen = (int)unibi_add_ext_str(ut, NULL, + "\x1b[8;%p1%d;%p2%dt"); + } + + if (data->term == kTermXTerm || data->term == kTermRxvt) { + data->unibi_ext.reset_scroll_region = (int)unibi_add_ext_str(ut, NULL, + "\x1b[r"); + } + end: // Fill some empty slots with common terminal strings if (data->term == kTermiTerm) { data->unibi_ext.set_cursor_color = (int)unibi_add_ext_str( - ut, NULL, "\033]Pl%p1%06x\033\\"); + ut, NULL, TMUX_WRAP("\033]Pl%p1%06x\033\\")); } else { data->unibi_ext.set_cursor_color = (int)unibi_add_ext_str( ut, NULL, "\033]12;#%p1%06x\007"); @@ -1066,7 +1198,7 @@ static void flush_buf(UI *ui, bool toggle_cursor) buf.base = data->buf; buf.len = data->bufpos; - uv_write(&req, (uv_stream_t *)&data->output_handle, &buf, 1, NULL); + uv_write(&req, STRUCT_CAST(uv_stream_t, &data->output_handle), &buf, 1, NULL); uv_run(&data->write_loop, UV_RUN_DEFAULT); data->bufpos = 0; @@ -1109,13 +1241,13 @@ static const char *tui_tk_ti_getstr(const char *name, const char *value, if (strequal(name, "key_backspace")) { ILOG("libtermkey:kbs=%s", value); - if (stty_erase != NULL && stty_erase[0] != 0) { + if (stty_erase[0] != 0) { return stty_erase; } } else if (strequal(name, "key_dc")) { ILOG("libtermkey:kdch1=%s", value); // Vim: "If <BS> and <DEL> are now the same, redefine <DEL>." - if (stty_erase != NULL && value != NULL && strequal(stty_erase, value)) { + if (value != NULL && strequal(stty_erase, value)) { return stty_erase[0] == DEL ? CTRL_H_STR : DEL_STR; } } diff --git a/src/nvim/tui/tui.h b/src/nvim/tui/tui.h index 2915b0e2f8..996496ee60 100644 --- a/src/nvim/tui/tui.h +++ b/src/nvim/tui/tui.h @@ -2,6 +2,7 @@ #define NVIM_TUI_TUI_H #include "nvim/cursor_shape.h" +#include "nvim/ui.h" #ifdef INCLUDE_GENERATED_DECLARATIONS # include "tui/tui.h.generated.h" diff --git a/src/nvim/ui.c b/src/nvim/ui.c index 69916fa4cd..0a2154438f 100644 --- a/src/nvim/ui.c +++ b/src/nvim/ui.c @@ -47,6 +47,7 @@ #define MAX_UI_COUNT 16 static UI *uis[MAX_UI_COUNT]; +static bool ui_ext[UI_WIDGETS] = { 0 }; static size_t ui_count = 0; static int row = 0, col = 0; static struct { @@ -88,6 +89,10 @@ static int old_mode_idx = -1; #define UI_CALL_MORE(method, ...) if (ui->method) ui->method(ui, __VA_ARGS__) #define UI_CALL_ZERO(method) if (ui->method) ui->method(ui) +#ifdef INCLUDE_GENERATED_DECLARATIONS +# include "ui_events_call.generated.h" +#endif + void ui_builtin_start(void) { #ifdef FEAT_TUI @@ -127,24 +132,6 @@ bool ui_active(void) return ui_count != 0; } -void ui_suspend(void) -{ - UI_CALL(suspend); - UI_CALL(flush); -} - -void ui_set_title(char *title) -{ - UI_CALL(set_title, title); - UI_CALL(flush); -} - -void ui_set_icon(char *icon) -{ - UI_CALL(set_icon, icon); - UI_CALL(flush); -} - void ui_event(char *name, Array args) { bool args_consumed = false; @@ -166,18 +153,25 @@ void ui_refresh(void) } int width = INT_MAX, height = INT_MAX; - bool pum_external = true; + bool ext_widgets[UI_WIDGETS]; + for (UIWidget i = 0; (int)i < UI_WIDGETS; i++) { + ext_widgets[i] = true; + } for (size_t i = 0; i < ui_count; i++) { UI *ui = uis[i]; width = MIN(ui->width, width); height = MIN(ui->height, height); - pum_external &= ui->pum_external; + for (UIWidget i = 0; (int)i < UI_WIDGETS; i++) { + ext_widgets[i] &= ui->ui_ext[i]; + } } row = col = 0; screen_resize(width, height); - pum_set_external(pum_external); + for (UIWidget i = 0; (int)i < UI_WIDGETS; i++) { + ui_set_external(i, ext_widgets[i]); + } ui_mode_info_set(); old_mode_idx = -1; ui_cursor_shape(); @@ -190,7 +184,7 @@ static void ui_refresh_event(void **argv) void ui_schedule_refresh(void) { - loop_schedule(&main_loop, event_create(1, ui_refresh_event, 0)); + loop_schedule(&main_loop, event_create(ui_refresh_event, 0)); } void ui_resize(int new_width, int new_height) @@ -206,33 +200,23 @@ void ui_resize(int new_width, int new_height) sr.bot = height - 1; sr.left = 0; sr.right = width - 1; - UI_CALL(resize, width, height); + ui_call_resize(width, height); } void ui_busy_start(void) { if (!(busy++)) { - UI_CALL(busy_start); + ui_call_busy_start(); } } void ui_busy_stop(void) { if (!(--busy)) { - UI_CALL(busy_stop); + ui_call_busy_stop(); } } -void ui_mouse_on(void) -{ - UI_CALL(mouse_on); -} - -void ui_mouse_off(void) -{ - UI_CALL(mouse_off); -} - void ui_attach_impl(UI *ui) { if (ui_count == MAX_UI_COUNT) { @@ -273,11 +257,6 @@ void ui_detach_impl(UI *ui) } } -void ui_clear(void) -{ - UI_CALL(clear); -} - // Set scrolling region for window 'wp'. // The region starts 'off' lines from the start of the window. // Also set the vertical scroll region for a vertically split window. Always @@ -292,7 +271,7 @@ void ui_set_scroll_region(win_T *wp, int off) sr.right = wp->w_wincol + wp->w_width - 1; } - UI_CALL(set_scroll_region, sr.top, sr.bot, sr.left, sr.right); + ui_call_set_scroll_region(sr.top, sr.bot, sr.left, sr.right); } // Reset scrolling region to the whole screen. @@ -302,22 +281,7 @@ void ui_reset_scroll_region(void) sr.bot = (int)Rows - 1; sr.left = 0; sr.right = (int)Columns - 1; - UI_CALL(set_scroll_region, sr.top, sr.bot, sr.left, sr.right); -} - -void ui_append_lines(int count) -{ - UI_CALL(scroll, -count); -} - -void ui_delete_lines(int count) -{ - UI_CALL(scroll, count); -} - -void ui_eol_clear(void) -{ - UI_CALL(eol_clear); + ui_call_set_scroll_region(sr.top, sr.bot, sr.left, sr.right); } void ui_start_highlight(int attr_code) @@ -342,23 +306,31 @@ void ui_stop_highlight(void) set_highlight_args(current_attr_code); } -void ui_visual_bell(void) -{ - UI_CALL(visual_bell); -} - void ui_puts(uint8_t *str) { - uint8_t *ptr = str; + uint8_t *p = str; uint8_t c; - while ((c = *ptr)) { + while ((c = *p)) { if (c < 0x20) { - parse_control_character(c); - ptr++; - } else { - send_output(&ptr); + abort(); + } + + size_t clen = (size_t)mb_ptr2len(p); + ui_call_put((String){ .data = (char *)p, .size = clen }); + col++; + if (mb_ptr2cells(p) > 1) { + // double cell character, blank the next cell + ui_call_put((String)STRING_INIT); + col++; + } + if (utf_ambiguous_width(utf_ptr2char(p))) { + pending_cursor_update = true; } + if (col >= width) { + ui_linefeed(); + } + p += clen; } } @@ -382,15 +354,10 @@ void ui_mode_info_set(void) { Array style = mode_style_array(); bool enabled = (*p_guicursor != NUL); - UI_CALL(mode_info_set, enabled, style); + ui_call_mode_info_set(enabled, style); api_free_array(style); } -void ui_update_menu(void) -{ - UI_CALL(update_menu); -} - int ui_current_row(void) { return row; @@ -403,47 +370,7 @@ int ui_current_col(void) void ui_flush(void) { - UI_CALL(flush); -} - -static void send_output(uint8_t **ptr) -{ - uint8_t *p = *ptr; - - while (*p >= 0x20) { - size_t clen = (size_t)mb_ptr2len(p); - UI_CALL(put, p, (size_t)clen); - col++; - if (mb_ptr2cells(p) > 1) { - // double cell character, blank the next cell - UI_CALL(put, NULL, 0); - col++; - } - if (utf_ambiguous_width(utf_ptr2char(p))) { - pending_cursor_update = true; - } - if (col >= width) { - ui_linefeed(); - } - p += clen; - } - - *ptr = p; -} - -static void parse_control_character(uint8_t c) -{ - if (c == '\n') { - ui_linefeed(); - } else if (c == '\r') { - ui_carriage_return(); - } else if (c == '\b') { - ui_cursor_left(); - } else if (c == Ctrl_L) { - ui_cursor_right(); - } else if (c == Ctrl_G) { - UI_CALL(bell); - } + ui_call_flush(); } static void set_highlight_args(int attr_code) @@ -501,43 +428,23 @@ end: UI_CALL(highlight_set, (ui->rgb ? rgb_attrs : cterm_attrs)); } -static void ui_linefeed(void) +void ui_linefeed(void) { int new_col = 0; int new_row = row; if (new_row < sr.bot) { new_row++; } else { - UI_CALL(scroll, 1); + ui_call_scroll(1); } ui_cursor_goto(new_row, new_col); } -static void ui_carriage_return(void) -{ - int new_col = 0; - ui_cursor_goto(row, new_col); -} - -static void ui_cursor_left(void) -{ - int new_col = col - 1; - assert(new_col >= 0); - ui_cursor_goto(row, new_col); -} - -static void ui_cursor_right(void) -{ - int new_col = col + 1; - assert(new_col < width); - ui_cursor_goto(row, new_col); -} - static void flush_cursor_update(void) { if (pending_cursor_update) { pending_cursor_update = false; - UI_CALL(cursor_goto, row, col); + ui_call_cursor_goto(row, col); } } @@ -552,8 +459,22 @@ void ui_cursor_shape(void) if (old_mode_idx != mode_idx) { old_mode_idx = mode_idx; - UI_CALL(mode_change, mode_idx); + char *full_name = shape_table[mode_idx].full_name; + ui_call_mode_change(cstr_as_string(full_name), mode_idx); } conceal_check_cursur_line(); } +/// Returns true if `widget` is externalized. +bool ui_is_external(UIWidget widget) +{ + return ui_ext[widget]; +} + +/// Sets `widget` as "external". +/// Such widgets are not drawn by Nvim; external UIs are expected to handle +/// higher-level UI events and present the data. +void ui_set_external(UIWidget widget, bool external) +{ + ui_ext[widget] = external; +} diff --git a/src/nvim/ui.h b/src/nvim/ui.h index fcf52ac9e1..064f77fee1 100644 --- a/src/nvim/ui.h +++ b/src/nvim/ui.h @@ -8,6 +8,14 @@ #include "api/private/defs.h" #include "nvim/buffer_defs.h" +typedef enum { + kUICmdline = 0, + kUIPopupmenu, + kUITabline, + kUIWildmenu, +} UIWidget; +#define UI_WIDGETS (kUIWildmenu + 1) + typedef struct { bool bold, underline, undercurl, italic, reverse; int foreground, background, special; @@ -16,38 +24,21 @@ typedef struct { typedef struct ui_t UI; struct ui_t { - bool rgb, pum_external; + bool rgb; + bool ui_ext[UI_WIDGETS]; ///< Externalized widgets int width, height; void *data; - void (*resize)(UI *ui, int rows, int columns); - void (*clear)(UI *ui); - void (*eol_clear)(UI *ui); - void (*cursor_goto)(UI *ui, int row, int col); - void (*mode_info_set)(UI *ui, bool enabled, Array cursor_styles); - void (*update_menu)(UI *ui); - void (*busy_start)(UI *ui); - void (*busy_stop)(UI *ui); - void (*mouse_on)(UI *ui); - void (*mouse_off)(UI *ui); - void (*mode_change)(UI *ui, int mode_idx); - void (*set_scroll_region)(UI *ui, int top, int bot, int left, int right); - void (*scroll)(UI *ui, int count); - void (*highlight_set)(UI *ui, HlAttrs attrs); - void (*put)(UI *ui, uint8_t *str, size_t len); - void (*bell)(UI *ui); - void (*visual_bell)(UI *ui); - void (*flush)(UI *ui); - void (*update_fg)(UI *ui, int fg); - void (*update_bg)(UI *ui, int bg); - void (*update_sp)(UI *ui, int sp); - void (*suspend)(UI *ui); - void (*set_title)(UI *ui, char *title); - void (*set_icon)(UI *ui, char *icon); + +#ifdef INCLUDE_GENERATED_DECLARATIONS +# include "ui_events.generated.h" +#endif + void (*event)(UI *ui, char *name, Array args, bool *args_consumed); void (*stop)(UI *ui); }; #ifdef INCLUDE_GENERATED_DECLARATIONS # include "ui.h.generated.h" +# include "ui_events_call.h.generated.h" #endif #endif // NVIM_UI_H diff --git a/src/nvim/ui_bridge.c b/src/nvim/ui_bridge.c index 5697c765ba..0165db7c0c 100644 --- a/src/nvim/ui_bridge.c +++ b/src/nvim/ui_bridge.c @@ -40,24 +40,27 @@ static argv_callback uilog_event = NULL; uilog_event = ui_bridge_##name##_event; \ } \ ((UIBridgeData *)ui)->scheduler( \ - event_create(1, ui_bridge_##name##_event, argc, __VA_ARGS__), UI(ui)); \ + event_create(ui_bridge_##name##_event, argc, __VA_ARGS__), UI(ui)); \ } while (0) #else // Schedule a function call on the UI bridge thread. #define UI_CALL(ui, name, argc, ...) \ ((UIBridgeData *)ui)->scheduler( \ - event_create(1, ui_bridge_##name##_event, argc, __VA_ARGS__), UI(ui)) + event_create(ui_bridge_##name##_event, argc, __VA_ARGS__), UI(ui)) #endif -#define INT2PTR(i) ((void *)(uintptr_t)i) -#define PTR2INT(p) ((int)(uintptr_t)p) +#define INT2PTR(i) ((void *)(intptr_t)i) +#define PTR2INT(p) ((Integer)(intptr_t)p) + +#ifdef INCLUDE_GENERATED_DECLARATIONS +# include "ui_events_bridge.generated.h" +#endif UI *ui_bridge_attach(UI *ui, ui_main_fn ui_main, event_scheduler scheduler) { UIBridgeData *rv = xcalloc(1, sizeof(UIBridgeData)); rv->ui = ui; rv->bridge.rgb = ui->rgb; - rv->bridge.pum_external = ui->pum_external; rv->bridge.stop = ui_bridge_stop; rv->bridge.resize = ui_bridge_resize; rv->bridge.clear = ui_bridge_clear; @@ -85,6 +88,10 @@ UI *ui_bridge_attach(UI *ui, ui_main_fn ui_main, event_scheduler scheduler) rv->bridge.set_icon = ui_bridge_set_icon; rv->scheduler = scheduler; + for (UIWidget i = 0; (int)i < UI_WIDGETS; i++) { + rv->bridge.ui_ext[i] = ui->ui_ext[i]; + } + rv->ui_main = ui_main; uv_mutex_init(&rv->mutex); uv_cond_init(&rv->cond); @@ -143,148 +150,6 @@ static void ui_bridge_stop_event(void **argv) ui->stop(ui); } -static void ui_bridge_resize(UI *b, int width, int height) -{ - UI_CALL(b, resize, 3, b, INT2PTR(width), INT2PTR(height)); -} -static void ui_bridge_resize_event(void **argv) -{ - UI *ui = UI(argv[0]); - ui->resize(ui, PTR2INT(argv[1]), PTR2INT(argv[2])); -} - -static void ui_bridge_clear(UI *b) -{ - UI_CALL(b, clear, 1, b); -} -static void ui_bridge_clear_event(void **argv) -{ - UI *ui = UI(argv[0]); - ui->clear(ui); -} - -static void ui_bridge_eol_clear(UI *b) -{ - UI_CALL(b, eol_clear, 1, b); -} -static void ui_bridge_eol_clear_event(void **argv) -{ - UI *ui = UI(argv[0]); - ui->eol_clear(ui); -} - -static void ui_bridge_cursor_goto(UI *b, int row, int col) -{ - UI_CALL(b, cursor_goto, 3, b, INT2PTR(row), INT2PTR(col)); -} -static void ui_bridge_cursor_goto_event(void **argv) -{ - UI *ui = UI(argv[0]); - ui->cursor_goto(ui, PTR2INT(argv[1]), PTR2INT(argv[2])); -} - -static void ui_bridge_mode_info_set(UI *b, bool enabled, Array modes) -{ - bool *enabledp = xmalloc(sizeof(*enabledp)); - Object *modesp = xmalloc(sizeof(*modesp)); - *enabledp = enabled; - *modesp = copy_object(ARRAY_OBJ(modes)); - UI_CALL(b, mode_info_set, 3, b, enabledp, modesp); -} -static void ui_bridge_mode_info_set_event(void **argv) -{ - UI *ui = UI(argv[0]); - bool *enabled = argv[1]; - Object *modes = argv[2]; - ui->mode_info_set(ui, *enabled, modes->data.array); - xfree(enabled); - api_free_object(*modes); - xfree(modes); -} - -static void ui_bridge_update_menu(UI *b) -{ - UI_CALL(b, update_menu, 1, b); -} -static void ui_bridge_update_menu_event(void **argv) -{ - UI *ui = UI(argv[0]); - ui->update_menu(ui); -} - -static void ui_bridge_busy_start(UI *b) -{ - UI_CALL(b, busy_start, 1, b); -} -static void ui_bridge_busy_start_event(void **argv) -{ - UI *ui = UI(argv[0]); - ui->busy_start(ui); -} - -static void ui_bridge_busy_stop(UI *b) -{ - UI_CALL(b, busy_stop, 1, b); -} -static void ui_bridge_busy_stop_event(void **argv) -{ - UI *ui = UI(argv[0]); - ui->busy_stop(ui); -} - -static void ui_bridge_mouse_on(UI *b) -{ - UI_CALL(b, mouse_on, 1, b); -} -static void ui_bridge_mouse_on_event(void **argv) -{ - UI *ui = UI(argv[0]); - ui->mouse_on(ui); -} - -static void ui_bridge_mouse_off(UI *b) -{ - UI_CALL(b, mouse_off, 1, b); -} -static void ui_bridge_mouse_off_event(void **argv) -{ - UI *ui = UI(argv[0]); - ui->mouse_off(ui); -} - -static void ui_bridge_mode_change(UI *b, int mode_idx) -{ - UI_CALL(b, mode_change, 2, b, INT2PTR(mode_idx)); -} -static void ui_bridge_mode_change_event(void **argv) -{ - UI *ui = UI(argv[0]); - ui->mode_change(ui, PTR2INT(argv[1])); -} - -static void ui_bridge_set_scroll_region(UI *b, int top, int bot, int left, - int right) -{ - UI_CALL(b, set_scroll_region, 5, b, INT2PTR(top), INT2PTR(bot), - INT2PTR(left), INT2PTR(right)); -} -static void ui_bridge_set_scroll_region_event(void **argv) -{ - UI *ui = UI(argv[0]); - ui->set_scroll_region(ui, PTR2INT(argv[1]), PTR2INT(argv[2]), - PTR2INT(argv[3]), PTR2INT(argv[4])); -} - -static void ui_bridge_scroll(UI *b, int count) -{ - UI_CALL(b, scroll, 2, b, INT2PTR(count)); -} -static void ui_bridge_scroll_event(void **argv) -{ - UI *ui = UI(argv[0]); - ui->scroll(ui, PTR2INT(argv[1])); -} - static void ui_bridge_highlight_set(UI *b, HlAttrs attrs) { HlAttrs *a = xmalloc(sizeof(HlAttrs)); @@ -298,82 +163,6 @@ static void ui_bridge_highlight_set_event(void **argv) xfree(argv[1]); } -static void ui_bridge_put(UI *b, uint8_t *text, size_t size) -{ - uint8_t *t = NULL; - if (text) { - t = xmalloc(sizeof(((UCell *)0)->data)); - memcpy(t, text, size); - } - UI_CALL(b, put, 3, b, t, INT2PTR(size)); -} -static void ui_bridge_put_event(void **argv) -{ - UI *ui = UI(argv[0]); - ui->put(ui, (uint8_t *)argv[1], (size_t)(uintptr_t)argv[2]); - xfree(argv[1]); -} - -static void ui_bridge_bell(UI *b) -{ - UI_CALL(b, bell, 1, b); -} -static void ui_bridge_bell_event(void **argv) -{ - UI *ui = UI(argv[0]); - ui->bell(ui); -} - -static void ui_bridge_visual_bell(UI *b) -{ - UI_CALL(b, visual_bell, 1, b); -} -static void ui_bridge_visual_bell_event(void **argv) -{ - UI *ui = UI(argv[0]); - ui->visual_bell(ui); -} - -static void ui_bridge_update_fg(UI *b, int fg) -{ - UI_CALL(b, update_fg, 2, b, INT2PTR(fg)); -} -static void ui_bridge_update_fg_event(void **argv) -{ - UI *ui = UI(argv[0]); - ui->update_fg(ui, PTR2INT(argv[1])); -} - -static void ui_bridge_update_bg(UI *b, int bg) -{ - UI_CALL(b, update_bg, 2, b, INT2PTR(bg)); -} -static void ui_bridge_update_bg_event(void **argv) -{ - UI *ui = UI(argv[0]); - ui->update_bg(ui, PTR2INT(argv[1])); -} - -static void ui_bridge_update_sp(UI *b, int sp) -{ - UI_CALL(b, update_sp, 2, b, INT2PTR(sp)); -} -static void ui_bridge_update_sp_event(void **argv) -{ - UI *ui = UI(argv[0]); - ui->update_sp(ui, PTR2INT(argv[1])); -} - -static void ui_bridge_flush(UI *b) -{ - UI_CALL(b, flush, 1, b); -} -static void ui_bridge_flush_event(void **argv) -{ - UI *ui = UI(argv[0]); - ui->flush(ui); -} - static void ui_bridge_suspend(UI *b) { UIBridgeData *data = (UIBridgeData *)b; @@ -391,25 +180,3 @@ static void ui_bridge_suspend_event(void **argv) UI *ui = UI(argv[0]); ui->suspend(ui); } - -static void ui_bridge_set_title(UI *b, char *title) -{ - UI_CALL(b, set_title, 2, b, title ? xstrdup(title) : NULL); -} -static void ui_bridge_set_title_event(void **argv) -{ - UI *ui = UI(argv[0]); - ui->set_title(ui, argv[1]); - xfree(argv[1]); -} - -static void ui_bridge_set_icon(UI *b, char *icon) -{ - UI_CALL(b, set_icon, 2, b, icon ? xstrdup(icon) : NULL); -} -static void ui_bridge_set_icon_event(void **argv) -{ - UI *ui = UI(argv[0]); - ui->set_icon(ui, argv[1]); - xfree(argv[1]); -} diff --git a/src/nvim/undo.c b/src/nvim/undo.c index 290d5d7553..81af3bfda9 100644 --- a/src/nvim/undo.c +++ b/src/nvim/undo.c @@ -2232,11 +2232,13 @@ static void u_undoredo(int undo) /* adjust marks */ if (oldsize != newsize) { mark_adjust(top + 1, top + oldsize, (long)MAXLNUM, - (long)newsize - (long)oldsize); - if (curbuf->b_op_start.lnum > top + oldsize) + (long)newsize - (long)oldsize, false); + if (curbuf->b_op_start.lnum > top + oldsize) { curbuf->b_op_start.lnum += newsize - oldsize; - if (curbuf->b_op_end.lnum > top + oldsize) + } + if (curbuf->b_op_end.lnum > top + oldsize) { curbuf->b_op_end.lnum += newsize - oldsize; + } } changed_lines(top + 1, 0, bot, newsize - oldsize); diff --git a/src/nvim/version.c b/src/nvim/version.c index b1aa8e2a4b..094ca29b01 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -84,11 +84,11 @@ static const int included_patches[] = { // 2363 NA 2362, // 2361 NA - // 2360, + 2360, 2359, // 2358 NA 2357, - // 2356, + 2356, 2355, // 2354, 2353, @@ -124,9 +124,9 @@ static const int included_patches[] = { 2323, 2322, 2321, - // 2320, + 2320, // 2319 NA - // 2318, + 2318, 2317, // 2316 NA 2315, @@ -176,16 +176,16 @@ static const int included_patches[] = { // 2271 NA // 2270 NA 2269, - // 2268, + 2268, // 2267 NA 2266, 2265, 2264, - // 2263, + 2263, // 2262 NA // 2261 NA // 2260 NA - // 2259, + 2259, // 2258 NA // 2257 NA 2256, @@ -198,14 +198,14 @@ static const int included_patches[] = { 2249, 2248, // 2247 NA - // 2246, - // 2245, - // 2244, + 2246, + 2245, + 2244, // 2243 NA 2242, 2241, 2240, - // 2239, + 2239, // 2238 NA 2237, 2236, @@ -213,14 +213,14 @@ static const int included_patches[] = { // 2234 NA 2233, // 2232 NA - // 2231, + 2231, 2230, // 2229, 2228, 2227, 2226, 2225, - // 2224, + 2224, 2223, 2222, 2221, @@ -254,7 +254,7 @@ static const int included_patches[] = { // 2193 NA // 2192 NA // 2191 NA - // 2190, + 2190, // 2189, 2188, 2187, @@ -415,7 +415,7 @@ static const int included_patches[] = { // 2032 NA 2031, // 2030 NA - // 2029, + 2029, 2028, // 2027 NA // 2026 NA @@ -458,18 +458,18 @@ static const int included_patches[] = { 1989, // 1988 NA // 1987 NA - // 1986, + 1986, // 1985 NA 1984, // 1983 NA // 1982 NA 1981, 1980, - // 1979, - // 1978, - // 1977, - // 1976, - // 1975, + 1979, + 1978, + 1977, + 1976, + 1975, // 1974 NA 1973, // 1972 NA diff --git a/src/nvim/window.c b/src/nvim/window.c index 60bba19b07..43af2e5e4f 100644 --- a/src/nvim/window.c +++ b/src/nvim/window.c @@ -48,6 +48,7 @@ #include "nvim/syntax.h" #include "nvim/terminal.h" #include "nvim/undo.h" +#include "nvim/ui.h" #include "nvim/os/os.h" @@ -1042,7 +1043,7 @@ static void win_init(win_T *newp, win_T *oldp, int flags) win_init_some(newp, oldp); - check_colorcolumn(newp); + didset_window_options(newp); } /* @@ -3721,6 +3722,12 @@ static void win_enter_ext(win_T *wp, bool undo_sync, int curwin_invalid, if (restart_edit) redraw_later(VALID); /* causes status line redraw */ + if (hl_attr(HLF_INACTIVE) + || (prevwin && prevwin->w_hl_ids[HLF_INACTIVE]) + || curwin->w_hl_ids[HLF_INACTIVE]) { + redraw_all_later(NOT_VALID); + } + /* set window height to desired minimal value */ if (curwin->w_height < p_wh && !curwin->w_p_wfh) win_setheight((int)p_wh); @@ -5223,6 +5230,9 @@ static void last_status_rec(frame_T *fr, int statusline) */ int tabline_height(void) { + if (ui_is_external(kUITabline)) { + return 0; + } assert(first_tabpage); switch (p_stal) { case 0: return 0; |
