Page 2 of 2

Re: Deutsche Lokalisierung unter Linux funktioniert hier nic

PostPosted: Thu Aug 27, 2015 11:37
by gravelman
Bei mir (hab auch Debian 8) geht auch alles.

Re: Deutsche Lokalisierung unter Linux funktioniert hier nic

PostPosted: Sat Aug 29, 2015 11:33
by Linuxdirk
Gerade frisch unter Arch kompiliert.

Code: Select all
$ uname -rms
Linux 4.1.5-1-ARCH x86_64

$ minetest --version
Minetest 0.4.13
Using Irrlicht 1.8.1
Build info: VER=0.4.13 BUILD_TYPE=Release RUN_IN_PLACE=0 USE_GETTEXT=1 USE_SOUND=1 USE_CURL=1 USE_FREETYPE=1 USE_LUAJIT=0 STATIC_SHAREDIR="/usr/share/minetest"

$ pacman -Ql minetest | grep locale/de
minetest /usr/share/locale/de/
minetest /usr/share/locale/de/LC_MESSAGES/
minetest /usr/share/locale/de/LC_MESSAGES/minetest.mo

$ gettext --version
gettext (GNU gettext-runtime) 0.19.5
Copyright © 1995-1997, 2000-2007 Free Software Foundation, Inc.
Lizenz GPLv3: GNU GPL Version 3 oder später <http://gnu.org/licenses/gpl.html>


Nach wie vor alles auf Englisch.

Re: Deutsche Lokalisierung unter Linux funktioniert hier nic

PostPosted: Sat Aug 29, 2015 12:05
by PilzAdam
Linuxdirk wrote:Gerade frisch unter Arch kompiliert.

Code: Select all
$ uname -rms
Linux 4.1.5-1-ARCH x86_64

$ minetest --version
Minetest 0.4.13
Using Irrlicht 1.8.1
Build info: VER=0.4.13 BUILD_TYPE=Release RUN_IN_PLACE=0 USE_GETTEXT=1 USE_SOUND=1 USE_CURL=1 USE_FREETYPE=1 USE_LUAJIT=0 STATIC_SHAREDIR="/usr/share/minetest"

$ pacman -Ql minetest | grep locale/de
minetest /usr/share/locale/de/
minetest /usr/share/locale/de/LC_MESSAGES/
minetest /usr/share/locale/de/LC_MESSAGES/minetest.mo

$ gettext --version
gettext (GNU gettext-runtime) 0.19.5
Copyright © 1995-1997, 2000-2007 Free Software Foundation, Inc.
Lizenz GPLv3: GNU GPL Version 3 oder später <http://gnu.org/licenses/gpl.html>


Nach wie vor alles auf Englisch.

Was ist die Ausgabe von
Code: Select all
cmake . -LH

Re: Deutsche Lokalisierung unter Linux funktioniert hier nic

PostPosted: Sat Aug 29, 2015 14:36
by Linuxdirk
Minetest wird mit …

Code: Select all
cmake ../$pkgname-$pkgver \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DBUILD_SERVER=0 \
    -DENABLE_GETTEXT=1 \
    -DENABLE_FREETYPE=1 \
    -DENABLE_LEVELDB=0 \
    -DENABLE_REDIS=0

kompiliert. Nur cmake . -LH zeigt GetText disabled an.

