oweals/minetest.git
9 years agoFix Lua scripting synchronization
kwolekr [Sat, 31 Oct 2015 20:31:43 +0000 (16:31 -0400)]
Fix Lua scripting synchronization

For several years now, the lua script lock has been completely broken.
This commit fixes the main issue (creation of a temporary rather than
scoped object), and fixes a subsequent deadlock issue caused by
nested script API calls by adding support for recursive mutexes.

9 years agoFix Noise compiled under clang >= 3.7.x with -O2 or higher
kwolekr [Sun, 1 Nov 2015 16:16:18 +0000 (11:16 -0500)]
Fix Noise compiled under clang >= 3.7.x with -O2 or higher

When compiled with optimizations, the most recent versions of clang seem
to 'optimize' out a crucial "and %reg, 0x7FFFFFFF" instruction in noise2d(),
probably because it somehow assumed the variable n would never become greater
than that amount.
Indeed, signed integer underflow is undefined behavior in C and C++, so while
this optimization is "correct" in that sense, it breaks lots of existing code.
Solved by changing n to an unsigned type, making behavior well-defined.

9 years agoFix server crashing on Lua errors
ShadowNinja [Thu, 29 Oct 2015 18:48:10 +0000 (14:48 -0400)]
Fix server crashing on Lua errors

Previously, the server called FATAL_ERROR when a Lua error occured.
This caused a (mostly useless) core dump.
The server now simply throws an exception, which is caught and printed before
exiting with a non-zero return value.
This also fixes a number of instances where errors were logged multiple times.

9 years agoFix clang warning
ShadowNinja [Fri, 30 Oct 2015 03:10:05 +0000 (23:10 -0400)]
Fix clang warning

9 years agoFix C++11 compatibility 3310/head
kwolekr [Sat, 31 Oct 2015 06:38:23 +0000 (02:38 -0400)]
Fix C++11 compatibility

9 years agominetest. to core.
Rui914 [Fri, 30 Oct 2015 23:35:27 +0000 (08:35 +0900)]
minetest. to core.

9 years agoWoW-style Autorun
Duane Robertson [Mon, 28 Sep 2015 18:59:03 +0000 (13:59 -0500)]
WoW-style Autorun

This allows the player to toggle continuous forward with a key (F by default),
so we don't have to hold down the forward key endlessly.

9 years agofindSpawnPos: Add setting for max height above water level
paramat [Thu, 29 Oct 2015 00:17:48 +0000 (00:17 +0000)]
findSpawnPos: Add setting for max height above water level

Increase default from 6 to 16 to help with mgv7 and mgfractal
Large-scale or alternative mapgens can result in a lowland spawn point not
being found, causing a spawn at (0, 0, 0) possibly buried underground
The max height is now settable to allow correct player spawn
in any mapgen or when using custom noise parameters

9 years agoMgfractal: Add filler depth noise
paramat [Wed, 28 Oct 2015 22:58:39 +0000 (22:58 +0000)]
Mgfractal: Add filler depth noise

9 years agoAdd STATIC_ASSERT() macro and use it
kwolekr [Wed, 28 Oct 2015 02:27:32 +0000 (22:27 -0400)]
Add STATIC_ASSERT() macro and use it

9 years agoAdd DISABLE_CLASS_COPY macro (and use it)
kwolekr [Tue, 27 Oct 2015 06:51:43 +0000 (02:51 -0400)]
Add DISABLE_CLASS_COPY macro (and use it)

Use this macro to disallow copying of an object using the assignment
operator or copy constructor.  This catches otherwise silent-but-deadly
mistakes such as "ServerMap map = env->getMap();" at compile time.

If so desired, it is still possible to copy a class, but it now requires
an explicit call to memcpy or std::copy.

9 years agoEnvironment: Time of day fixes and add serverside getter
est31 [Tue, 27 Oct 2015 20:03:59 +0000 (21:03 +0100)]
Environment: Time of day fixes and add serverside getter

-> Put access to time variables under the time lock.
-> Merge both time locks, there is no point to have two locks.
-> Fix the lock being released too early in Environment::setTimeOfDay
-> Add serverside getter so that you don't have to get
the environment if you only have the server

9 years agoFix missing #include
PilzAdam [Tue, 27 Oct 2015 14:55:34 +0000 (15:55 +0100)]
Fix missing #include

