summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt10
-rwxr-xr-xcmake/Translations.cmake2
-rw-r--r--config.h.in1
-rw-r--r--locale.c14
-rw-r--r--musl-po/CMakeLists.txt4
-rw-r--r--musl-po/LOCALES2
-rw-r--r--musl-po/en_US.po769
-rw-r--r--musl-po/musl.pot760
-rw-r--r--musl-po/ru_RU.po769
-rw-r--r--musl.pot777
-rw-r--r--po/CMakeLists.txt4
-rw-r--r--po/LINGUAS.in1
-rw-r--r--po/en.po72
-rw-r--r--po/musl-locales.pot61
-rw-r--r--po/ru.po72
15 files changed, 3304 insertions, 14 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8ada96e..b188ad3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,13 +2,17 @@ project(locales C)
cmake_minimum_required(VERSION 2.8)
include(GNUInstallDirs)
list (APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
-configure_file(config.h.in config.h)
-configure_file(locale.in 00locale.sh)
INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR})
set(GETTEXT_PACKAGE "musl-locales")
set(MUSL_LOCPATH ${CMAKE_INSTALL_DATAROOTDIR}/i18n/locales/musl CACHE PATH "Locales directory" FORCE)
+configure_file(config.h.in config.h)
+configure_file(locale.in 00locale.sh)
set(LOCALE_SOURCES locale.c categories.c categories.h config.h)
add_executable(locale ${LOCALE_SOURCES})
-install(PROGRAMS 00locale.sh DESTINATION "${CMAKE_INSTALL_SYSCONFDIR}/profile.d")
+target_compile_options(locale
+ PRIVATE $<$<COMPILE_LANGUAGE:C>:-std=gnu11 -Wno-pedantic>
+)
+install(PROGRAMS ${CMAKE_BINARY_DIR}/00locale.sh DESTINATION "${CMAKE_INSTALL_SYSCONFDIR}/profile.d")
install(TARGETS locale DESTINATION bin)
add_subdirectory(po)
+add_subdirectory(musl-po)
diff --git a/cmake/Translations.cmake b/cmake/Translations.cmake
index 7a2aaab..d6979c4 100755
--- a/cmake/Translations.cmake
+++ b/cmake/Translations.cmake
@@ -6,7 +6,7 @@ macro (add_translations_directory NLS_PACKAGE)
# be sure that all languages are present
# Using all usual languages code from https://www.gnu.org/software/gettext/manual/html_node/Language-Codes.html#Language-Codes
# Rare language codes should be added on-demand.
- set (LANGUAGES_NEEDED ru)
+ set (LANGUAGES_NEEDED en ru)
string (REPLACE ";" " " LINGUAS "${LANGUAGES_NEEDED}")
configure_file (${CMAKE_CURRENT_SOURCE_DIR}/LINGUAS.in ${CMAKE_CURRENT_BINARY_DIR}/LINGUAS)
foreach (LANGUAGE_NEEDED ${LANGUAGES_NEEDED})
diff --git a/config.h.in b/config.h.in
index 63ec30d..d393371 100644
--- a/config.h.in
+++ b/config.h.in
@@ -1 +1,2 @@
#define PACKAGE "@GETTEXT_PACKAGE@"
+#define LOCALEDIR "@CMAKE_INSTALL_FULL_DATAROOTDIR@/locale"
diff --git a/locale.c b/locale.c
index cfe2f20..ede426d 100644
--- a/locale.c
+++ b/locale.c
@@ -49,13 +49,13 @@ static void usage(char *name)
s = basename(name);
fprintf(stderr,
- "Usage: %s [-a | -m] [FORMAT] name...\n\n"
+ gettext ("Usage: %s [-a | -m] [FORMAT] name...\n\n"
"\t-a, --all-locales\tWrite names of all available locales\n"
"\t-m, --charmaps\tWrite names of available charmaps\n"
"\nFORMAT:\n"
"\t-c, --category-name\tWrite names of selected categories\n"
"\t-k, --keyword-name\tWrite names of selected keywords\n"
- , s);
+ ), s);
}
static int argp_parse(int argc, char *argv[])
@@ -89,12 +89,12 @@ static int argp_parse(int argc, char *argv[])
show_usage = 1;
break;
case '?':
- fprintf(stderr, "Unknown option.\n");
+ fprintf(stderr, gettext("Unknown option.\n"));
usage(progname);
return 1;
default:
- fprintf(stderr, "This should never happen!\n");
+ fprintf(stderr, gettext("This should never happen!\n"));
return 1;
}
@@ -112,7 +112,8 @@ static void list_locale()
DIR *dir = opendir(locpath);
struct dirent *pDir;
while ((pDir = readdir(dir)) != NULL){
- printf("%s.%s\n",pDir->d_name,"utf8");
+ if (strcmp(pDir->d_name,".") && strcmp(pDir->d_name,".."))
+ printf("%s\n",pDir->d_name);
}
}
}
@@ -202,8 +203,9 @@ int main(int argc, char *argv[])
fprintf (stderr, gettext ("Cannot set LC_CTYPE to default locale"));
if (setlocale (LC_MESSAGES, "") == NULL)
fprintf (stderr, gettext ("Cannot set LC_MESSAGES to default locale"));
+ bindtextdomain(PACKAGE,LOCALEDIR);
+ textdomain(PACKAGE);
/* Parse and process arguments. */
- textdomain (PACKAGE);
if (argp_parse(argc, argv))
return 1;
diff --git a/musl-po/CMakeLists.txt b/musl-po/CMakeLists.txt
new file mode 100644
index 0000000..c8368e8
--- /dev/null
+++ b/musl-po/CMakeLists.txt
@@ -0,0 +1,4 @@
+include(TranslationsMusl)
+add_musl_translations_directory("musl" "${MUSL_LOCPATH}")
+add_musl_translations_catalog("musl"
+ ../musl) \ No newline at end of file
diff --git a/musl-po/LOCALES b/musl-po/LOCALES
new file mode 100644
index 0000000..f8b10ae
--- /dev/null
+++ b/musl-po/LOCALES
@@ -0,0 +1,2 @@
+en_US
+ru_RU \ No newline at end of file
diff --git a/musl-po/en_US.po b/musl-po/en_US.po
new file mode 100644
index 0000000..25fb9bf
--- /dev/null
+++ b/musl-po/en_US.po
@@ -0,0 +1,769 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Language: en_US\n"
+"X-Source-Language: C\n"
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:1700
+#, c-format
+msgid "Error loading shared library %s: %m"
+msgstr "Error loading shared library %s: %m"
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:1603
+#, c-format
+msgid "%s: Error getting %zu bytes thread-local storage: %m\n"
+msgstr "%s: Error getting %zu bytes thread-local storage: %m\n"
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:1699
+#, c-format
+msgid "Library %s is not already loaded"
+msgstr "Library %s is not already loaded"
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:1503
+#, c-format
+msgid "%s: %s: Not a valid dynamic program\n"
+msgstr "%s: %s: Not a valid dynamic program\n"
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:1087
+#, c-format
+msgid "Error loading shared library %s: %m (needed by %s)"
+msgstr "Error loading shared library %s: %m (needed by %s)"
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:1158
+#, c-format
+msgid "Error relocating %s: RELRO protection failed: %m"
+msgstr "Error relocating %s: RELRO protection failed: %m"
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:875
+#, c-format
+msgid "Error allocating function descriptors for %s"
+msgstr "Error allocating function descriptors for %s"
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:448
+#, c-format
+msgid "Error relocating %s: unsupported relocation type %d"
+msgstr "Error relocating %s: unsupported relocation type %d"
+
+#: ../musl/musl-1.1.14/src/exit/assert.c:6
+#, c-format
+msgid "Assertion failed: %s (%s: %s: %d)\n"
+msgstr "Assertion failed: %s (%s: %s: %d)\n"
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:340
+#, c-format
+msgid "Error relocating %s: %s: symbol not found"
+msgstr "Error relocating %s: %s: symbol not found"
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:426
+#, c-format
+msgid "Error relocating %s: cannot allocate TLSDESC for %s"
+msgstr "Error relocating %s: cannot allocate TLSDESC for %s"
+
+#: ../musl/musl-1.1.14/src/ldso/dlerror.c:14
+msgid "Dynamic linker failed to allocate memory for error message"
+msgstr "Dynamic linker failed to allocate memory for error message"
+
+#: ../musl/musl-1.1.14/src/ldso/dlerror.c:60
+#: ../musl/musl-1.1.14/ldso/dynlink.c:1742
+#, c-format
+msgid "Invalid library handle %p"
+msgstr "Invalid library handle %p"
+
+#: ../musl/musl-1.1.14/src/ldso/dlopen.c:9
+msgid "Dynamic loading not supported"
+msgstr "Dynamic loading not supported"
+
+#: ../musl/musl-1.1.14/src/ldso/dlinfo.c:14
+#, c-format
+msgid "Unsupported request %d"
+msgstr "Unsupported request %d"
+
+#: ../musl/musl-1.1.14/src/ldso/__dlsym.c:9
+#: ../musl/musl-1.1.14/ldso/dynlink.c:1824
+#, c-format
+msgid "Symbol not found: %s"
+msgstr "Symbol not found: %s"
+
+#: ../musl/musl-1.1.14/src/malloc/malloc.c:143
+#, c-format
+msgid "missing from binmap!\n"
+msgstr "missing from binmap!\n"
+
+#: ../musl/musl-1.1.14/src/malloc/malloc.c:145
+#, c-format
+msgid "binmap wrongly contains %d!\n"
+msgstr "binmap wrongly contains %d!\n"
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:30
+msgid "label"
+msgstr "label"
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:30
+msgid "severity"
+msgstr "severity"
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:30
+msgid "text"
+msgstr "text"
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:30
+msgid "action"
+msgstr "action"
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:30
+msgid "tag"
+msgstr "tag"
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:36
+msgid "HALT: "
+msgstr "HALT: "
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:37
+msgid "ERROR: "
+msgstr "ERROR: "
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:38
+msgid "WARNING: "
+msgstr "WARNING: "
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:39
+msgid "INFO: "
+msgstr "INFO: "
+
+#: ../musl/musl-1.1.14/src/misc/getopt_long.c:84
+msgid ": option does not take an argument: "
+msgstr ": option does not take an argument: "
+
+#: ../musl/musl-1.1.14/src/misc/getopt_long.c:95
+#: ../musl/musl-1.1.14/src/misc/getopt.c:91
+msgid ": option requires an argument: "
+msgstr ": option requires an argument: "
+
+#: ../musl/musl-1.1.14/src/misc/getopt_long.c:112
+msgid ": option is ambiguous: "
+msgstr ": option is ambiguous: "
+
+#: ../musl/musl-1.1.14/src/misc/getopt_long.c:113
+#: ../musl/musl-1.1.14/src/misc/getopt.c:83
+msgid ": unrecognized option: "
+msgstr ": unrecognized option: "
+
+#: ../musl/musl-1.1.14/src/regex/regerror.c:13
+msgid "No error"
+msgstr "No error"
+
+#: ../musl/musl-1.1.14/src/string/strsignal.c:57
+msgid "Unknown signal"
+msgstr "Unknown signal"
+
+#: ../musl/musl-1.1.14/src/network/hstrerror.c:6
+msgid "Host not found"
+msgstr "Host not found"
+
+#: ../musl/musl-1.1.14/src/network/gai_strerror.c:5
+msgid "Invalid flags"
+msgstr "Invalid flags"
+
+#: ../musl/musl-1.1.14/src/time/strftime.c:89
+#, c-format
+msgid "%2d"
+msgstr "%2d"
+
+#: ../musl/musl-1.1.14/src/time/strftime.c:92
+msgid "%Y-%m-%d"
+msgstr "%Y-%m-%d"
+
+#: ../musl/musl-1.1.14/src/time/strftime.c:141
+msgid "\t"
+msgstr "\t"
+
+#: ../musl/musl-1.1.14/src/time/strftime.c:174
+#, c-format
+msgid "+%lld"
+msgstr "+%lld"
+
+#: ../musl/musl-1.1.14/src/time/strftime.c:184
+#, c-format
+msgid "%+.2d%.2d"
+msgstr "%+.2d%.2d"
+
+#: ../musl/musl-1.1.14/src/time/strftime.c:202
+#, c-format
+msgid "%0*lld"
+msgstr "%0*lld"
+
+msgid "Illegal byte sequence"
+msgstr "Illegal byte sequence"
+
+msgid "Domain error"
+msgstr "Domain error"
+
+msgid "Result not representable"
+msgstr "Result not representable"
+
+msgid "Not a tty"
+msgstr "Not a tty"
+
+msgid "Permission denied"
+msgstr "Permission denied"
+
+msgid "Operation not permitted"
+msgstr "Operation not permitted"
+
+msgid "No such file or directory"
+msgstr "No such file or directory"
+
+msgid "No such process"
+msgstr "No such process"
+
+msgid "File exists"
+msgstr "File exists"
+
+msgid "Value too large for data type"
+msgstr "Value too large for data type"
+
+msgid "No space left on device"
+msgstr "No space left on device"
+
+msgid "Resource busy"
+msgstr "Resource busy"
+
+msgid "Interrupted system call"
+msgstr "Interrupted system call"
+
+msgid "Resource temporarily unavailable"
+msgstr "Resource temporarily unavailable"
+
+msgid "Invalid seek"
+msgstr "Invalid seek"
+
+msgid "Cross-device link"
+msgstr "Cross-device link"
+
+msgid "Read-only file system"
+msgstr "Read-only file system"
+
+msgid "Directory not empty"
+msgstr "Directory not empty"
+
+msgid "Connection reset by peer"
+msgstr "Connection reset by peer"
+
+msgid "Operation timed out"
+msgstr "Operation timed out"
+
+msgid "Connection refused"
+msgstr "Connection refused"
+
+msgid "Host is down"
+msgstr "Host is down"
+
+msgid "Host is unreachable"
+msgstr "Host is unreachable"
+
+msgid "Address in use"
+msgstr "Address in use"
+
+msgid "Broken pipe"
+msgstr "Broken pipe"
+
+msgid "I/O error"
+msgstr "I/O error"
+
+msgid "No such device or address"
+msgstr "No such device or address"
+
+msgid "Block device required"
+msgstr "Block device required"
+
+msgid "No such device"
+msgstr "No such device"
+
+msgid "Not a directory"
+msgstr "Not a directory"
+
+msgid "Is a directory"
+msgstr "Is a directory"
+
+msgid "Text file busy"
+msgstr "Text file busy"
+
+msgid "Exec format error"
+msgstr "Exec format error"
+
+msgid "Invalid argument"
+msgstr "Invalid argument"
+
+msgid "Argument list too long"
+msgstr "Argument list too long"
+
+msgid "Symbolic link loop"
+msgstr "Symbolic link loop"
+
+msgid "Filename too long"
+msgstr "Filename too long"
+
+msgid "Too many open files in system"
+msgstr "Too many open files in system"
+
+msgid "No file descriptors available"
+msgstr "No file descriptors available"
+
+msgid "Bad file descriptor"
+msgstr "Bad file descriptor"
+
+msgid "No child process"
+msgstr "No child process"
+
+msgid "Bad address"
+msgstr "Bad address"
+
+msgid "File too large"
+msgstr "File too large"
+
+msgid "Too many links"
+msgstr "Too many links"
+
+msgid "No locks available"
+msgstr "No locks available"
+
+msgid "Resource deadlock would occur"
+msgstr "Resource deadlock would occur"
+
+msgid "State not recoverable"
+msgstr "State not recoverable"
+
+msgid "Previous owner died"
+msgstr "Previous owner died"
+
+msgid "Operation canceled"
+msgstr "Operation canceled"
+
+msgid "Function not implemented"
+msgstr "Function not implemented"
+
+msgid "No message of desired type"
+msgstr "No message of desired type"
+
+msgid "Identifier removed"
+msgstr "Identifier removed"
+
+msgid "Device not a stream"
+msgstr "Device not a stream"
+
+msgid "No data available"
+msgstr "No data available"
+
+msgid "Device timeout"
+msgstr "Device timeout"
+
+msgid "Out of streams resources"
+msgstr "Out of streams resources"
+
+msgid "Link has been severed"
+msgstr "Link has been severed"
+
+msgid "Protocol error"
+msgstr "Protocol error"
+
+msgid "Bad message"
+msgstr "Bad message"
+
+msgid "File descriptor in bad state"
+msgstr "File descriptor in bad state"
+
+msgid "Not a socket"
+msgstr "Not a socket"
+
+msgid "Destination address required"
+msgstr "Destination address required"
+
+msgid "Message too large"
+msgstr "Message too large"
+
+msgid "Protocol wrong type for socket"
+msgstr "Protocol wrong type for socket"
+
+msgid "Protocol not available"
+msgstr "Protocol not available"
+
+msgid "Protocol not supported"
+msgstr "Protocol not supported"
+
+msgid "Socket type not supported"
+msgstr "Socket type not supported"
+
+msgid "Not supported"
+msgstr "Not supported"
+
+msgid "Protocol family not supported"
+msgstr "Protocol family not supported"
+
+msgid "Address family not supported by protocol"
+msgstr "Address family not supported by protocol"
+
+msgid "Address not available"
+msgstr "Address not available"
+
+msgid "Network is down"
+msgstr "Network is down"
+
+msgid "Network unreachable"
+msgstr "Network unreachable"
+
+msgid "Connection reset by network"
+msgstr "Connection reset by network"
+
+msgid "Connection aborted"
+msgstr "Connection aborted"
+
+msgid "No buffer space available"
+msgstr "No buffer space available"
+
+msgid "Socket is connected"
+msgstr "Socket is connected"
+
+msgid "Socket not connected"
+msgstr "Socket not connected"
+
+msgid "Cannot send after socket shutdown"
+msgstr "Cannot send after socket shutdown"
+
+msgid "Operation already in progress"
+msgstr "Operation already in progress"
+
+msgid "Operation in progress"
+msgstr "Operation in progress"
+
+msgid "Stale file handle"
+msgstr "Stale file handle"
+
+msgid "Remote I/O error"
+msgstr "Remote I/O error"
+
+msgid "Quota exceeded"
+msgstr "Quota exceeded"
+
+msgid "No medium found"
+msgstr "No medium found"
+
+msgid "Wrong medium type"
+msgstr "Wrong medium type"
+
+msgid "No error information"
+msgstr "No error information"
+
+msgid "Sun"
+msgstr "Sun"
+
+msgid "Mon"
+msgstr "Mon"
+
+msgid "Tue"
+msgstr "Tue"
+
+msgid "Wed"
+msgstr "Wed"
+
+msgid "Thu"
+msgstr "Thu"
+
+msgid "Fri"
+msgstr "Fri"
+
+msgid "Sat"
+msgstr "Sat"
+
+msgid "Sunday"
+msgstr "Sunday"
+
+msgid "Monday"
+msgstr "Monday"
+
+msgid "Tuesday"
+msgstr "Tuesday"
+
+msgid "Wednesday"
+msgstr "Wednesday"
+
+msgid "Thursday"
+msgstr "Thursday"
+
+msgid "Friday"
+msgstr "Friday"
+
+msgid "Saturday"
+msgstr "Saturday"
+
+msgid "Jan"
+msgstr "Jan"
+
+msgid "Feb"
+msgstr "Feb"
+
+msgid "Mar"
+msgstr "Mar"
+
+msgid "Apr"
+msgstr "Apr"
+
+msgid "May"
+msgstr "May"
+
+msgid "Jun"
+msgstr "Jun"
+
+msgid "Jul"
+msgstr "Jul"
+
+msgid "Aug"
+msgstr "Aug"
+
+msgid "Sep"
+msgstr "Sep"
+
+msgid "Oct"
+msgstr "Oct"
+
+msgid "Nov"
+msgstr "Nov"
+
+msgid "Dec"
+msgstr "Dec"
+
+msgid "January"
+msgstr "January"
+
+msgid "February"
+msgstr "February"
+
+msgid "March"
+msgstr "March"
+
+msgid "April"
+msgstr "April"
+
+msgid "June"
+msgstr "June"
+
+msgid "July"
+msgstr "July"
+
+msgid "August"
+msgstr "August"
+
+msgid "September"
+msgstr "September"
+
+msgid "October"
+msgstr "October"
+
+msgid "November"
+msgstr "November"
+
+msgid "December"
+msgstr "December"
+
+msgid "AM"
+msgstr "AM"
+
+msgid "PM"
+msgstr "PM"
+
+msgid "%a %b %e %T %Y"
+msgstr "%a %b %e %T %Y"
+
+#: ../musl/musl-1.1.14/src/time/strptime.c:54
+#: ../musl/musl-1.1.14/src/time/strftime.c:86
+msgid "%m/%d/%y"
+msgstr "%m/%d/%y"
+
+#: ../musl/musl-1.1.14/src/time/strptime.c:106
+#: ../musl/musl-1.1.14/src/time/strftime.c:130
+msgid "%H:%M"
+msgstr "%H:%M"
+
+#: ../musl/musl-1.1.14/src/time/strptime.c:115
+#: ../musl/musl-1.1.14/src/time/strftime.c:143
+msgid "%H:%M:%S"
+msgstr "%H:%M:%S"
+
+msgid "%I:%M:%S %p"
+msgstr "%I:%M:%S %p"
+
+msgid "0123456789"
+msgstr "0123456789"
+
+msgid "%a %b %e %T %Y %Z"
+msgstr "%a %b %e %T %Y %Z"
+
+msgid "^[yY]"
+msgstr "^[yY]"
+
+msgid "^[nN]"
+msgstr "^[nN]"
+
+msgid "yes"
+msgstr "yes"
+
+msgid "no"
+msgstr "no"
+
+msgid "."
+msgstr "."
+
+msgid "Name does not resolve"
+msgstr "Name does not resolve"
+
+msgid "Try again"
+msgstr "Try again"
+
+msgid "Non-recoverable error"
+msgstr "Non-recoverable error"
+
+msgid "Unknown error"
+msgstr "Unknown error"
+
+msgid "Unrecognized address family or invalid length"
+msgstr "Unrecognized address family or invalid length"
+
+msgid "Unrecognized socket type"
+msgstr "Unrecognized socket type"
+
+msgid "Unrecognized service"
+msgstr "Unrecognized service"
+
+msgid "System error"
+msgstr "System error"
+
+msgid "Overflow"
+msgstr "Overflow"
+
+msgid "No match"
+msgstr "No match"
+
+msgid "Invalid regexp"
+msgstr "Invalid regexp"
+
+msgid "Unknown collating element"
+msgstr "Unknown collating element"
+
+msgid "Unknown character class name"
+msgstr "Unknown character class name"
+
+msgid "Trailing backslash"
+msgstr "Trailing backslash"
+
+msgid "Invalid back reference"
+msgstr "Invalid back reference"
+
+msgid "Missing ']'"
+msgstr "Missing ']'"
+
+msgid "Missing ')'"
+msgstr "Missing ')'"
+
+msgid "Missing '}'"
+msgstr "Missing '}'"
+
+msgid "Invalid contents of {}"
+msgstr "Invalid contents of {}"
+
+msgid "Invalid character range"
+msgstr "Invalid character range"
+
+msgid "Repetition not preceded by valid expression"
+msgstr "Repetition not preceded by valid expression"
+
+msgid "Hangup"
+msgstr "Hangup"
+
+msgid "Interrupt"
+msgstr "Interrupt"
+
+msgid "Quit"
+msgstr "Quit"
+
+msgid "Illegal instruction"
+msgstr "Illegal instruction"
+
+msgid "Trace/breakpoint trap"
+msgstr "Trace/breakpoint trap"
+
+msgid "Aborted"
+msgstr "Aborted"
+
+msgid "Bus error"
+msgstr "Bus error"
+
+msgid "Arithmetic exception"
+msgstr "Arithmetic exception"
+
+msgid "Killed"
+msgstr "Killed"
+
+msgid "User defined signal 1"
+msgstr "User defined signal 1"
+
+msgid "Segmentation fault"
+msgstr "Segmentation fault"
+
+msgid "User defined signal 2"
+msgstr "User defined signal 2"
+
+msgid "Alarm clock"
+msgstr "Alarm clock"
+
+msgid "Terminated"
+msgstr "Terminated"
+
+msgid "Stack fault"
+msgstr "Stack fault"
+
+msgid "Child process status"
+msgstr "Child process status"
+
+msgid "Continued"
+msgstr "Continued"
+
+msgid "Stopped (signal)"
+msgstr "Stopped (signal)"
+
+msgid "Stopped"
+msgstr "Stopped"
+
+msgid "Stopped (tty input)"
+msgstr "Stopped (tty input)"
+
+msgid "Stopped (tty output)"
+msgstr "Stopped (tty output)"
+
+msgid "Urgent I/O condition"
+msgstr "Urgent I/O condition"
+
+msgid "CPU time limit exceeded"
+msgstr "CPU time limit exceeded"
+
+msgid "File size limit exceeded"
+msgstr "File size limit exceeded"
+
+msgid "Virtual timer expired"
+msgstr "Virtual timer expired"
+
+msgid "Profiling timer expired"
+msgstr "Profiling timer expired"
+
+msgid "Window changed"
+msgstr "Window changed"
+
+msgid "I/O possible"
+msgstr "I/O possible"
+
+msgid "Power failure"
+msgstr "Power failure"
+
+msgid "Bad system call"
+msgstr "Bad system call"
diff --git a/musl-po/musl.pot b/musl-po/musl.pot
new file mode 100644
index 0000000..6ec197a
--- /dev/null
+++ b/musl-po/musl.pot
@@ -0,0 +1,760 @@
+#: ../musl/musl-1.1.14/ldso/dynlink.c:1700
+#, c-format
+msgid "Error loading shared library %s: %m"
+msgstr ""
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:1603
+#, c-format
+msgid "%s: Error getting %zu bytes thread-local storage: %m\n"
+msgstr ""
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:1699
+#, c-format
+msgid "Library %s is not already loaded"
+msgstr ""
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:1503
+#, c-format
+msgid "%s: %s: Not a valid dynamic program\n"
+msgstr ""
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:1087
+#, c-format
+msgid "Error loading shared library %s: %m (needed by %s)"
+msgstr ""
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:1158
+#, c-format
+msgid "Error relocating %s: RELRO protection failed: %m"
+msgstr ""
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:875
+#, c-format
+msgid "Error allocating function descriptors for %s"
+msgstr ""
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:448
+#, c-format
+msgid "Error relocating %s: unsupported relocation type %d"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/exit/assert.c:6
+#, c-format
+msgid "Assertion failed: %s (%s: %s: %d)\n"
+msgstr ""
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:340
+#, c-format
+msgid "Error relocating %s: %s: symbol not found"
+msgstr ""
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:426
+#, c-format
+msgid "Error relocating %s: cannot allocate TLSDESC for %s"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/ldso/dlerror.c:14
+msgid "Dynamic linker failed to allocate memory for error message"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/ldso/dlerror.c:60
+#: ../musl/musl-1.1.14/ldso/dynlink.c:1742
+#, c-format
+msgid "Invalid library handle %p"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/ldso/dlopen.c:9
+msgid "Dynamic loading not supported"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/ldso/dlinfo.c:14
+#, c-format
+msgid "Unsupported request %d"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/ldso/__dlsym.c:9
+#: ../musl/musl-1.1.14/ldso/dynlink.c:1824
+#, c-format
+msgid "Symbol not found: %s"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/malloc/malloc.c:143
+#, c-format
+msgid "missing from binmap!\n"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/malloc/malloc.c:145
+#, c-format
+msgid "binmap wrongly contains %d!\n"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:30
+msgid "label"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:30
+msgid "severity"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:30
+msgid "text"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:30
+msgid "action"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:30
+msgid "tag"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:36
+msgid "HALT: "
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:37
+msgid "ERROR: "
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:38
+msgid "WARNING: "
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:39
+msgid "INFO: "
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/misc/getopt_long.c:84
+msgid ": option does not take an argument: "
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/misc/getopt_long.c:95
+#: ../musl/musl-1.1.14/src/misc/getopt.c:91
+msgid ": option requires an argument: "
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/misc/getopt_long.c:112
+msgid ": option is ambiguous: "
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/misc/getopt_long.c:113
+#: ../musl/musl-1.1.14/src/misc/getopt.c:83
+msgid ": unrecognized option: "
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/regex/regerror.c:13
+msgid "No error"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/string/strsignal.c:57
+msgid "Unknown signal"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/network/hstrerror.c:6
+msgid "Host not found"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/network/gai_strerror.c:5
+msgid "Invalid flags"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/time/strftime.c:89
+#, c-format
+msgid "%2d"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/time/strftime.c:92
+msgid "%Y-%m-%d"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/time/strftime.c:141
+msgid "\t"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/time/strftime.c:174
+#, c-format
+msgid "+%lld"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/time/strftime.c:184
+#, c-format
+msgid "%+.2d%.2d"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/time/strftime.c:202
+#, c-format
+msgid "%0*lld"
+msgstr ""
+
+msgid "Illegal byte sequence"
+msgstr ""
+
+msgid "Domain error"
+msgstr ""
+
+msgid "Result not representable"
+msgstr ""
+
+msgid "Not a tty"
+msgstr ""
+
+msgid "Permission denied"
+msgstr ""
+
+msgid "Operation not permitted"
+msgstr ""
+
+msgid "No such file or directory"
+msgstr ""
+
+msgid "No such process"
+msgstr ""
+
+msgid "File exists"
+msgstr ""
+
+msgid "Value too large for data type"
+msgstr ""
+
+msgid "No space left on device"
+msgstr ""
+
+msgid "Resource busy"
+msgstr ""
+
+msgid "Interrupted system call"
+msgstr ""
+
+msgid "Resource temporarily unavailable"
+msgstr ""
+
+msgid "Invalid seek"
+msgstr ""
+
+msgid "Cross-device link"
+msgstr ""
+
+msgid "Read-only file system"
+msgstr ""
+
+msgid "Directory not empty"
+msgstr ""
+
+msgid "Connection reset by peer"
+msgstr ""
+
+msgid "Operation timed out"
+msgstr ""
+
+msgid "Connection refused"
+msgstr ""
+
+msgid "Host is down"
+msgstr ""
+
+msgid "Host is unreachable"
+msgstr ""
+
+msgid "Address in use"
+msgstr ""
+
+msgid "Broken pipe"
+msgstr ""
+
+msgid "I/O error"
+msgstr ""
+
+msgid "No such device or address"
+msgstr ""
+
+msgid "Block device required"
+msgstr ""
+
+msgid "No such device"
+msgstr ""
+
+msgid "Not a directory"
+msgstr ""
+
+msgid "Is a directory"
+msgstr ""
+
+msgid "Text file busy"
+msgstr ""
+
+msgid "Exec format error"
+msgstr ""
+
+msgid "Invalid argument"
+msgstr ""
+
+msgid "Argument list too long"
+msgstr ""
+
+msgid "Symbolic link loop"
+msgstr ""
+
+msgid "Filename too long"
+msgstr ""
+
+msgid "Too many open files in system"
+msgstr ""
+
+msgid "No file descriptors available"
+msgstr ""
+
+msgid "Bad file descriptor"
+msgstr ""
+
+msgid "No child process"
+msgstr ""
+
+msgid "Bad address"
+msgstr ""
+
+msgid "File too large"
+msgstr ""
+
+msgid "Too many links"
+msgstr ""
+
+msgid "No locks available"
+msgstr ""
+
+msgid "Resource deadlock would occur"
+msgstr ""
+
+msgid "State not recoverable"
+msgstr ""
+
+msgid "Previous owner died"
+msgstr ""
+
+msgid "Operation canceled"
+msgstr ""
+
+msgid "Function not implemented"
+msgstr ""
+
+msgid "No message of desired type"
+msgstr ""
+
+msgid "Identifier removed"
+msgstr ""
+
+msgid "Device not a stream"
+msgstr ""
+
+msgid "No data available"
+msgstr ""
+
+msgid "Device timeout"
+msgstr ""
+
+msgid "Out of streams resources"
+msgstr ""
+
+msgid "Link has been severed"
+msgstr ""
+
+msgid "Protocol error"
+msgstr ""
+
+msgid "Bad message"
+msgstr ""
+
+msgid "File descriptor in bad state"
+msgstr ""
+
+msgid "Not a socket"
+msgstr ""
+
+msgid "Destination address required"
+msgstr ""
+
+msgid "Message too large"
+msgstr ""
+
+msgid "Protocol wrong type for socket"
+msgstr ""
+
+msgid "Protocol not available"
+msgstr ""
+
+msgid "Protocol not supported"
+msgstr ""
+
+msgid "Socket type not supported"
+msgstr ""
+
+msgid "Not supported"
+msgstr ""
+
+msgid "Protocol family not supported"
+msgstr ""
+
+msgid "Address family not supported by protocol"
+msgstr ""
+
+msgid "Address not available"
+msgstr ""
+
+msgid "Network is down"
+msgstr ""
+
+msgid "Network unreachable"
+msgstr ""
+
+msgid "Connection reset by network"
+msgstr ""
+
+msgid "Connection aborted"
+msgstr ""
+
+msgid "No buffer space available"
+msgstr ""
+
+msgid "Socket is connected"
+msgstr ""
+
+msgid "Socket not connected"
+msgstr ""
+
+msgid "Cannot send after socket shutdown"
+msgstr ""
+
+msgid "Operation already in progress"
+msgstr ""
+
+msgid "Operation in progress"
+msgstr ""
+
+msgid "Stale file handle"
+msgstr ""
+
+msgid "Remote I/O error"
+msgstr ""
+
+msgid "Quota exceeded"
+msgstr ""
+
+msgid "No medium found"
+msgstr ""
+
+msgid "Wrong medium type"
+msgstr ""
+
+msgid "No error information"
+msgstr ""
+
+msgid "Sun"
+msgstr ""
+
+msgid "Mon"
+msgstr ""
+
+msgid "Tue"
+msgstr ""
+
+msgid "Wed"
+msgstr ""
+
+msgid "Thu"
+msgstr ""
+
+msgid "Fri"
+msgstr ""
+
+msgid "Sat"
+msgstr ""
+
+msgid "Sunday"
+msgstr ""
+
+msgid "Monday"
+msgstr ""
+
+msgid "Tuesday"
+msgstr ""
+
+msgid "Wednesday"
+msgstr ""
+
+msgid "Thursday"
+msgstr ""
+
+msgid "Friday"
+msgstr ""
+
+msgid "Saturday"
+msgstr ""
+
+msgid "Jan"
+msgstr ""
+
+msgid "Feb"
+msgstr ""
+
+msgid "Mar"
+msgstr ""
+
+msgid "Apr"
+msgstr ""
+
+msgid "May"
+msgstr ""
+
+msgid "Jun"
+msgstr ""
+
+msgid "Jul"
+msgstr ""
+
+msgid "Aug"
+msgstr ""
+
+msgid "Sep"
+msgstr ""
+
+msgid "Oct"
+msgstr ""
+
+msgid "Nov"
+msgstr ""
+
+msgid "Dec"
+msgstr ""
+
+msgid "January"
+msgstr ""
+
+msgid "February"
+msgstr ""
+
+msgid "March"
+msgstr ""
+
+msgid "April"
+msgstr ""
+
+msgid "June"
+msgstr ""
+
+msgid "July"
+msgstr ""
+
+msgid "August"
+msgstr ""
+
+msgid "September"
+msgstr ""
+
+msgid "October"
+msgstr ""
+
+msgid "November"
+msgstr ""
+
+msgid "December"
+msgstr ""
+
+msgid "AM"
+msgstr ""
+
+msgid "PM"
+msgstr ""
+
+msgid "%a %b %e %T %Y"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/time/strptime.c:54
+#: ../musl/musl-1.1.14/src/time/strftime.c:86
+msgid "%m/%d/%y"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/time/strptime.c:106
+#: ../musl/musl-1.1.14/src/time/strftime.c:130
+msgid "%H:%M"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/time/strptime.c:115
+#: ../musl/musl-1.1.14/src/time/strftime.c:143
+msgid "%H:%M:%S"
+msgstr ""
+
+msgid "%I:%M:%S %p"
+msgstr ""
+
+msgid "0123456789"
+msgstr ""
+
+msgid "%a %b %e %T %Y %Z"
+msgstr ""
+
+msgid "^[yY]"
+msgstr ""
+
+msgid "^[nN]"
+msgstr ""
+
+msgid "yes"
+msgstr ""
+
+msgid "no"
+msgstr ""
+
+msgid "."
+msgstr ""
+
+msgid "Name does not resolve"
+msgstr ""
+
+msgid "Try again"
+msgstr ""
+
+msgid "Non-recoverable error"
+msgstr ""
+
+msgid "Unknown error"
+msgstr ""
+
+msgid "Unrecognized address family or invalid length"
+msgstr ""
+
+msgid "Unrecognized socket type"
+msgstr ""
+
+msgid "Unrecognized service"
+msgstr ""
+
+msgid "System error"
+msgstr ""
+
+msgid "Overflow"
+msgstr ""
+
+msgid "No match"
+msgstr ""
+
+msgid "Invalid regexp"
+msgstr ""
+
+msgid "Unknown collating element"
+msgstr ""
+
+msgid "Unknown character class name"
+msgstr ""
+
+msgid "Trailing backslash"
+msgstr ""
+
+msgid "Invalid back reference"
+msgstr ""
+
+msgid "Missing ']'"
+msgstr ""
+
+msgid "Missing ')'"
+msgstr ""
+
+msgid "Missing '}'"
+msgstr ""
+
+msgid "Invalid contents of {}"
+msgstr ""
+
+msgid "Invalid character range"
+msgstr ""
+
+msgid "Repetition not preceded by valid expression"
+msgstr ""
+
+msgid "Hangup"
+msgstr ""
+
+msgid "Interrupt"
+msgstr ""
+
+msgid "Quit"
+msgstr ""
+
+msgid "Illegal instruction"
+msgstr ""
+
+msgid "Trace/breakpoint trap"
+msgstr ""
+
+msgid "Aborted"
+msgstr ""
+
+msgid "Bus error"
+msgstr ""
+
+msgid "Arithmetic exception"
+msgstr ""
+
+msgid "Killed"
+msgstr ""
+
+msgid "User defined signal 1"
+msgstr ""
+
+msgid "Segmentation fault"
+msgstr ""
+
+msgid "User defined signal 2"
+msgstr ""
+
+msgid "Alarm clock"
+msgstr ""
+
+msgid "Terminated"
+msgstr ""
+
+msgid "Stack fault"
+msgstr ""
+
+msgid "Child process status"
+msgstr ""
+
+msgid "Continued"
+msgstr ""
+
+msgid "Stopped (signal)"
+msgstr ""
+
+msgid "Stopped"
+msgstr ""
+
+msgid "Stopped (tty input)"
+msgstr ""
+
+msgid "Stopped (tty output)"
+msgstr ""
+
+msgid "Urgent I/O condition"
+msgstr ""
+
+msgid "CPU time limit exceeded"
+msgstr ""
+
+msgid "File size limit exceeded"
+msgstr ""
+
+msgid "Virtual timer expired"
+msgstr ""
+
+msgid "Profiling timer expired"
+msgstr ""
+
+msgid "Window changed"
+msgstr ""
+
+msgid "I/O possible"
+msgstr ""
+
+msgid "Power failure"
+msgstr ""
+
+msgid "Bad system call"
+msgstr ""
diff --git a/musl-po/ru_RU.po b/musl-po/ru_RU.po
new file mode 100644
index 0000000..3a18e1f
--- /dev/null
+++ b/musl-po/ru_RU.po
@@ -0,0 +1,769 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Language: ru_RU\n"
+"X-Source-Language: C\n"
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:1700
+#, c-format
+msgid "Error loading shared library %s: %m"
+msgstr "Ошибка загрузки разделяемой библиотеки %s: %m"
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:1603
+#, fuzzy, c-format
+msgid "%s: Error getting %zu bytes thread-local storage: %m\n"
+msgstr "%s: Ошибка получения %zu байт хранилища потока: %m\n"
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:1699
+#, c-format
+msgid "Library %s is not already loaded"
+msgstr "Библиотека %s еще не загружена"
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:1503
+#, fuzzy, c-format
+msgid "%s: %s: Not a valid dynamic program\n"
+msgstr "%s: %s: Не является динамической программой\n"
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:1087
+#, c-format
+msgid "Error loading shared library %s: %m (needed by %s)"
+msgstr "Ошибка загрузки разделяемой библиотеки %s: %m (требуется для %s)"
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:1158
+#, c-format
+msgid "Error relocating %s: RELRO protection failed: %m"
+msgstr "Ошибка релокации %s: ошибка защиты RELRO: %m"
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:875
+#, c-format
+msgid "Error allocating function descriptors for %s"
+msgstr "Ошибка создания дескрипторов функции для %s"
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:448
+#, c-format
+msgid "Error relocating %s: unsupported relocation type %d"
+msgstr "Ошибка релокации %s: неверный тип релокации %d"
+
+#: ../musl/musl-1.1.14/src/exit/assert.c:6
+#, fuzzy, c-format
+msgid "Assertion failed: %s (%s: %s: %d)\n"
+msgstr "Неверное сравнение: %s (%s: %s: %d)\n"
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:340
+#, c-format
+msgid "Error relocating %s: %s: symbol not found"
+msgstr "Ошибка релокации %s: %s: символ не найден"
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:426
+#, c-format
+msgid "Error relocating %s: cannot allocate TLSDESC for %s"
+msgstr "Ошибка релокации %s: невозможно создать объект TLSDESC для %s"
+
+#: ../musl/musl-1.1.14/src/ldso/dlerror.c:14
+msgid "Dynamic linker failed to allocate memory for error message"
+msgstr "Линкер не смог выделить память для сообщения об ошибке"
+
+#: ../musl/musl-1.1.14/src/ldso/dlerror.c:60
+#: ../musl/musl-1.1.14/ldso/dynlink.c:1742
+#, c-format
+msgid "Invalid library handle %p"
+msgstr "Неверный дескриптор библиотеки %p"
+
+#: ../musl/musl-1.1.14/src/ldso/dlopen.c:9
+msgid "Dynamic loading not supported"
+msgstr "Динамическая загрузка не поддерживается"
+
+#: ../musl/musl-1.1.14/src/ldso/dlinfo.c:14
+#, c-format
+msgid "Unsupported request %d"
+msgstr "Неподдерживаемый запрос %d"
+
+#: ../musl/musl-1.1.14/src/ldso/__dlsym.c:9
+#: ../musl/musl-1.1.14/ldso/dynlink.c:1824
+#, c-format
+msgid "Symbol not found: %s"
+msgstr "Символ не найден: %s"
+
+#: ../musl/musl-1.1.14/src/malloc/malloc.c:143
+#, fuzzy, c-format
+msgid "missing from binmap!\n"
+msgstr "не найдено в памяти!\n"
+
+#: ../musl/musl-1.1.14/src/malloc/malloc.c:145
+#, fuzzy, c-format
+msgid "binmap wrongly contains %d!\n"
+msgstr "память ошибочно содержит %d!\n"
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:30
+msgid "label"
+msgstr "надпись"
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:30
+msgid "severity"
+msgstr "срочность"
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:30
+msgid "text"
+msgstr "текст"
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:30
+msgid "action"
+msgstr "действие"
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:30
+msgid "tag"
+msgstr "тэг"
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:36
+msgid "HALT: "
+msgstr "КРИТИЧЕСКОЕ:"
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:37
+msgid "ERROR: "
+msgstr "ОШИБКА:"
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:38
+msgid "WARNING: "
+msgstr "ПРЕДУПРЕЖДЕНИЕ:"
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:39
+msgid "INFO: "
+msgstr "ИНФО:"
+
+#: ../musl/musl-1.1.14/src/misc/getopt_long.c:84
+msgid ": option does not take an argument: "
+msgstr ": опция не требует аргумента: "
+
+#: ../musl/musl-1.1.14/src/misc/getopt_long.c:95
+#: ../musl/musl-1.1.14/src/misc/getopt.c:91
+msgid ": option requires an argument: "
+msgstr ": опция требует аргумент: "
+
+#: ../musl/musl-1.1.14/src/misc/getopt_long.c:112
+msgid ": option is ambiguous: "
+msgstr ": опция избыточна: "
+
+#: ../musl/musl-1.1.14/src/misc/getopt_long.c:113
+#: ../musl/musl-1.1.14/src/misc/getopt.c:83
+msgid ": unrecognized option: "
+msgstr ": опция не найдена: "
+
+#: ../musl/musl-1.1.14/src/regex/regerror.c:13
+msgid "No error"
+msgstr "Нет ошибки"
+
+#: ../musl/musl-1.1.14/src/string/strsignal.c:57
+msgid "Unknown signal"
+msgstr "Неизвестный сигнал"
+
+#: ../musl/musl-1.1.14/src/network/hstrerror.c:6
+msgid "Host not found"
+msgstr "Сервер не найден"
+
+#: ../musl/musl-1.1.14/src/network/gai_strerror.c:5
+msgid "Invalid flags"
+msgstr "Неверные флаги"
+
+#: ../musl/musl-1.1.14/src/time/strftime.c:89
+#, c-format
+msgid "%2d"
+msgstr "%2d"
+
+#: ../musl/musl-1.1.14/src/time/strftime.c:92
+msgid "%Y-%m-%d"
+msgstr "%d.%m.%Y"
+
+#: ../musl/musl-1.1.14/src/time/strftime.c:141
+msgid "\t"
+msgstr "\t"
+
+#: ../musl/musl-1.1.14/src/time/strftime.c:174
+#, c-format
+msgid "+%lld"
+msgstr "+%lld"
+
+#: ../musl/musl-1.1.14/src/time/strftime.c:184
+#, c-format
+msgid "%+.2d%.2d"
+msgstr "%+.2d%.2d"
+
+#: ../musl/musl-1.1.14/src/time/strftime.c:202
+#, c-format
+msgid "%0*lld"
+msgstr "%0*lld"
+
+msgid "Illegal byte sequence"
+msgstr "Неверная последовательность байт"
+
+msgid "Domain error"
+msgstr "Ошибка домена"
+
+msgid "Result not representable"
+msgstr "Невозможно отобразить результат"
+
+msgid "Not a tty"
+msgstr "Не tty"
+
+msgid "Permission denied"
+msgstr "Доступ запрещён"
+
+msgid "Operation not permitted"
+msgstr "Операция не разрешена"
+
+msgid "No such file or directory"
+msgstr "Нет такого файла или каталога"
+
+msgid "No such process"
+msgstr "Нет такого процесса"
+
+msgid "File exists"
+msgstr "Файл существует"
+
+msgid "Value too large for data type"
+msgstr "Значение слишком большое для типа данных"
+
+msgid "No space left on device"
+msgstr "Нет места на устройстве"
+
+msgid "Resource busy"
+msgstr "Ресурс занят"
+
+msgid "Interrupted system call"
+msgstr "Системный вызов прерван"
+
+msgid "Resource temporarily unavailable"
+msgstr "Ресурс временно недоступен"
+
+msgid "Invalid seek"
+msgstr "Неверный адрес"
+
+msgid "Cross-device link"
+msgstr "Ссылка между устройствами"
+
+msgid "Read-only file system"
+msgstr "Файловая система только для чтения"
+
+msgid "Directory not empty"
+msgstr "Каталог не пуст"
+
+msgid "Connection reset by peer"
+msgstr "Соединение сброшено адресатом"
+
+msgid "Operation timed out"
+msgstr "Время операции истекло"
+
+msgid "Connection refused"
+msgstr "В соединении отказано"
+
+msgid "Host is down"
+msgstr "Сервер выключен"
+
+msgid "Host is unreachable"
+msgstr "Сервер недоступен"
+
+msgid "Address in use"
+msgstr "Адрес используется"
+
+msgid "Broken pipe"
+msgstr "Неверный проброс"
+
+msgid "I/O error"
+msgstr "Ошибка ввода-вывода"
+
+msgid "No such device or address"
+msgstr "Нет такого устройства или адреса"
+
+msgid "Block device required"
+msgstr "Требуется блочное устройство"
+
+msgid "No such device"
+msgstr "Нет такого устройства"
+
+msgid "Not a directory"
+msgstr "Не каталог"
+
+msgid "Is a directory"
+msgstr "Это каталог"
+
+msgid "Text file busy"
+msgstr "Текстовый файл занят"
+
+msgid "Exec format error"
+msgstr "Неверный формат выполнения"
+
+msgid "Invalid argument"
+msgstr "Неверные аргументы"
+
+msgid "Argument list too long"
+msgstr "Список аргументов слишком длинный"
+
+msgid "Symbolic link loop"
+msgstr "Цикл символических ссылок"
+
+msgid "Filename too long"
+msgstr "Имя файла слишком длинное"
+
+msgid "Too many open files in system"
+msgstr "Слишком много открытых файлов в системе"
+
+msgid "No file descriptors available"
+msgstr "Файловые дескрипторы недоступны"
+
+msgid "Bad file descriptor"
+msgstr "Неверный дескриптор файла"
+
+msgid "No child process"
+msgstr "Нет дочернего процесса"
+
+msgid "Bad address"
+msgstr "Неверный адрес"
+
+msgid "File too large"
+msgstr "Файл слишком большой"
+
+msgid "Too many links"
+msgstr "Слишком много ссылок"
+
+msgid "No locks available"
+msgstr "Блокировки недоступны"
+
+msgid "Resource deadlock would occur"
+msgstr "Произойдет дедлок ресурса"
+
+msgid "State not recoverable"
+msgstr "Состояние невосстановимо"
+
+msgid "Previous owner died"
+msgstr "Предыдущий владелец завершен"
+
+msgid "Operation canceled"
+msgstr "Операция отменена"
+
+msgid "Function not implemented"
+msgstr "Функция не реализована"
+
+msgid "No message of desired type"
+msgstr "Нет сообщения данного типа"
+
+msgid "Identifier removed"
+msgstr "Идентификатор удален"
+
+msgid "Device not a stream"
+msgstr "Устройство не является потоком"
+
+msgid "No data available"
+msgstr "Нет доступных данных"
+
+msgid "Device timeout"
+msgstr "Время ожидания устройства истеклов"
+
+msgid "Out of streams resources"
+msgstr "Нет свободный потоков"
+
+msgid "Link has been severed"
+msgstr "Ссылка была удалена"
+
+msgid "Protocol error"
+msgstr "Ошибка протокола"
+
+msgid "Bad message"
+msgstr "Неверное сообщение"
+
+msgid "File descriptor in bad state"
+msgstr "Неверное состояние файлового дескриптора"
+
+msgid "Not a socket"
+msgstr "Не сокет"
+
+msgid "Destination address required"
+msgstr "Требуется адрес назначения"
+
+msgid "Message too large"
+msgstr "Сообщение слишком большое"
+
+msgid "Protocol wrong type for socket"
+msgstr "Неверный тип протокола для сокета"
+
+msgid "Protocol not available"
+msgstr "Протокол не доступен"
+
+msgid "Protocol not supported"
+msgstr "Протокол не поддерживается"
+
+msgid "Socket type not supported"
+msgstr "Тип сокета не поддерживается"
+
+msgid "Not supported"
+msgstr "Не поддерживается"
+
+msgid "Protocol family not supported"
+msgstr "Семейство протоколов не поддерживается"
+
+msgid "Address family not supported by protocol"
+msgstr "Семейство адресов не поддерживается протоколом"
+
+msgid "Address not available"
+msgstr "Адрес не доступен"
+
+msgid "Network is down"
+msgstr "Сеть выключена"
+
+msgid "Network unreachable"
+msgstr "Сеть недоступна"
+
+msgid "Connection reset by network"
+msgstr "Соединение сброшено сетью"
+
+msgid "Connection aborted"
+msgstr "Соединение отменено"
+
+msgid "No buffer space available"
+msgstr "Нет свободного пространства буфера"
+
+msgid "Socket is connected"
+msgstr "Сокет подключен"
+
+msgid "Socket not connected"
+msgstr "Сокет не подключен"
+
+msgid "Cannot send after socket shutdown"
+msgstr "Невозможно отправить после отключения сокета"
+
+msgid "Operation already in progress"
+msgstr "Операция уже выполняется"
+
+msgid "Operation in progress"
+msgstr "Операция выполняется"
+
+msgid "Stale file handle"
+msgstr "Зависший файловый дескриптор"
+
+msgid "Remote I/O error"
+msgstr "Удаленная ошибка ввода-вывода"
+
+msgid "Quota exceeded"
+msgstr "Квота исчерпана"
+
+msgid "No medium found"
+msgstr "Носитель не найден"
+
+msgid "Wrong medium type"
+msgstr "Неверный тип носителя"
+
+msgid "No error information"
+msgstr "Нет информации об ошибке"
+
+msgid "Sun"
+msgstr "Вс"
+
+msgid "Mon"
+msgstr "Пн"
+
+msgid "Tue"
+msgstr "Вт"
+
+msgid "Wed"
+msgstr "Ср"
+
+msgid "Thu"
+msgstr "Чт"
+
+msgid "Fri"
+msgstr "Пт"
+
+msgid "Sat"
+msgstr "Сб"
+
+msgid "Sunday"
+msgstr "Воскресенье"
+
+msgid "Monday"
+msgstr "Понедельник"
+
+msgid "Tuesday"
+msgstr "Вторник"
+
+msgid "Wednesday"
+msgstr "Среда"
+
+msgid "Thursday"
+msgstr "Четверг"
+
+msgid "Friday"
+msgstr "Пятница"
+
+msgid "Saturday"
+msgstr "Суббота"
+
+msgid "Jan"
+msgstr "Янв"
+
+msgid "Feb"
+msgstr "Фев"
+
+msgid "Mar"
+msgstr "Мар"
+
+msgid "Apr"
+msgstr "Апр"
+
+msgid "May"
+msgstr "Май"
+
+msgid "Jun"
+msgstr "Июн"
+
+msgid "Jul"
+msgstr "Июл"
+
+msgid "Aug"
+msgstr "Авг"
+
+msgid "Sep"
+msgstr "Сеп"
+
+msgid "Oct"
+msgstr "Окт"
+
+msgid "Nov"
+msgstr "Ноя"
+
+msgid "Dec"
+msgstr "Дек"
+
+msgid "January"
+msgstr "Январь"
+
+msgid "February"
+msgstr "Февраль"
+
+msgid "March"
+msgstr "Март"
+
+msgid "April"
+msgstr "Апрель"
+
+msgid "June"
+msgstr "Июнь"
+
+msgid "July"
+msgstr "Июль"
+
+msgid "August"
+msgstr "Август"
+
+msgid "September"
+msgstr "Сентябрь"
+
+msgid "October"
+msgstr "Октябрь"
+
+msgid "November"
+msgstr "Ноябрь"
+
+msgid "December"
+msgstr "Декабрь"
+
+msgid "AM"
+msgstr "ДП"
+
+msgid "PM"
+msgstr "ПП"
+
+msgid "%a %b %e %T %Y"
+msgstr "%a %b %e %T %Y"
+
+#: ../musl/musl-1.1.14/src/time/strptime.c:54
+#: ../musl/musl-1.1.14/src/time/strftime.c:86
+msgid "%m/%d/%y"
+msgstr "%d.%m.%y"
+
+#: ../musl/musl-1.1.14/src/time/strptime.c:106
+#: ../musl/musl-1.1.14/src/time/strftime.c:130
+msgid "%H:%M"
+msgstr "%H:%M"
+
+#: ../musl/musl-1.1.14/src/time/strptime.c:115
+#: ../musl/musl-1.1.14/src/time/strftime.c:143
+msgid "%H:%M:%S"
+msgstr "%H:%M:%S"
+
+msgid "%I:%M:%S %p"
+msgstr "%I:%M:%S %p"
+
+msgid "0123456789"
+msgstr "0123456789"
+
+msgid "%a %b %e %T %Y %Z"
+msgstr "%a %b %e %T %Y %Z"
+
+msgid "^[yY]"
+msgstr "^[дД]"
+
+msgid "^[nN]"
+msgstr "^[нН]"
+
+msgid "yes"
+msgstr "да"
+
+msgid "no"
+msgstr "нет"
+
+msgid "."
+msgstr "."
+
+msgid "Name does not resolve"
+msgstr "Имя невозможно определить"
+
+msgid "Try again"
+msgstr "Попробуйте еще раз"
+
+msgid "Non-recoverable error"
+msgstr "Невосстановимая ошибка"
+
+msgid "Unknown error"
+msgstr "Неизвестная ошибка"
+
+msgid "Unrecognized address family or invalid length"
+msgstr "Тип адреса не определен (или длина неверна)"
+
+msgid "Unrecognized socket type"
+msgstr "Тип сокета не определен"
+
+msgid "Unrecognized service"
+msgstr "Служба не определена"
+
+msgid "System error"
+msgstr "Ошибка системы"
+
+msgid "Overflow"
+msgstr "Переполнение"
+
+msgid "No match"
+msgstr "Нет совпадений"
+
+msgid "Invalid regexp"
+msgstr "Неверное регулярное выражение"
+
+msgid "Unknown collating element"
+msgstr "Неверный элемент таблицы совпадений"
+
+msgid "Unknown character class name"
+msgstr "Неверное название класса символов"
+
+msgid "Trailing backslash"
+msgstr "Обратная косая черта в начале"
+
+msgid "Invalid back reference"
+msgstr "Неверная ссылка назад"
+
+msgid "Missing ']'"
+msgstr "Отсутствует ']'"
+
+msgid "Missing ')'"
+msgstr "Отсутствует )'"
+
+msgid "Missing '}'"
+msgstr "Отсутствует '}'"
+
+msgid "Invalid contents of {}"
+msgstr "Неверное выражение в {}"
+
+msgid "Invalid character range"
+msgstr "Неверный диапазон символов"
+
+msgid "Repetition not preceded by valid expression"
+msgstr "Повторение не предварено правильным выражением"
+
+msgid "Hangup"
+msgstr "Сброс"
+
+msgid "Interrupt"
+msgstr "Прерывание"
+
+msgid "Quit"
+msgstr "Выход"
+
+msgid "Illegal instruction"
+msgstr "Неверная инструкция"
+
+msgid "Trace/breakpoint trap"
+msgstr "Точка останова"
+
+msgid "Aborted"
+msgstr "Прерывание"
+
+msgid "Bus error"
+msgstr "Ошибка шины"
+
+msgid "Arithmetic exception"
+msgstr "Ошибка вычисления"
+
+msgid "Killed"
+msgstr "Убито"
+
+msgid "User defined signal 1"
+msgstr "Сигнал 1, определенный пользователем"
+
+msgid "Segmentation fault"
+msgstr "Ошибка сегментирования"
+
+msgid "User defined signal 2"
+msgstr "Сигнал 2, определенный пользователем"
+
+msgid "Alarm clock"
+msgstr "Будильник"
+
+msgid "Terminated"
+msgstr "Завершено"
+
+msgid "Stack fault"
+msgstr "Ошибка стека"
+
+msgid "Child process status"
+msgstr "Статус дочернего процесса"
+
+msgid "Continued"
+msgstr "Продолжен"
+
+msgid "Stopped (signal)"
+msgstr "Остановлено (сигнал)"
+
+msgid "Stopped"
+msgstr "Остановлено"
+
+msgid "Stopped (tty input)"
+msgstr "Остановлено (ввод с tty)"
+
+msgid "Stopped (tty output)"
+msgstr "Остановлено (вывод на tty)"
+
+msgid "Urgent I/O condition"
+msgstr "Приоритетный ввод-вывод"
+
+msgid "CPU time limit exceeded"
+msgstr "Лимит процессорного времени исчерпан"
+
+msgid "File size limit exceeded"
+msgstr "Лимит размера файла исчерпан"
+
+msgid "Virtual timer expired"
+msgstr "Виртуальный таймер закончен"
+
+msgid "Profiling timer expired"
+msgstr "Таймер профилирования закончен"
+
+msgid "Window changed"
+msgstr "Окно изменено"
+
+msgid "I/O possible"
+msgstr "Ввод-вывод возможен"
+
+msgid "Power failure"
+msgstr "Сбой питания"
+
+msgid "Bad system call"
+msgstr "Неверный системный вызов"
diff --git a/musl.pot b/musl.pot
new file mode 100644
index 0000000..0a6b0c6
--- /dev/null
+++ b/musl.pot
@@ -0,0 +1,777 @@
+#: ../musl/musl-1.1.14/src/ldso/dlerror.c:14
+msgid "Dynamic linker failed to allocate memory for error message"
+msgstr ""
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:1700
+#, c-format
+msgid "Error loading shared library %s: %m"
+msgstr ""
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:1603
+#, c-format
+msgid "%s: Error getting %zu bytes thread-local storage: %m\n"
+msgstr ""
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:1699
+#, c-format
+msgid "Library %s is not already loaded"
+msgstr ""
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:1503
+#, c-format
+msgid "%s: %s: Not a valid dynamic program\n"
+msgstr ""
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:1087
+#, c-format
+msgid "Error loading shared library %s: %m (needed by %s)"
+msgstr ""
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:1158
+#, c-format
+msgid "Error relocating %s: RELRO protection failed: %m"
+msgstr ""
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:875
+#, c-format
+msgid "Error allocating function descriptors for %s"
+msgstr ""
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:448
+#, c-format
+msgid "Error relocating %s: unsupported relocation type %d"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/exit/assert.c:6
+#, c-format
+msgid "Assertion failed: %s (%s: %s: %d)\n"
+msgstr ""
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:340
+#, c-format
+msgid "Error relocating %s: %s: symbol not found"
+msgstr ""
+
+#: ../musl/musl-1.1.14/ldso/dynlink.c:426
+#, c-format
+msgid "Error relocating %s: cannot allocate TLSDESC for %s"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/ldso/dlerror.c:14
+msgid "Dynamic linker failed to allocate memory for error message"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/ldso/dlerror.c:60
+#: ../musl/musl-1.1.14/ldso/dynlink.c:1742
+#, c-format
+msgid "Invalid library handle %p"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/ldso/dlopen.c:9
+msgid "Dynamic loading not supported"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/ldso/dlinfo.c:14
+#, c-format
+msgid "Unsupported request %d"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/ldso/__dlsym.c:9
+#: ../musl/musl-1.1.14/ldso/dynlink.c:1824
+#, c-format
+msgid "Symbol not found: %s"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/malloc/malloc.c:143
+#, c-format
+msgid "missing from binmap!\n"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/malloc/malloc.c:145
+#, c-format
+msgid "binmap wrongly contains %d!\n"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:28
+msgid "MSGVERB"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:30
+msgid "label"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:30
+msgid "severity"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:30
+msgid "text"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:30
+msgid "action"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:30
+msgid "tag"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:36
+msgid "HALT: "
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:37
+msgid "ERROR: "
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:38
+msgid "WARNING: "
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/misc/fmtmsg.c:39
+msgid "INFO: "
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/misc/getopt_long.c:84
+msgid ": option does not take an argument: "
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/misc/getopt_long.c:95
+#: ../musl/musl-1.1.14/src/misc/getopt.c:91
+msgid ": option requires an argument: "
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/misc/getopt_long.c:112
+msgid ": option is ambiguous: "
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/misc/getopt_long.c:113
+#: ../musl/musl-1.1.14/src/misc/getopt.c:83
+msgid ": unrecognized option: "
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/regex/regerror.c:13
+msgid "No error"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/string/strsignal.c:57
+msgid "Unknown signal"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/network/hstrerror.c:6
+msgid "Host not found"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/network/gai_strerror.c:5
+msgid "Invalid flags"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/time/strptime.c:54
+#: ../musl/musl-1.1.14/src/time/strftime.c:86
+msgid "%m/%d/%y"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/time/strptime.c:106
+#: ../musl/musl-1.1.14/src/time/strftime.c:130
+msgid "%H:%M"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/time/strptime.c:115
+#: ../musl/musl-1.1.14/src/time/strftime.c:143
+msgid "%H:%M:%S"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/time/strftime.c:89
+#, c-format
+msgid "%2d"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/time/strftime.c:92
+msgid "%Y-%m-%d"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/time/strftime.c:141
+msgid "\t"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/time/strftime.c:174
+#, c-format
+msgid "+%lld"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/time/strftime.c:184
+#, c-format
+msgid "%+.2d%.2d"
+msgstr ""
+
+#: ../musl/musl-1.1.14/src/time/strftime.c:202
+#, c-format
+msgid "%0*lld"
+msgstr ""
+
+msgid "Illegal byte sequence"
+msgstr "Illegal byte sequence"
+
+msgid "Domain error"
+msgstr "Domain error"
+
+msgid "Result not representable"
+msgstr "Result not representable"
+
+msgid "Not a tty"
+msgstr "Not a tty"
+
+msgid "Permission denied"
+msgstr "Permission denied"
+
+msgid "Operation not permitted"
+msgstr "Operation not permitted"
+
+msgid "No such file or directory"
+msgstr "No such file or directory"
+
+msgid "No such process"
+msgstr "No such process"
+
+msgid "File exists"
+msgstr "File exists"
+
+msgid "Value too large for data type"
+msgstr "Value too large for data type"
+
+msgid "No space left on device"
+msgstr "No space left on device"
+
+msgid "Resource busy"
+msgstr "Resource busy"
+
+msgid "Interrupted system call"
+msgstr "Interrupted system call"
+
+msgid "Resource temporarily unavailable"
+msgstr "Resource temporarily unavailable"
+
+msgid "Invalid seek"
+msgstr "Invalid seek"
+
+msgid "Cross-device link"
+msgstr "Cross-device link"
+
+msgid "Read-only file system"
+msgstr "Read-only file system"
+
+msgid "Directory not empty"
+msgstr "Directory not empty"
+
+msgid "Connection reset by peer"
+msgstr "Connection reset by peer"
+
+msgid "Operation timed out"
+msgstr "Operation timed out"
+
+msgid "Connection refused"
+msgstr "Connection refused"
+
+msgid "Host is down"
+msgstr "Host is down"
+
+msgid "Host is unreachable"
+msgstr "Host is unreachable"
+
+msgid "Address in use"
+msgstr "Address in use"
+
+msgid "Broken pipe"
+msgstr "Broken pipe"
+
+msgid "I/O error"
+msgstr "I/O error"
+
+msgid "No such device or address"
+msgstr "No such device or address"
+
+msgid "Block device required"
+msgstr "Block device required"
+
+msgid "No such device"
+msgstr "No such device"
+
+msgid "Not a directory"
+msgstr "Not a directory"
+
+msgid "Is a directory"
+msgstr "Is a directory"
+
+msgid "Text file busy"
+msgstr "Text file busy"
+
+msgid "Exec format error"
+msgstr "Exec format error"
+
+msgid "Invalid argument"
+msgstr "Invalid argument"
+
+msgid "Argument list too long"
+msgstr "Argument list too long"
+
+msgid "Symbolic link loop"
+msgstr "Symbolic link loop"
+
+msgid "Filename too long"
+msgstr "Filename too long"
+
+msgid "Too many open files in system"
+msgstr "Too many open files in system"
+
+msgid "No file descriptors available"
+msgstr "No file descriptors available"
+
+msgid "Bad file descriptor"
+msgstr "Bad file descriptor"
+
+msgid "No child process"
+msgstr "No child process"
+
+msgid "Bad address"
+msgstr "Bad address"
+
+msgid "File too large"
+msgstr "File too large"
+
+msgid "Too many links"
+msgstr "Too many links"
+
+msgid "No locks available"
+msgstr "No locks available"
+
+msgid "Resource deadlock would occur"
+msgstr "Resource deadlock would occur"
+
+msgid "State not recoverable"
+msgstr "State not recoverable"
+
+msgid "Previous owner died"
+msgstr "Previous owner died"
+
+msgid "Operation canceled"
+msgstr "Operation canceled"
+
+msgid "Function not implemented"
+msgstr "Function not implemented"
+
+msgid "No message of desired type"
+msgstr "No message of desired type"
+
+msgid "Identifier removed"
+msgstr "Identifier removed"
+
+msgid "Device not a stream"
+msgstr "Device not a stream"
+
+msgid "No data available"
+msgstr "No data available"
+
+msgid "Device timeout"
+msgstr "Device timeout"
+
+msgid "Out of streams resources"
+msgstr "Out of streams resources"
+
+msgid "Link has been severed"
+msgstr "Link has been severed"
+
+msgid "Protocol error"
+msgstr "Protocol error"
+
+msgid "Bad message"
+msgstr "Bad message"
+
+msgid "File descriptor in bad state"
+msgstr "File descriptor in bad state"
+
+msgid "Not a socket"
+msgstr "Not a socket"
+
+msgid "Destination address required"
+msgstr "Destination address required"
+
+msgid "Message too large"
+msgstr "Message too large"
+
+msgid "Protocol wrong type for socket"
+msgstr "Protocol wrong type for socket"
+
+msgid "Protocol not available"
+msgstr "Protocol not available"
+
+msgid "Protocol not supported"
+msgstr "Protocol not supported"
+
+msgid "Socket type not supported"
+msgstr "Socket type not supported"
+
+msgid "Not supported"
+msgstr "Not supported"
+
+msgid "Protocol family not supported"
+msgstr "Protocol family not supported"
+
+msgid "Address family not supported by protocol"
+msgstr "Address family not supported by protocol"
+
+msgid "Address not available"
+msgstr "Address not available"
+
+msgid "Network is down"
+msgstr "Network is down"
+
+msgid "Network unreachable"
+msgstr "Network unreachable"
+
+msgid "Connection reset by network"
+msgstr "Connection reset by network"
+
+msgid "Connection aborted"
+msgstr "Connection aborted"
+
+msgid "No buffer space available"
+msgstr "No buffer space available"
+
+msgid "Socket is connected"
+msgstr "Socket is connected"
+
+msgid "Socket not connected"
+msgstr "Socket not connected"
+
+msgid "Cannot send after socket shutdown"
+msgstr "Cannot send after socket shutdown"
+
+msgid "Operation already in progress"
+msgstr "Operation already in progress"
+
+msgid "Operation in progress"
+msgstr "Operation in progress"
+
+msgid "Stale file handle"
+msgstr "Stale file handle"
+
+msgid "Remote I/O error"
+msgstr "Remote I/O error"
+
+msgid "Quota exceeded"
+msgstr "Quota exceeded"
+
+msgid "No medium found"
+msgstr "No medium found"
+
+msgid "Wrong medium type"
+msgstr "Wrong medium type"
+
+msgid "No error information"
+msgstr "No error information"
+
+msgid "Sun"
+msgstr "Sun"
+
+msgid "Mon"
+msgstr "Mon"
+
+msgid "Tue"
+msgstr "Tue"
+
+msgid "Wed"
+msgstr "Wed"
+
+msgid "Thu"
+msgstr "Thu"
+
+msgid "Fri"
+msgstr "Fri"
+
+msgid "Sat"
+msgstr "Sat"
+
+msgid "Sunday"
+msgstr "Sunday"
+
+msgid "Monday"
+msgstr "Monday"
+
+msgid "Tuesday"
+msgstr "Tuesday"
+
+msgid "Wednesday"
+msgstr "Wednesday"
+
+msgid "Thursday"
+msgstr "Thursday"
+
+msgid "Friday"
+msgstr "Friday"
+
+msgid "Saturday"
+msgstr "Saturday"
+
+msgid "Jan"
+msgstr "Jan"
+
+msgid "Feb"
+msgstr "Feb"
+
+msgid "Mar"
+msgstr "Mar"
+
+msgid "Apr"
+msgstr "Apr"
+
+msgid "May"
+msgstr "May"
+
+msgid "Jun"
+msgstr "Jun"
+
+msgid "Jul"
+msgstr "Jul"
+
+msgid "Aug"
+msgstr "Aug"
+
+msgid "Sep"
+msgstr "Sep"
+
+msgid "Oct"
+msgstr "Oct"
+
+msgid "Nov"
+msgstr "Nov"
+
+msgid "Dec"
+msgstr "Dec"
+
+msgid "January"
+msgstr "January"
+
+msgid "February"
+msgstr "February"
+
+msgid "March"
+msgstr "March"
+
+msgid "April"
+msgstr "April"
+
+msgid "June"
+msgstr "June"
+
+msgid "July"
+msgstr "July"
+
+msgid "August"
+msgstr "August"
+
+msgid "September"
+msgstr "September"
+
+msgid "October"
+msgstr "October"
+
+msgid "November"
+msgstr "November"
+
+msgid "December"
+msgstr "December"
+
+msgid "AM"
+msgstr "AM"
+
+msgid "PM"
+msgstr "PM"
+
+msgid "%a %b %e %T %Y"
+msgstr "%a %b %e %T %Y"
+
+msgid "%m/%d/%y"
+msgstr "%m/%d/%y"
+
+msgid "%H:%M:%S"
+msgstr "%H:%M:%S"
+
+msgid "%I:%M:%S %p"
+msgstr "%I:%M:%S %p"
+
+msgid "0123456789"
+msgstr "0123456789"
+
+msgid "%a %b %e %T %Y"
+msgstr "%a %b %e %T %Y"
+
+msgid "^[yY]"
+msgstr "^[yY]"
+
+msgid "^[nN]"
+msgstr "^[nN]"
+
+msgid "yes"
+msgstr "yes"
+
+msgid "no"
+msgstr "no"
+
+msgid "."
+msgstr "."
+
+msgid "Name does not resolve"
+msgstr "Name does not resolve"
+
+msgid "Try again"
+msgstr "Try again"
+
+msgid "Non-recoverable error"
+msgstr "Non-recoverable error"
+
+msgid "Unknown error"
+msgstr "Unknown error"
+
+msgid "Unrecognized address family or invalid length"
+msgstr "Unrecognized address family or invalid length"
+
+msgid "Unrecognized socket type"
+msgstr "Unrecognized socket type"
+
+msgid "Unrecognized service"
+msgstr "Unrecognized service"
+
+msgid "System error"
+msgstr "System error"
+
+msgid "Overflow"
+msgstr "Overflow"
+
+msgid "No match"
+msgstr "No match"
+
+msgid "Invalid regexp"
+msgstr "Invalid regexp"
+
+msgid "Unknown collating element"
+msgstr "Unknown collating element"
+
+msgid "Unknown character class name"
+msgstr "Unknown character class name"
+
+msgid "Trailing backslash"
+msgstr "Trailing backslash"
+
+msgid "Invalid back reference"
+msgstr "Invalid back reference"
+
+msgid "Missing ']'"
+msgstr "Missing ']'"
+
+msgid "Missing ')'"
+msgstr "Missing ')'"
+
+msgid "Missing '}'"
+msgstr "Missing '}'"
+
+msgid "Invalid contents of {}"
+msgstr "Invalid contents of {}"
+
+msgid "Invalid character range"
+msgstr "Invalid character range"
+
+msgid "Repetition not preceded by valid expression"
+msgstr "Repetition not preceded by valid expression"
+
+msgid "Unknown signal"
+msgstr "Unknown signal"
+
+msgid "Hangup"
+msgstr "Hangup"
+
+msgid "Interrupt"
+msgstr "Interrupt"
+
+msgid "Quit"
+msgstr "Quit"
+
+msgid "Illegal instruction"
+msgstr "Illegal instruction"
+
+msgid "Trace/breakpoint trap"
+msgstr "Trace/breakpoint trap"
+
+msgid "Aborted"
+msgstr "Aborted"
+
+msgid "Bus error"
+msgstr "Bus error"
+
+msgid "Arithmetic exception"
+msgstr "Arithmetic exception"
+
+msgid "Killed"
+msgstr "Killed"
+
+msgid "User defined signal 1"
+msgstr "User defined signal 1"
+
+msgid "Segmentation fault"
+msgstr "Segmentation fault"
+
+msgid "User defined signal 2"
+msgstr "User defined signal 2"
+
+msgid "Alarm clock"
+msgstr "Alarm clock"
+
+msgid "Terminated"
+msgstr "Terminated"
+
+msgid "Stack fault"
+msgstr "Stack fault"
+
+msgid "Child process status"
+msgstr "Child process status"
+
+msgid "Continued"
+msgstr "Continued"
+
+msgid "Stopped (signal)"
+msgstr "Stopped (signal)"
+
+msgid "Stopped"
+msgstr "Stopped"
+
+msgid "Stopped (tty input)"
+msgstr "Stopped (tty input)"
+
+msgid "Stopped (tty output)"
+msgstr "Stopped (tty output)"
+
+msgid "Urgent I/O condition"
+msgstr "Urgent I/O condition"
+
+msgid "CPU time limit exceeded"
+msgstr "CPU time limit exceeded"
+
+msgid "File size limit exceeded"
+msgstr "File size limit exceeded"
+
+msgid "Virtual timer expired"
+msgstr "Virtual timer expired"
+
+msgid "Profiling timer expired"
+msgstr "Profiling timer expired"
+
+msgid "Window changed"
+msgstr "Window changed"
+
+msgid "I/O possible"
+msgstr "I/O possible"
+
+msgid "Power failure"
+msgstr "Power failure"
+
+msgid "Bad system call"
+msgstr "Bad system call" \ No newline at end of file
diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt
index 90716a0..e4bacdb 100644
--- a/po/CMakeLists.txt
+++ b/po/CMakeLists.txt
@@ -1,7 +1,3 @@
-include(TranslationsMusl)
-add_musl_translations_directory("musl" MUSL_LOCPATH)
-add_musl_translations_catalog("musl"
- ../musl)
include(Translations)
add_translations_directory("musl-locales" "bin")
add_translations_catalog("musl-locales"
diff --git a/po/LINGUAS.in b/po/LINGUAS.in
new file mode 100644
index 0000000..b3b7f35
--- /dev/null
+++ b/po/LINGUAS.in
@@ -0,0 +1 @@
+@LINGUAS@ \ No newline at end of file
diff --git a/po/en.po b/po/en.po
new file mode 100644
index 0000000..e736622
--- /dev/null
+++ b/po/en.po
@@ -0,0 +1,72 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-05-11 11:45+0300\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Language: en_US\n"
+"X-Source-Language: C\n"
+
+#: ../locale.c:52
+#, c-format
+msgid ""
+"Usage: %s [-a | -m] [FORMAT] name...\n"
+"\n"
+"\t-a, --all-locales\tWrite names of all available locales\n"
+"\t-m, --charmaps\tWrite names of available charmaps\n"
+"\n"
+"FORMAT:\n"
+"\t-c, --category-name\tWrite names of selected categories\n"
+"\t-k, --keyword-name\tWrite names of selected keywords\n"
+msgstr ""
+"Usage: %s [-a | -m] [FORMAT] name...\n"
+"\n"
+"\t-a, --all-locales\tWrite names of all available locales\n"
+"\t-m, --charmaps\tWrite names of available charmaps\n"
+"\n"
+"FORMAT:\n"
+"\t-c, --category-name\tWrite names of selected categories\n"
+"\t-k, --keyword-name\tWrite names of selected keywords\n"
+
+#: ../locale.c:92
+#, c-format
+msgid "Unknown option.\n"
+msgstr "Unknown option.\n"
+
+#: ../locale.c:97
+#, c-format
+msgid "This should never happen!\n"
+msgstr "This should never happen!\n"
+
+#: ../locale.c:202
+#, c-format
+msgid "Cannot set LC_CTYPE to default locale"
+msgstr "Cannot set LC_CTYPE to default locale"
+
+#: ../locale.c:204
+#, c-format
+msgid "Cannot set LC_MESSAGES to default locale"
+msgstr "Cannot set LC_MESSAGES to default locale"
+
+#: ../locale.c:212
+#, c-format
+msgid "Cannot set LC_COLLATE to default locale"
+msgstr "Cannot set LC_COLLATE to default locale"
+
+#: ../locale.c:229
+#, c-format
+msgid "Cannot set LC_ALL to default locale"
+msgstr "Cannot set LC_ALL to default locale"
diff --git a/po/musl-locales.pot b/po/musl-locales.pot
new file mode 100644
index 0000000..1795de9
--- /dev/null
+++ b/po/musl-locales.pot
@@ -0,0 +1,61 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-05-11 11:45+0300\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../locale.c:52
+#, c-format
+msgid ""
+"Usage: %s [-a | -m] [FORMAT] name...\n"
+"\n"
+"\t-a, --all-locales\tWrite names of all available locales\n"
+"\t-m, --charmaps\tWrite names of available charmaps\n"
+"\n"
+"FORMAT:\n"
+"\t-c, --category-name\tWrite names of selected categories\n"
+"\t-k, --keyword-name\tWrite names of selected keywords\n"
+msgstr ""
+
+#: ../locale.c:92
+#, c-format
+msgid "Unknown option.\n"
+msgstr ""
+
+#: ../locale.c:97
+#, c-format
+msgid "This should never happen!\n"
+msgstr ""
+
+#: ../locale.c:202
+#, c-format
+msgid "Cannot set LC_CTYPE to default locale"
+msgstr ""
+
+#: ../locale.c:204
+#, c-format
+msgid "Cannot set LC_MESSAGES to default locale"
+msgstr ""
+
+#: ../locale.c:212
+#, c-format
+msgid "Cannot set LC_COLLATE to default locale"
+msgstr ""
+
+#: ../locale.c:229
+#, c-format
+msgid "Cannot set LC_ALL to default locale"
+msgstr ""
diff --git a/po/ru.po b/po/ru.po
new file mode 100644
index 0000000..fcf0a5d
--- /dev/null
+++ b/po/ru.po
@@ -0,0 +1,72 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-05-11 11:45+0300\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ru_RU\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Language: ru\n"
+"X-Source-Language: C\n"
+
+#: ../locale.c:52
+#, c-format
+msgid ""
+"Usage: %s [-a | -m] [FORMAT] name...\n"
+"\n"
+"\t-a, --all-locales\tWrite names of all available locales\n"
+"\t-m, --charmaps\tWrite names of available charmaps\n"
+"\n"
+"FORMAT:\n"
+"\t-c, --category-name\tWrite names of selected categories\n"
+"\t-k, --keyword-name\tWrite names of selected keywords\n"
+msgstr ""
+"Использование: %s [-a | -m] [ФОРМАТ] название...\n"
+"\n"
+"\t-a, --all-locales\tВывести названия всех доступных языков\n"
+"\t-m, --charmaps\tВывести названия всех доступных клавиатур\n"
+"\n"
+"ФОРМАТ:\n"
+"\t-c, --category-name\tВывести названия выбранных категорий\n"
+"\t-k, --keyword-name\tВывести названия выбранных ключевых слов\n"
+
+#: ../locale.c:92
+#, c-format
+msgid "Unknown option.\n"
+msgstr "Неизвестная опция.\n"
+
+#: ../locale.c:97
+#, c-format
+msgid "This should never happen!\n"
+msgstr "Этого не должно произойти!\n"
+
+#: ../locale.c:202
+#, c-format
+msgid "Cannot set LC_CTYPE to default locale"
+msgstr "Невозможно установить LC_CTYPE на локаль по умолчанию"
+
+#: ../locale.c:204
+#, c-format
+msgid "Cannot set LC_MESSAGES to default locale"
+msgstr "Невозможно установить LC_MESSAGES на локаль по умолчанию"
+
+#: ../locale.c:212
+#, c-format
+msgid "Cannot set LC_COLLATE to default locale"
+msgstr "Невозможно установить LC_COLLATE на локаль по умолчанию"
+
+#: ../locale.c:229
+#, c-format
+msgid "Cannot set LC_ALL to default locale"
+msgstr "Невозможно установить LC_ALL на локаль по умолчанию"