Code: Select all
$ cmake . -LH
-- The C compiler identification is GNU 5.2.0
-- The CXX compiler identification is GNU 5.2.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- *** Will build version 0.4.13 ***
-- Found Irrlicht: /usr/lib64/libIrrlicht.so 
-- Found CURL: /usr/lib64/libcurl.so 
-- cURL support enabled.
-- GetText disabled.
-- Found OpenAL: /usr/lib64/libopenal.so 
-- Found VORBIS: /usr/include 
-- Sound enabled.
-- Found Freetype: /usr/lib64/libfreetype.so (found version "2.6.0")
-- Freetype enabled.
-- LuaJIT not found, using bundled Lua.
-- Using GMP provided by system.
-- Found GMP: /usr/lib64/libgmp.so 
-- LevelDB backend enabled.
-- Redis backend enabled.
-- Found SQLite3: /usr/lib64/libsqlite3.so 
-- Using bundled JSONCPP library.
-- SpatialIndex not found!
-- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so
-- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib64/libX11.so
-- Found OpenGL: /usr/lib64/libGL.so 
-- Found JPEG: /usr/lib64/libjpeg.so 
-- Found BZip2: /usr/lib64/libbz2.so (found version "1.0.6")
-- Looking for BZ2_bzCompressInit in /usr/lib64/libbz2.so
-- Looking for BZ2_bzCompressInit in /usr/lib64/libbz2.so - found
-- Found ZLIB: /usr/lib64/libz.so (found version "1.2.8")
-- Found PNG: /usr/lib64/libpng.so (found version "1.6.18")
-- Looking for include file endian.h
-- Looking for include file endian.h - found
-- Could NOT find Doxygen (missing:  DOXYGEN_EXECUTABLE)
-- Configuring done
-- Generating done
-- Build files have been written to: /home/dirk/mt/minetest-0.4.13
-- Cache values
// Build client
BUILD_CLIENT:BOOL=TRUE

// Build server
BUILD_SERVER:BOOL=FALSE

// For backwards compatibility, what version of CMake commands and syntax should this version of CMake try to support.
CMAKE_BACKWARDS_COMPATIBILITY:STRING=2.4

// Choose the type of build. Options are: None Debug SemiDebug RelWithDebInfo MinSizeRel.
CMAKE_BUILD_TYPE:STRING=Release

// Install path prefix, prepended onto install directories.
CMAKE_INSTALL_PREFIX:PATH=/usr/local

// Directory to install binaries into
CUSTOM_BINDIR:STRING=

// Directory to install documentation into
CUSTOM_DOCDIR:STRING=

// Directory to install example config file into
CUSTOM_EXAMPLE_CONF_DIR:STRING=

// Directory to install icons into
CUSTOM_ICONDIR:STRING=

// Directory to install l10n files into
CUSTOM_LOCALEDIR:STRING=

// Directory to install manpages into
CUSTOM_MANDIR:STRING=

// Directory to install data files into
CUSTOM_SHAREDIR:STRING=

// Directory to install .desktop files into
CUSTOM_XDG_APPS_DIR:STRING=

// Enable cURL support for fetching media
ENABLE_CURL:BOOL=ON

// Enable FreeType2 (TrueType fonts and basic unicode support)
ENABLE_FREETYPE:BOOL=ON

// Use GetText for internationalization
ENABLE_GETTEXT:BOOL=OFF

// Enable LevelDB backend
ENABLE_LEVELDB:BOOL=ON

// Enable LuaJIT support
ENABLE_LUAJIT:BOOL=ON

// Enable Redis backend
ENABLE_REDIS:BOOL=ON

// Enable sound
ENABLE_SOUND:BOOL=ON

// Enable SpatialIndex AreaStore backend
ENABLE_SPATIAL:BOOL=ON

// Use GMP from system
ENABLE_SYSTEM_GMP:BOOL=ON

// Enable using a system-wide JSONCPP.  May cause segfaults and other memory errors!
ENABLE_SYSTEM_JSONCPP:BOOL=OFF

// Path to irrlicht source directory (optional)
IRRLICHT_SOURCE_DIR:PATH=

// Path to a file.
LEVELDB_INCLUDE_DIR:PATH=/usr/include/leveldb

// Path to a library.
LEVELDB_LIBRARY:FILEPATH=/usr/lib64/libleveldb.so

// Path to a file.
REDIS_INCLUDE_DIR:PATH=/usr/include/hiredis

// Path to a library.
REDIS_LIBRARY:FILEPATH=/usr/lib64/libhiredis.so

// Run directly in source directory structure
RUN_IN_PLACE:BOOL=FALSE

