Anders Jenbo
d11eeaa9ec
Log uninplemented plural expressions ( #4017 )
2022-02-01 08:30:08 +01:00
ephphatha
6a1091ce09
Rename Korean/Romanian translation files so they are used in fallback resolution
2022-01-04 23:20:53 +01:00
Andrew James
e1d01aad7c
Replace en_US code with en when searching for user preferred languages ( #3859 )
2021-12-30 04:12:17 +01:00
Gleb Mazovetskiy
02902e5188
language.cpp: Fix -Wwrite-strings
2021-12-16 19:32:27 +00:00
ephphatha
a1652bd5d6
Interleave non-regional fallback locales after last regional variation
2021-12-14 07:07:38 +01:00
ephphatha
c0ec4a845a
Restore fallback for non-regional translation
...
Also adds an explicit check for en given this the base translation for the application and will never have a .mo/.gmo file.
2021-12-14 07:07:38 +01:00
Gleb Mazovetskiy
a4bc8fea7d
Fix warnings: -Wsign-compare, -Wnarrowing
2021-12-08 23:03:20 +00:00
obligaron
945ee04f62
Add OptionEntry Language
2021-11-28 19:08:10 +01:00
obligaron
0ac065dbaa
Make LanguageInitialize() reentry capable
2021-11-28 19:08:10 +01:00
Gleb Mazovetskiy
c57644970f
Move UiFlags and UiPanels into their own files
...
The first breaks circular dependency between `DiabloUI` and `text_render`.
The latter one moves `UiPanels` to a more appropriate place.
2021-11-25 12:22:27 +01:00
Gleb Mazovetskiy
7e1fea6f76
clang-format all files in {Source,test}/
...
Also includes a few manual tweaks to comments and newlines for better results.
Co-authored-by: Anders Jenbo <anders@jenbo.dk>
2021-11-24 23:44:12 +01:00
Gleb Mazovetskiy
4f64b87330
Fix talk/store text overlap for Chinese and Japanese
...
We ensure that selectable lines are placed at the same vertical
coordinates but space out unselectable text lines at the cost
of reduced heigh of empty space between the store items.
We also have to move the back button in scrollable lists to the
lower right.
This can definitely be improved further but at least it solves
the problem for now.
Refs #3162
2021-11-20 02:31:21 +00:00
Gleb Mazovetskiy
fa90679416
game_assets.* -> assets.*
2021-11-17 11:49:57 +01:00
Gleb Mazovetskiy
3d308983a8
Migrate to libmpq
...
libmpq is a much simpler alternative to StormLib for reading MPQ archives.
We use our own fork of libmpq: https://github.com/diasurgical/libmpq
Impact:
* DevilutionX is now a lot more portable. Unlike StormLib, libmpq only
needs platform-specific code for Windows.
* Locks around file access **removed** (instead we duplicate the file descriptor for streamed audio only).
* RAM usage is **300 KiB** lower than StormLib.
* Stripped release linux_x86_64 binary is **32 KiB** smaller.
* Amiga build now hangs instead of crashing.
2021-11-06 23:51:42 +00:00
Anders Jenbo
f1efc205ff
Add support for Romanian plural forms
2021-10-25 16:15:30 +02:00
Anders Jenbo
3b229a8275
Check for translation in the same place as they are loaded from
2021-10-24 16:03:26 +02:00
Gleb Mazovetskiy
3448eab2d3
Translations: Restore support for ".mo" files
...
Note that they now need to go into the "assets/" subdirectory of the
build directory.
2021-10-23 20:04:34 +02:00
Gleb Mazovetskiy
5e675dcd6a
Handle translations like other assets
...
Load translations from the MPQ or the assets directory, same as we do
with other DevilutionX assets.
2021-10-23 20:04:34 +02:00
Anders Jenbo
f77d0b3665
Close translation-file handler
2021-10-20 21:52:59 +02:00
Anders Jenbo
d88a8f401f
Fix parsing of translation file header
2021-10-17 05:50:24 +02:00
Anders Jenbo
dd5ec18ca7
Remove dead code from translation parser
2021-10-17 05:50:24 +02:00
Anders Jenbo
af046864de
Properly handle plural forms for Czech and Polish
2021-10-16 17:53:43 +02:00
Anders Jenbo
704a04ae4d
Add support for Unicode fonts
2021-09-24 03:03:58 +02:00
Anders Jenbo
671fdbd125
Implement contextural translation (pgettext)
...
Fixes #2369
Fixes #2790
2021-09-20 04:18:35 +02:00
Anders Jenbo
370e573209
Prefer test versions of translations
2021-08-08 21:58:05 +02:00
Ivan Epifanov
cf5ab583d5
Open translations as read-only
2021-08-08 16:17:27 +02:00
Anders Jenbo
d523fc1e81
Cleanups
2021-08-02 10:12:40 +02:00
Anders Jenbo
01f66d7f73
[android] Implement loading translations from assets
2021-08-01 12:35:24 +02:00
Anders Jenbo
5c2a559487
Get default langauge
2021-08-01 12:35:24 +02:00
Anders Jenbo
372b1dcba2
Clang-tidy: readability-identifier-naming.MemberCase: camelBack
2021-07-03 17:26:29 -07:00
Gleb Mazovetskiy
6a27b37d62
Windows: Handle Unicode paths in language.cpp
2021-05-10 12:35:37 +02:00
Anders Jenbo
3f891a4333
🌐 Correctly handle two more plural translation
2021-05-02 23:33:50 +02:00
Gleb Mazovetskiy
f33f7ae7eb
💨 Do not zero-initalize arrays we write to
...
`std::make_unique<T[]>(size)` always zero-initalizes the array.
C++20 has `std::make_unique_for_overwrite` to avoid that, while
older C++ versions can use the approach applied here.
2021-05-02 05:52:11 +02:00
Anders Jenbo
b177f77d21
🎨 Cleanup language.cpp
2021-05-02 05:22:42 +02:00
Anders Jenbo
18f3a0c5ea
✨ Support for plural forms in translations
...
The implementation isn't robust, dynamic or pretty, but works for now.
2021-05-01 19:27:55 +02:00
Anders Jenbo
34eecd6dac
🐛 Fix handeling of mo-file header
2021-04-30 21:20:58 +02:00
Gleb Mazovetskiy
979bedb8c2
🐞 Fix memory leaks in utils/language.{h,cpp}
...
This is a minimal refactoring to fix the memory leaks which have made
reading debug output impossible.
2021-04-30 14:16:13 +02:00
Gleb Mazovetskiy
c025bf6050
🎨 Fix line endings in utils/language.{h,cpp}
2021-04-30 14:16:13 +02:00
Anders Jenbo
e3526a5ff6
🌐 Convert all src to UTF8
2021-04-28 01:58:00 +02:00
Jmgr
d4f62870b8
Remove globals from paths.h
...
Fix for Vita
Update to use free functions
Use std::optional to allow setting empty paths
Change header inclusion order
Co-authored-by: Gleb Mazovetskiy <glex.spb@gmail.com>
Use std::optional to allow setting empty paths
Apply clang-format
Temporary commit
2021-04-25 22:26:37 +02:00
John Törnblom
102ee9ead1
convert utf8 language strings to latin1
2021-04-25 12:42:00 +02:00
John Törnblom
30db9e7dd0
trim strings from language metadata
2021-04-25 12:42:00 +02:00
John Törnblom
9c61baea9f
parse translation metadata
2021-04-25 12:42:00 +02:00
John Törnblom
0be36898b9
ensure translations are null-terminated
2021-04-25 12:42:00 +02:00
Anders Jenbo
32117dc73b
🔧 Create translation template and update translations
2021-04-25 04:56:15 +02:00
John Törnblom
51e7a169a6
add initial language support using a simple MO parser
2021-04-25 03:40:45 +02:00