summaryrefslogtreecommitdiff
path: root/intl.c
diff options
context:
space:
mode:
Diffstat (limited to 'intl.c')
-rw-r--r--intl.c113
1 files changed, 0 insertions, 113 deletions
diff --git a/intl.c b/intl.c
deleted file mode 100644
index 82ac163f..00000000
--- a/intl.c
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * ToscoIntl version 0.1
- * Copyright (c) 2002-2003 Leandro Pereira <leandro@linuxmag.com.br>
- * All rights reserved.
- *
- * This script is in the Tosco Public License. It may be copied and/or
- * modified, in whole or in part, provided that all copies and related
- * documentation includes the above copyright notice, this condition
- * and the following disclaimer.
- *
- * THIS SOFTWARE IS PROVIDED ``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
- * COPYRIGHT HOLDER 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)
- *
- * (yes, the disclaimer is a copy from the BSD license, eat me!)
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <sys/stat.h>
-
-#include "hardinfo.h"
-
-#ifdef ENABLE_NLS
-
-void intl_init(void)
-{
- const gchar *by;
-
- g_print("Translation module registered.\n");
-
- by = intl_translate("translated-by", "Translation");
- if (strcmp(by, "translated-by")) {
- g_print("Translated by: %s\n", by);
- }
-}
-
-/*
- * GNU's gettext is cool and all... but hey, this is smaller,
- * but slower :P
- */
-const gchar *
-intl_translate(const gchar * string, const gchar * source) __THROW
-{
- FILE *file;
- gchar buffer[256], *keyname, *lang = NULL, *langenv = NULL;
- const gchar *retval, *langvars[] =
- {"LANG", "LC_MESSAGES", "LC_ALL", NULL};
- gboolean found = FALSE;
- struct stat st;
- gint i = 0;
-
- keyname = g_strdup_printf("[%s]", source);
-
- for (; langvars[i]; i++)
- if (getenv(langvars[i])) {
- langenv = getenv(langvars[i]);
- goto langenv_ok;
- }
-
- goto not_found;
-
- langenv_ok:
- lang = g_strconcat(INTL_PREFIX, langenv, ".lang", NULL);
- if (stat(lang, &st)) {
- g_free(lang);
- lang = g_strconcat(INTL_PREFIX, "default.lang", NULL);
- if (stat(lang, &st)) {
- not_found:
- retval = string;
- goto finished;
- }
- }
-
- retval = string;
-
- file = fopen(lang, "r");
- if (!file)
- goto finished;
-
- while (fgets(buffer, 256, file)) {
- const gchar *buf = buffer;
-
- buf = g_strstrip(buf);
-
- if (*buf == '[' && !found &&
- !strncmp(buf, keyname, strlen(keyname)))
- found = TRUE;
- if (found && !strncmp(buf, string, strlen(string)) &&
- *(buf + strlen(string)) == '=') {
- walk_until_inclusive('=');
- retval = g_strdup(buf);
-
- fclose(file);
-
- goto finished;
- }
- }
- fclose(file);
-
- finished:
- g_free(keyname);
- g_free(lang);
-
- return retval;
-}
-
-#endif