// Path to a file.
SPATIAL_INCLUDE_DIR:PATH=SPATIAL_INCLUDE_DIR-NOTFOUND

// Path to a library.
SPATIAL_LIBRARY:FILEPATH=SPATIAL_LIBRARY-NOTFOUND

// Use -pg flag for g++
USE_GPROF:BOOL=FALSE

// Stuff to append to version string
VERSION_EXTRA:STRING=

// Enable -Wall for Release build
WARN_ALL:BOOL=TRUE

Wenn ich die genannten Variablen für den eigentlichen Buildprozess mit übergebe, wird gettext aktiviert, und unter anderem de als Locale auch gefunden.

Code: Select all
$ cmake . -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_SERVER=0 -DENABLE_GETTEXT=1 -DENABLE_FREETYPE=1 -DENABLE_LEVELDB=0 -DENABLE_REDIS=0 -LH
-- *** Will build version 0.4.13 ***
-- cURL support enabled.
-- Found GetText: /usr/include 
-- GetText enabled; locales found: pl;tr;da;ky;cs;lt;zh_CN;ja;pt_BR;de;et;uk;ro;pt;nb;es;nl;be;id;ru;it;ko;fr;hu
-- Sound enabled.
-- Freetype enabled.
-- LuaJIT not found, using bundled Lua.
-- Using GMP provided by system.
-- Using bundled JSONCPP library.
-- SpatialIndex not found!
-- Could NOT find Doxygen (missing:  DOXYGEN_EXECUTABLE)
-- Configuring done
-- Generating done
-- Build files have been written to: /home/dirk/mt/minetest-0.4.13
-- Cache values
// Build client
BUILD_CLIENT:BOOL=TRUE

// Build server
BUILD_SERVER:BOOL=0

// For backwards compatibility, what version of CMake commands and syntax should this version of CMake try to support.
CMAKE_BACKWARDS_COMPATIBILITY:STRING=2.4

// Choose the type of build. Options are: None Debug SemiDebug RelWithDebInfo MinSizeRel.
CMAKE_BUILD_TYPE:STRING=Release

// Install path prefix, prepended onto install directories.
CMAKE_INSTALL_PREFIX:PATH=/usr

// Directory to install binaries into
CUSTOM_BINDIR:STRING=

// Directory to install documentation into
CUSTOM_DOCDIR:STRING=

// Directory to install example config file into
CUSTOM_EXAMPLE_CONF_DIR:STRING=

// path to custom gettext
CUSTOM_GETTEXT_PATH:FILEPATH=/home/dirk/mt/minetest-0.4.13/src/../../gettext

// Directory to install icons into
CUSTOM_ICONDIR:STRING=

// Directory to install l10n files into
CUSTOM_LOCALEDIR:STRING=

// Directory to install manpages into
CUSTOM_MANDIR:STRING=

// Directory to install data files into
CUSTOM_SHAREDIR:STRING=

// Directory to install .desktop files into
CUSTOM_XDG_APPS_DIR:STRING=

// Enable cURL support for fetching media
ENABLE_CURL:BOOL=ON

// Enable FreeType2 (TrueType fonts and basic unicode support)
ENABLE_FREETYPE:BOOL=1

// Use GetText for internationalization
ENABLE_GETTEXT:BOOL=1

// Enable LevelDB backend
ENABLE_LEVELDB:BOOL=0

// Enable LuaJIT support
ENABLE_LUAJIT:BOOL=ON

// Enable Redis backend
ENABLE_REDIS:BOOL=0

// Enable sound
ENABLE_SOUND:BOOL=ON

// Enable SpatialIndex AreaStore backend
ENABLE_SPATIAL:BOOL=ON

// Use GMP from system
ENABLE_SYSTEM_GMP:BOOL=ON

// Enable using a system-wide JSONCPP.  May cause segfaults and other memory errors!
ENABLE_SYSTEM_JSONCPP:BOOL=OFF

// GetText include directory
GETTEXT_INCLUDE_DIR:PATH=/usr/include