9 years agoMove basic, non-numeric macros from util/numeric.h to basicmacros.h
kwolekr [Tue, 27 Oct 2015 05:50:46 +0000 (01:50 -0400)]
Move basic, non-numeric macros from util/numeric.h to basicmacros.h

9 years agoFix jittering sounds on entities (fixes #2974) 3040/head
BlockMen [Wed, 12 Aug 2015 15:13:19 +0000 (17:13 +0200)]
Fix jittering sounds on entities (fixes #2974)

9 years agoFix typo
BlockMen [Mon, 26 Oct 2015 14:14:22 +0000 (15:14 +0100)]
Fix typo

9 years agoSAPI: Fix seed parameter truncation for LuaPseudoRandom constructor
kwolekr [Mon, 26 Oct 2015 08:01:01 +0000 (04:01 -0400)]
SAPI: Fix seed parameter truncation for LuaPseudoRandom constructor

Also fix a potential seed truncation issue on platforms where the
range of ptrdiff_t (the underlying type of lua_Integer) is too small.

9 years agoSAPI: Move core.get_us_time() to Util module
kwolekr [Mon, 26 Oct 2015 07:45:55 +0000 (03:45 -0400)]
SAPI: Move core.get_us_time() to Util module

9 years agoRemove some abort() calls
est31 [Mon, 26 Oct 2015 03:13:27 +0000 (04:13 +0100)]
Remove some abort() calls

abort() doesn't benefit from the high level abstractions from FATAL_ERROR.

9 years agoSAPI: Throw runtime error instead of if l_get_mapgen_object called in incorrect thread
kwolekr [Mon, 26 Oct 2015 03:12:59 +0000 (23:12 -0400)]
SAPI: Throw runtime error instead of if l_get_mapgen_object called in incorrect thread

9 years agoSAPI: Mark all Lua API functions requiring envlock
kwolekr [Sun, 25 Oct 2015 04:45:18 +0000 (00:45 -0400)]
SAPI: Mark all Lua API functions requiring envlock

9 years agoCorrect comment in l_util.cpp
est31 [Sun, 25 Oct 2015 23:12:39 +0000 (00:12 +0100)]
Correct comment in l_util.cpp

Remove outdated loglevel list from a l_util.cpp comment,
and rather point to the updated code.

9 years agoFix parameter passing to gettext call
PilzAdam [Sun, 25 Oct 2015 18:14:07 +0000 (19:14 +0100)]
Fix parameter passing to gettext call

9 years agoCheck if hitter has inventory when punching item
BlockMen [Sun, 25 Oct 2015 17:15:31 +0000 (18:15 +0100)]
Check if hitter has inventory when punching item

Fixes #3280

9 years agoCredits: Remove my name
Rui [Sat, 24 Oct 2015 08:30:36 +0000 (17:30 +0900)]
Credits: Remove my name

9 years agoAdd option to disable backface culling for models 3209/head
BlockMen [Mon, 28 Sep 2015 18:49:38 +0000 (20:49 +0200)]
Add option to disable backface culling for models

- Disabled by default (except players)
- Fixes #2984

9 years agoEscape " in generated settings_translation_file.cpp
PilzAdam [Sun, 25 Oct 2015 09:56:58 +0000 (10:56 +0100)]
Escape " in generated settings_translation_file.cpp

9 years agoFix out of bounds vector write in Logger::addOutput(ILogOutput *out)
est31 [Sat, 24 Oct 2015 22:01:57 +0000 (00:01 +0200)]
Fix out of bounds vector write in Logger::addOutput(ILogOutput *out)

Previously, the invocation of Logger::addOutput(ILogOutput *out) led to
an out of bounds write of the m_outputs vector, resulting in the
m_silenced_levels array being modified.

Fortunately, the only caller of that method was android system logging,
and only since a few commits ago.

9 years agoFix setting comments
PilzAdam [Sat, 24 Oct 2015 21:11:21 +0000 (23:11 +0200)]
Fix setting comments

9 years agoDon't allow games or mods to add secure. settings
PilzAdam [Sat, 24 Oct 2015 20:31:54 +0000 (22:31 +0200)]
Don't allow games or mods to add secure. settings

9 years agoMgfractal: Independent iterations and scale parameters
paramat [Fri, 23 Oct 2015 22:02:10 +0000 (23:02 +0100)]
Mgfractal: Independent iterations and scale parameters

Complete set of parameters for each of mandelbrot and julia sets
The julia set structure often needs different iterations and scale

9 years agoAndroid: statically load iconv library
est31 [Sat, 24 Oct 2015 18:44:07 +0000 (20:44 +0200)]
Android: statically load iconv library

Fixes #3291

Thanks to @arpruss for reporting the bug, and suggesting the fix.

Also, remove trailing whitespaces.

9 years agoRun updatepo.sh
est31 [Sat, 24 Oct 2015 18:29:11 +0000 (20:29 +0200)]
Run updatepo.sh

9 years agoBetter gettext support for protocol version mismatch messages 3230/head
est31 [Sun, 4 Oct 2015 23:52:41 +0000 (01:52 +0200)]
Better gettext support for protocol version mismatch messages

Previously, xgettext failed to resolve the dynamic call.
Thanks to @JakubVanek for pointing this out.

9 years agoSmall logging refactor and additional options
est31 [Sat, 24 Oct 2015 10:52:14 +0000 (12:52 +0200)]
Small logging refactor and additional options

-> Get rid of Logger::logToSystem and use normal downstream output system for android instead

-> Give the downstream output system more information: enrich the log function of ILogOutput
with information and add ICombinedLogOutput for easier use.

-> Make Logger::getLevelLabel() static and public so that it can be used by downstream log output.

-> Add g_ and m_ prefixes where required

9 years agoImprove Lua settings menu 3271/head
PilzAdam [Sun, 18 Oct 2015 08:41:52 +0000 (10:41 +0200)]
Improve Lua settings menu

* Add key settings to setting table and ignore them later
  This way they are added to the auto-generated minetest.conf.example
* Add flags type
* Add input validation for int, float and flags
* Break in-game graphic settings into multiple sections
* Parse settingtpes.txt in mods and games
* Improve description for a lot of settings
* Fix typos and wording in settingtypes.txt
* Convert language setting to an enum

9 years agoFix compilation under MSVC and remove unnecessary conditional function prototype
kwolekr [Sat, 24 Oct 2015 17:31:42 +0000 (13:31 -0400)]
Fix compilation under MSVC and remove unnecessary conditional function prototype

Thanks to SmallJoker for pointing this out.

9 years agoFix on_rightclick() being called directly after placing node 3283/head
BlockMen [Fri, 23 Oct 2015 21:38:21 +0000 (23:38 +0200)]
Fix on_rightclick() being called directly after placing node

fixes https://github.com/minetest/minetest_game/issues/537

9 years agoImprove rollback database indexing
cheapie [Sat, 24 Oct 2015 04:52:45 +0000 (23:52 -0500)]
Improve rollback database indexing

Index more columns in the action table of the rollback DB to improve the performance of /rollback_check

9 years agoFlush rollback log more often
est31 [Sat, 24 Oct 2015 06:20:42 +0000 (08:20 +0200)]
Flush rollback log more often

Flushes the buffer of rollback actions that wait to get saved in two more situations:

1. Flushes in the destructor of the rollback. This makes the server not
forget the last < 500 rollback entries when it shuts down.

2. Flushes the rollback when /rollback_check is invoked. This is neccessary
as otherwise it leads to confusion if users want to test the rollback functionality
by placing a node and then executing the check on it, or if the actions were
very recent out of other reasons.

9 years agoFix some threading things and add additional thread unittests
kwolekr [Sun, 18 Oct 2015 02:42:48 +0000 (22:42 -0400)]
Fix some threading things and add additional thread unittests

- Fix thread name reset on start()
- Fully reset thread state on kill()
- Add unittests to check for correct object states under various circumstances

9 years agoDecoration API: Add flag for placement on liquid surface
paramat [Wed, 21 Oct 2015 07:51:59 +0000 (08:51 +0100)]
Decoration API: Add flag for placement on liquid surface

Add findLiquidSurface() function to mapgen.cpp
Update lua_api.txt

9 years agoAdd more ways to pass data to check_player_privs
Robert Zenz [Thu, 3 Sep 2015 19:28:38 +0000 (21:28 +0200)]
Add more ways to pass data to check_player_privs

The callback can now be invoked with either the player object or name as
the first parameter, and with either a table or a list of strings, like
this:

    minetest.check_player_privs(player_name, { shout = true, fly = true })
    minetest.check_player_privs(player_name, "shout", "fly")
    minetest.check_player_privs(player, { shout = true, fly = true })
    minetest.check_player_privs(player, "shout", "fly")

9 years agoTranslated using Weblate (Portuguese (Brazil))
Leonardo [Thu, 15 Oct 2015 02:11:56 +0000 (04:11 +0200)]
Translated using Weblate (Portuguese (Brazil))

Currently translated at 72.6% (202 of 278 strings)

9 years agoTranslated using Weblate (Japanese)
Rui [Mon, 5 Oct 2015 06:20:24 +0000 (08:20 +0200)]
Translated using Weblate (Japanese)

Currently translated at 100.0% (278 of 278 strings)

9 years agoTranslated using Weblate (German)
est31 [Mon, 5 Oct 2015 00:00:34 +0000 (02:00 +0200)]
Translated using Weblate (German)

Currently translated at 100.0% (278 of 278 strings)

9 years agoinit_log_streams: check if log_filename is empty.
Jun Zhang [Mon, 19 Oct 2015 03:47:14 +0000 (11:47 +0800)]
init_log_streams: check if log_filename is empty.

Fixes #3262.

9 years agoABMs: Make catch-up behaviour optional
paramat [Tue, 13 Oct 2015 04:17:33 +0000 (05:17 +0100)]
ABMs: Make catch-up behaviour optional

Default is true for backwards compatibility
Update lua_api.txt

9 years agoSettings tab: double click opens/closes trees
Kahrl [Sun, 18 Oct 2015 09:03:59 +0000 (11:03 +0200)]
Settings tab: double click opens/closes trees

9 years agoSettings tab: don't autoscroll when toggling "Show technical names"
Kahrl [Sun, 18 Oct 2015 08:42:44 +0000 (10:42 +0200)]
Settings tab: don't autoscroll when toggling "Show technical names"

9 years agoRemove wstrgettext 3269/head
est31 [Sun, 18 Oct 2015 00:29:06 +0000 (02:29 +0200)]
Remove wstrgettext

Everywhere where wstrgettext was used, its output was converted back
to utf8. As wstrgettext internally converts the return value
from utf8 to wstring, it has been a waste. Remove the function, and
use strgettext instead.

9 years agoDisplay sane output for empty descriptions
est31 [Sun, 18 Oct 2015 00:18:10 +0000 (02:18 +0200)]
Display sane output for empty descriptions

According to its man page, the function gettext(3)
"may return a nonempty string" when msgid is "".

This commit fixes a bug where the comment ""
for some settings caused gettext to return a
"nonempty string", in this case header info of the
po file.

9 years agoFix GUITable selection issues with trees
Kahrl [Sat, 17 Oct 2015 21:34:45 +0000 (23:34 +0200)]
Fix GUITable selection issues with trees

- setOpenedTrees(): this internal function was calling setSelected()
  to update m_selected. Since setSelected() calls autoScroll(),
  this caused the scrollbar to scroll back to the selected row
  in some cases when that shouldn't be done.

  For example, clicking the "+" to open a tree caused autoscroll.

  Fix this by making setOpenedTrees() modify m_selected directly.

- setDynamicData(): set scrollbar position after calling
  setSelected(), not before. This avoids setSelected()'s autoscroll
  messing up the scrollbar position again.

- setSelected(): If an invisible row is selected, open all parents
  of the selected row in order to make the selected row visible.

  This fixes the issue where all the trees are closed again whenever
  you return from the setting edit dialog to the settings tab.

9 years agoRe-add "file" type for --add-location for xgettext call
est31 [Sat, 17 Oct 2015 20:19:04 +0000 (22:19 +0200)]
Re-add "file" type for --add-location for xgettext call

Passing line numbers in the comments is bad.

References:

* Commit 94961b3364f76d5861913af321e9be6200d080b3
* Previous commit

9 years agoNew settings tab contain all possible settings 3258/head
PilzAdam [Thu, 15 Oct 2015 19:32:31 +0000 (21:32 +0200)]
New settings tab contain all possible settings

Settings are automatically parsed from builtin/settingtypes.txt
The edit dialog automatically adjust based on the type of setting

9 years agoFix == to =
Rui [Sat, 17 Oct 2015 10:23:07 +0000 (19:23 +0900)]
Fix == to =

9 years agoFix missing include on AIX
kwolekr [Sat, 17 Oct 2015 05:16:17 +0000 (01:16 -0400)]
Fix missing include on AIX

9 years agoRefactor Thread class to improve readability and portability
kwolekr [Sat, 17 Oct 2015 03:43:29 +0000 (23:43 -0400)]
Refactor Thread class to improve readability and portability

- Fix some incompatibilities with obscure platforms (AIX and WinCE)
- Clean up Thread class interface
- Add m_ prefix to private member variables
- Simplify platform-dependent logic, reducing preprocessor
  conditional clauses and improving readibility
- Add Thread class documentation

9 years agoRefactor thread utility interface
kwolekr [Sat, 17 Oct 2015 01:12:30 +0000 (21:12 -0400)]
Refactor thread utility interface

- Add "thr_" prefix to thread utility functions
- Compare threadid_ts in a portable manner, where possible

9 years agoFix crash regression when invsize formspec gets used
est31 [Fri, 16 Oct 2015 23:01:12 +0000 (01:01 +0200)]
Fix crash regression when invsize formspec gets used

The invsize formspec element is outdated. Even though,
it is still supported, only a deprecation warning is shown,
introduced by commit [1]. The lua context passed to the
log_deprecated method added by commit [1] is NULL for the
invsize deprecation warning, as its run on the client and not
the server.

Commit [1] has removed checks for NULL inside the log_deprecated
method, resulting in a crash when a formspec with an invsize
element is parsed. This commit puts the check back.

Fixes #3260.

Referenced commits:

[1]: b5acec0a3c5701c53854ff7afdf4008863e6e8df "Add proper lua api deprecated handling"

[2]: 7b8d372947aae232ddf598155e972bb4dda157a "Use warningstream for deprecated field messages and refactor log_deprecated"

9 years agoFix enforcing of nametag hiding
est31 [Thu, 15 Oct 2015 21:46:03 +0000 (23:46 +0200)]
Fix enforcing of nametag hiding

Commit

d2ca662569427d36642660314668e416bf68f3c8 "Enforce hiding nametag"

didn't fix the issue for "client" instances, where the nametag update
was received before the object was added to the scene. This resulted
in the grey shadow on the nametag that commit tried to fix.

Thanks to @neoascetic for pointing out that there still is a shadow.

9 years agoCompress textures and fonts
Maksim Gamarnik [Thu, 15 Oct 2015 05:45:59 +0000 (01:45 -0400)]
Compress textures and fonts

Used PNGOUT, OptiPNG and DeflOpt.
Removes ~350 KB without any loss in quality.

9 years agoAdd BufReader and vector-based serialization methods
kwolekr [Thu, 6 Aug 2015 04:26:18 +0000 (00:26 -0400)]
Add BufReader and vector-based serialization methods

9 years agoClean up gettext initialization
ShadowNinja [Thu, 15 Oct 2015 04:45:56 +0000 (00:45 -0400)]
Clean up gettext initialization

9 years agoUse warningstream for deprecated field messages and refactor log_deprecated
ShadowNinja [Thu, 15 Oct 2015 05:08:18 +0000 (01:08 -0400)]
Use warningstream for deprecated field messages and refactor log_deprecated

9 years agoRemove explicit syslog printing for uncaught exceptions on Android
ShadowNinja [Thu, 15 Oct 2015 04:23:29 +0000 (00:23 -0400)]
Remove explicit syslog printing for uncaught exceptions on Android

All log operations are now added to the syslog implicitly.
Also, pass along mutable string to argument vector for main().

9 years agoRename macros with two leading underscores
ShadowNinja [Wed, 14 Oct 2015 06:39:30 +0000 (02:39 -0400)]
Rename macros with two leading underscores

These names are reserved for the compiler/library implementations.

9 years agoAlways use errorstream for DEBUG_EXCEPTION_HANDLER
ShadowNinja [Wed, 14 Oct 2015 06:33:04 +0000 (02:33 -0400)]
Always use errorstream for DEBUG_EXCEPTION_HANDLER

9 years agoLower log level for benign socket errors 3249/head
ShadowNinja [Wed, 14 Oct 2015 06:21:41 +0000 (02:21 -0400)]
Lower log level for benign socket errors

9 years agoUse warningstream for log messages with WARNING
ShadowNinja [Wed, 14 Oct 2015 05:26:03 +0000 (01:26 -0400)]
Use warningstream for log messages with WARNING

Remove DTIME macro and its uses, too

9 years agoRefactor logging
ShadowNinja [Tue, 13 Oct 2015 07:57:44 +0000 (03:57 -0400)]
Refactor logging

- Add warning log level
- Change debug_log_level setting to enumeration string
- Map Irrlicht log events to MT log events
- Encapsulate log_* functions and global variables into a class, Logger
- Unify dstream with standard logging mechanism
- Unify core.debug() with standard core.log() script API

9 years agoFix how address is logged when a wrong password is supplied
Kahrl [Mon, 12 Oct 2015 19:25:11 +0000 (21:25 +0200)]
Fix how address is logged when a wrong password is supplied

- SRP: print the address only once, not twice
- Legacy: previously the address was not printed at all
- Make both messages structurally the same, to facilitate log analyzers

9 years agoLocalize digprop_err function
Rui [Sun, 11 Oct 2015 12:10:26 +0000 (21:10 +0900)]
Localize digprop_err function

9 years agoMgfractal: Independant offset and slice params for mandelbrot and julia
paramat [Sun, 11 Oct 2015 17:11:09 +0000 (18:11 +0100)]
Mgfractal: Independant offset and slice params for mandelbrot and julia

Player now spawns on julia set due to julia offset
Add commented-out '#include profiler.h' for timetaker use
Use v3fs to reduce number of parameters
Tune tunnel width to match mgv7

9 years agoFractal mapgen: Fix mysterious bug
paramat [Sat, 10 Oct 2015 19:56:29 +0000 (20:56 +0100)]
Fractal mapgen: Fix mysterious bug

9 years agoClear list rings when loading a new formspec
est31 [Sat, 10 Oct 2015 15:07:53 +0000 (17:07 +0200)]
Clear list rings when loading a new formspec

Fixes a bug where the old list ring remained when a new formspec
was displayed over the old one. This created the list-ring of the new formspec
to be partly ignored.

Thanks to @VanessaE to report the bug, and @DonBatman to produce the code that
exposed it.

9 years agoMapgen: Use mapgen-specific names for constants in headers
paramat [Thu, 8 Oct 2015 04:17:25 +0000 (05:17 +0100)]
Mapgen: Use mapgen-specific names for constants in headers

Update copyright years in all mapgens
Add myself to copyright notices in mgv5 and mgv7

9 years agoFractal mapgen: Add seabed and large pseudorandom caves
paramat [Wed, 7 Oct 2015 01:05:03 +0000 (02:05 +0100)]
Fractal mapgen: Add seabed and large pseudorandom caves

9 years agoAndroid/Mapgen: Add fractal mapgen file to android makefiles
paramat [Tue, 6 Oct 2015 21:14:44 +0000 (22:14 +0100)]
Android/Mapgen: Add fractal mapgen file to android makefiles

9 years agoCorrect SRP documentation
est31 [Tue, 6 Oct 2015 17:08:53 +0000 (19:08 +0200)]
Correct SRP documentation

Previous statements were wrong.

9 years agoAdd viewing range GUI setting
kilbith [Sat, 3 Oct 2015 14:01:39 +0000 (16:01 +0200)]
Add viewing range GUI setting

9 years agoMapgen: Add 4D fractal mapgen
paramat [Tue, 14 Apr 2015 03:38:01 +0000 (04:38 +0100)]
Mapgen: Add 4D fractal mapgen

9 years agoMgv5: getGroundLevelAtPoint searches a larger range
paramat [Sun, 4 Oct 2015 02:52:55 +0000 (03:52 +0100)]
Mgv5: getGroundLevelAtPoint searches a larger range

9 years agoTranslated using Weblate (Spanish)
OdnetninI [Sun, 4 Oct 2015 10:36:17 +0000 (12:36 +0200)]
Translated using Weblate (Spanish)

Currently translated at 99.6% (277 of 278 strings)

9 years agoTranslated using Weblate (German)
pilino1234 [Fri, 2 Oct 2015 18:11:01 +0000 (20:11 +0200)]
Translated using Weblate (German)

Currently translated at 100.0% (278 of 278 strings)

9 years agoTranslated using Weblate (German)
Luca Gronmaier [Sat, 26 Sep 2015 16:47:01 +0000 (18:47 +0200)]
Translated using Weblate (German)

Currently translated at 100.0% (278 of 278 strings)

9 years agoTranslated using Weblate (German)
pilino1234 [Sat, 26 Sep 2015 16:45:55 +0000 (18:45 +0200)]
Translated using Weblate (German)

Currently translated at 100.0% (278 of 278 strings)

9 years agoTranslated using Weblate (German)
Luca Gronmaier [Sat, 26 Sep 2015 16:43:29 +0000 (18:43 +0200)]
Translated using Weblate (German)

Currently translated at 100.0% (278 of 278 strings)

9 years agoTranslated using Weblate (Spanish)
andrewgigena [Thu, 24 Sep 2015 13:53:00 +0000 (15:53 +0200)]
Translated using Weblate (Spanish)

Currently translated at 100.0% (278 of 278 strings)

9 years agoTranslated using Weblate (Ukrainian)
Olexandr [Mon, 21 Sep 2015 21:18:50 +0000 (23:18 +0200)]
Translated using Weblate (Ukrainian)

Currently translated at 81.6% (227 of 278 strings)

9 years agoTranslated using Weblate (Ukrainian)
Olexandr [Sat, 19 Sep 2015 21:15:12 +0000 (23:15 +0200)]
Translated using Weblate (Ukrainian)

Currently translated at 78.0% (217 of 278 strings)

9 years agoTranslated using Weblate (Spanish)
Laura Arjona Reina [Sun, 20 Sep 2015 16:00:45 +0000 (18:00 +0200)]
Translated using Weblate (Spanish)

Currently translated at 100.0% (278 of 278 strings)

9 years agoTranslated using Weblate (Norwegian Bokmål)
Christian Haug [Sun, 20 Sep 2015 15:15:21 +0000 (17:15 +0200)]
Translated using Weblate (Norwegian Bokmål)

Currently translated at 3.5% (10 of 278 strings)

9 years agoTranslated using Weblate (Hungarian)
way-hu [Mon, 21 Sep 2015 12:55:05 +0000 (14:55 +0200)]
Translated using Weblate (Hungarian)

Currently translated at 92.8% (258 of 278 strings)

9 years agoTranslated using Weblate (Spanish)
Laura Arjona Reina [Sun, 20 Sep 2015 15:54:26 +0000 (17:54 +0200)]
Translated using Weblate (Spanish)

Currently translated at 100.0% (278 of 278 strings)

9 years agoTranslated using Weblate (Spanish)
Laura Arjona Reina [Sun, 20 Sep 2015 15:49:52 +0000 (17:49 +0200)]
Translated using Weblate (Spanish)

Currently translated at 100.0% (278 of 278 strings)

9 years agoTranslated using Weblate (Ukrainian)
Olexandr [Thu, 17 Sep 2015 20:38:55 +0000 (22:38 +0200)]
Translated using Weblate (Ukrainian)

Currently translated at 66.5% (185 of 278 strings)

Maybe it is better to describe allowed symbols instead of writing regex?

9 years agoTranslated using Weblate (Ukrainian)
Olexandr [Thu, 17 Sep 2015 19:56:08 +0000 (21:56 +0200)]
Translated using Weblate (Ukrainian)

Currently translated at 46.4% (129 of 278 strings)

9 years agoTranslated using Weblate (German)
pilino1234 [Thu, 17 Sep 2015 13:13:06 +0000 (15:13 +0200)]
Translated using Weblate (German)

Currently translated at 99.2% (276 of 278 strings)

9 years agoTranslated using Weblate (Chinese (Taiwan))
Jeff Huang [Thu, 17 Sep 2015 10:48:02 +0000 (12:48 +0200)]
Translated using Weblate (Chinese (Taiwan))

Currently translated at 100.0% (278 of 278 strings)