// Path to msgfmt
GETTEXT_MSGFMT:FILEPATH=/usr/bin/msgfmt

// Path to irrlicht source directory (optional)
IRRLICHT_SOURCE_DIR:PATH=

// Path to a file.
LEVELDB_INCLUDE_DIR:PATH=/usr/include/leveldb

// Path to a library.
LEVELDB_LIBRARY:FILEPATH=/usr/lib64/libleveldb.so

// Path to a file.
REDIS_INCLUDE_DIR:PATH=/usr/include/hiredis

// Path to a library.
REDIS_LIBRARY:FILEPATH=/usr/lib64/libhiredis.so

// Run directly in source directory structure
RUN_IN_PLACE:BOOL=FALSE

// Path to a file.
SPATIAL_INCLUDE_DIR:PATH=SPATIAL_INCLUDE_DIR-NOTFOUND

// Path to a library.
SPATIAL_LIBRARY:FILEPATH=SPATIAL_LIBRARY-NOTFOUND

// Use -pg flag for g++
USE_GPROF:BOOL=FALSE

// Stuff to append to version string
VERSION_EXTRA:STRING=

// Enable -Wall for Release build
WARN_ALL:BOOL=TRUE

… und schließlich zeigt Minetest bei übergabe des Parameters --version auch USE_GETTEXT=1 an.

Re: Deutsche Lokalisierung unter Linux funktioniert hier nic

PostPosted: Sun Aug 30, 2015 13:34
by Wuzzy
Hast du schonmal geguckt, ob Minetest vielleicht mehr als einmal installiert ist? Also sowohl in /usr/local als auch in /usr. Vielleicht liegen in /usr/local noch Daten von einer alten kompilierten Version rum.

Außerdem: Hast du das alles schon auf einem anderen System probiert (wenn vorhanden)?.

So langsam werde ich ratlos.

Re: Deutsche Lokalisierung unter Linux funktioniert hier nic

PostPosted: Sun Aug 30, 2015 16:26
by PilzAdam
Linuxdirk wrote:Gerade frisch unter Arch kompiliert.

Code: Select all
$ uname -rms
Linux 4.1.5-1-ARCH x86_64

$ minetest --version
Minetest 0.4.13
Using Irrlicht 1.8.1
Build info: VER=0.4.13 BUILD_TYPE=Release RUN_IN_PLACE=0 USE_GETTEXT=1 USE_SOUND=1 USE_CURL=1 USE_FREETYPE=1 USE_LUAJIT=0 STATIC_SHAREDIR="/usr/share/minetest"

$ pacman -Ql minetest | grep locale/de
minetest /usr/share/locale/de/
minetest /usr/share/locale/de/LC_MESSAGES/
minetest /usr/share/locale/de/LC_MESSAGES/minetest.mo

$ gettext --version
gettext (GNU gettext-runtime) 0.19.5
Copyright © 1995-1997, 2000-2007 Free Software Foundation, Inc.
Lizenz GPLv3: GNU GPL Version 3 oder später <http://gnu.org/licenses/gpl.html>


Nach wie vor alles auf Englisch.

Minetest erwartet die Sprachdateien in $path_share/locale, also bei dir /usr/share/minetest/locale und nicht /usr/share/locale.

Re: Deutsche Lokalisierung unter Linux funktioniert hier nic

PostPosted: Sun Aug 30, 2015 19:26
by Linuxdirk
Ist das eine cmake-Option, die gesetzt werden kann? /usr/share/locale/..... ist vom Gefühl her der richtige Ort (und wie gesagt: keina anderes Programm hat Probleme damit).

Re: Deutsche Lokalisierung unter Linux funktioniert hier nic

PostPosted: Mon Aug 31, 2015 15:56
by PilzAdam
Linuxdirk wrote:Ist das eine cmake-Option, die gesetzt werden kann? /usr/share/locale/..... ist vom Gefühl her der richtige Ort (und wie gesagt: keina anderes Programm hat Probleme damit).

Probier es mal aus, indem du entweder einen symlink erstellst oder den Ordner kopierst.

EDIT: https://github.com/minetest/minetest/pull/3108

Re: Deutsche Lokalisierung unter Linux funktioniert hier nic

PostPosted: Mon Aug 31, 2015 17:01
by Linuxdirk
„sfan5 added low-priority enhancement and removed bug labels a day ago“

Ein offensichtlicher Bug wird gepatcht, und das ganze wird als „unwichtige Verbesserung“ angesehen? Geil.

ln -s /usr/share/locale /usr/share/minetest funktioniert, aber es kann ja nicht sinn der Sache sein, den kompletten „locale“-Verzeichnisbaum per Symlink an verschiedenen Stellen einzubinden, nur weil ein einziges von 831 Programmen probleme damit hat, dass die Locales da liegen, wo sie hin gehören …

Re: Deutsche Lokalisierung unter Linux funktioniert hier nic

PostPosted: Mon Aug 31, 2015 20:11
by PilzAdam
Linuxdirk wrote:„sfan5 added low-priority enhancement and removed bug labels a day ago“

Ein offensichtlicher Bug wird gepatcht, und das ganze wird als „unwichtige Verbesserung“ angesehen? Geil.

ln -s /usr/share/locale /usr/share/minetest funktioniert, aber es kann ja nicht sinn der Sache sein, den kompletten „locale“-Verzeichnisbaum per Symlink an verschiedenen Stellen einzubinden, nur weil ein einziges von 831 Programmen probleme damit hat, dass die Locales da liegen, wo sie hin gehören …

Kein Freude, dass nach einem Jahr suchen endlich die Ursache erkannt wurde? Das enttäuscht mich jetzt irgendwie...

Nur so nebenbei, es ist kein Bug, sonder höchstens ein Irrtum des Entwicklers.

Re: Deutsche Lokalisierung unter Linux funktioniert hier nic

PostPosted: Mon Aug 31, 2015 22:13
by est31
@Linuxdirk: Könntest du den patch testen? Weder ShadowNinja noch ich haben ihn getestet. Der patch sieht OK aus um ihn einzuspielen (momentan hat er eine von zwei benötigten stimmen dafür), aber er sollte auch getestet werden.

Re: Deutsche Lokalisierung unter Linux funktioniert hier nic

PostPosted: Wed Sep 02, 2015 13:14
by Wuzzy
Nur so nebenbei, es ist kein Bug, sonder höchstens ein Irrtum des Entwicklers.


Wieso ist eine kaputte Lokalisierung kein Bug? o_O

Es doch egal, wodurch es verursacht wird, egal ob vertippt oder vergessen oder ein Irrtum oder was auch immer.

Sehen alle Entwickler die Lokalisierung denn etwa also so unwichtig ist, dass es sogar hingenommen wird, wenn es nicht richtig funktinioniert?

Ich verstehe jetzt auch nicht, was CUSTOM_LOCALEDIR jetzt damit zu tun haben soll. Die Übersetzung sollte standardmäßig funktionieren, Minetest doch keine Extrawurst gebraten kriegen.

Ich glaube, Linuxdirk hat erst dann Grund zur Freude, wenn die Lokalisierung wieder funktioniert, und das ohne irgendeine Sonderbehandlung von Minetest.

Achja, eine Frage hab ich noch für Linuxdirk: Kann es sein, dass du noch irgendwelche Umgebungsvariablen in deinem System verstellt hast?

Re: Deutsche Lokalisierung unter Linux funktioniert hier nic

PostPosted: Wed Sep 02, 2015 16:13
by PilzAdam
Wuzzy wrote:
Nur so nebenbei, es ist kein Bug, sonder höchstens ein Irrtum des Entwicklers.


Wieso ist eine kaputte Lokalisierung kein Bug? o_O

Es doch egal, wodurch es verursacht wird, egal ob vertippt oder vergessen oder ein Irrtum oder was auch immer.

Sehen alle Entwickler die Lokalisierung denn etwa also so unwichtig ist, dass es sogar hingenommen wird, wenn es nicht richtig funktinioniert?

Ich verstehe jetzt auch nicht, was CUSTOM_LOCALEDIR jetzt damit zu tun haben soll. Die Übersetzung sollte standardmäßig funktionieren, Minetest doch keine Extrawurst gebraten kriegen.

Ich glaube, Linuxdirk hat erst dann Grund zur Freude, wenn die Lokalisierung wieder funktioniert, und das ohne irgendeine Sonderbehandlung von Minetest.

Achja, eine Frage hab ich noch für Linuxdirk: Kann es sein, dass du noch irgendwelche Umgebungsvariablen in deinem System verstellt hast?

In der Softwareentwicklung entscheidet man zwischen Fehler (Bug), Fehlverhalten und Irrtum. Fehlverhalten ist das falsche Ergebnis bei einer Eingabe; Fehler ist die Ursache des Fehlverhaltens (z.B. falsch geschriebener Code) und Irrtum ist eine Unklarheit oder falsche Annahme bezüglich des zu lösenden Problems.
Bei dem vorliegendem Problem handelt es sich um einen Irrtum des Entwicklers, da er davon ausging, dass in Linuxsystemen das locale Verzeichnis nach Paketen unterteilt ist.

Ich kann hier nur für mich sprechen, aber ich finde Lokalisierung ist wichtig. Da von diesem Irrtum aber nur sehr wenige Benutzer betroffen sind (so weit ich weiß nur Linuxdirk) und lange Zeit nicht klar war, ob es nun ein Fehler in dem Setup oder in Minetest selber ist, hat es wohl nicht genug Aufmerksamkeit bekommen. Der Pull Request wird akzeptiert sobald er erfolgreich getestet wurde.

Re: Deutsche Lokalisierung unter Linux funktioniert hier nic

PostPosted: Thu Sep 03, 2015 17:12
by Linuxdirk
PilzAdam wrote:Kein Freude, dass nach einem Jahr suchen endlich die Ursache erkannt wurde? Das enttäuscht mich jetzt irgendwie...

Nein, nein, nein … Nicht falsch verstehen bitte, das ist großartig, und ich kann allen, die mitgeholfen haben, nur danken! Ich bin eher erstaunt, dass so ein Bug bisher einfach niemandem aufgefallen ist :)

est31 wrote:@Linuxdirk: Könntest du den patch testen?

Ich gucke mir das am Wochenende mal an.

Wuzzy wrote:Die Übersetzung sollte standardmäßig funktionieren, Minetest doch keine Extrawurst gebraten kriegen.

Ja, das sowieso! Leider ist Lokalisierung den meisten Entwicklern wohl egal (sonst hätten wir längst ein standardmäßig funktionierendes System, das gettext-basierend mit Locale-Übermittlung vom Client zum Server im Netzprotokoll auch Erweiterungen übersetzen könnte).

Wuzzy wrote:Kann es sein, dass du noch irgendwelche Umgebungsvariablen in deinem System verstellt hast?

Nur die, die nötig sind, um die Lokalisierung auf meinem System zu konfigurieren.

Re: Deutsche Lokalisierung unter Linux funktioniert hier nic

PostPosted: Fri Mar 02, 2018 10:17
by Chris
Bei Debian 9 funktioniert es nicht (Version 0.4.15)
Gibt es einen Workaraound, um das irgendwie manuell hinzufrickeln?

Auch die neue Entwicklerversion 5.0 zeigt im Spiel alles auf Englisch (selbstkompiliert). Einzig Version 4.16 unter Debian Sid ist komplett auf deutsch. Ich wollte den Fehler suchen, konnte allerdings im .po-Verzeichnis nur eine minetest.pot mit allgemeinen Server-Meldungen finden. Dort sind keine Begriffe aus dem Spiel (Kupfer, Gras, Stein ...) drin. Weiß jemand, wo ich die finde?