mirror of
https://github.com/LibreOffice/online.git
synced 2026-01-14 03:15:43 +00:00
LibreOffice Online/android-app (Hungarian) Currently translated at 100.0% (107 of 107 strings) Change-Id: I11e181e632c3d3690e5845f8e166904f329612dd update translations LibreOffice Online/loleaflet-ui (Hungarian) Currently translated at 100.0% (348 of 348 strings) Change-Id: Ie204f535954b8e7aa884e9b72f6ba5ad3ced1b72 update translations LibreOffice Online/loleaflet-ui (Spanish) Currently translated at 100.0% (348 of 348 strings) Change-Id: I785c8c7bfd196a783f87e19e07aa0a55a19ec04a update translations LibreOffice Online/loleaflet-ui (Catalan) Currently translated at 100.0% (348 of 348 strings) Change-Id: Ia4f7048090053ec9d554bdec582cd5d899b72256 update translations LibreOffice Online/loleaflet-ui (Asturian) Currently translated at 44.8% (156 of 348 strings) Change-Id: I08f7544d1b4a216cd2b9a10cd2042ab9ebd4503f Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Change-Id: I5c7c1370bc62603e443792560b6c40593308ad9f Translation: LibreOffice Online/loleaflet-ui Translate-URL: https://weblate.documentfoundation.org/projects/libo_online/loleaflet-ui/ update translations LibreOffice Online/android-app (Slovak) Currently translated at 100.0% (107 of 107 strings) Change-Id: I46c31c4a1248c66689d5dd0fea2fc10881d32a7d update translations LibreOffice Online/android-app (English (United Kingdom)) Currently translated at 100.0% (107 of 107 strings) Change-Id: I938a217d2c0e48dc537d80bb523b6334cf172872 update translations LibreOffice Online/android-lib (Chinese (Traditional)) Currently translated at 100.0% (13 of 13 strings) Change-Id: I6b1356004e470d5675e74ec599e9ae715d8880a1 update translations LibreOffice Online/android-app (Portuguese (Brazil)) Currently translated at 100.0% (107 of 107 strings) Change-Id: Id8d459e74b122321165559f4f3d2750621d8afa0 update translations LibreOffice Online/android-app (Chinese (Simplified)) Currently translated at 98.1% (105 of 107 strings) Change-Id: I425e1add15ee3096c5150cbd5682043805821adf update translations LibreOffice Online/android-app (Chinese (Traditional)) Currently translated at 100.0% (107 of 107 strings) Change-Id: I52d04f74cc9b1a277de4831b4ae815f6cf4137f6 update translations LibreOffice Online/android-lib (Chinese (Traditional)) Currently translated at 100.0% (13 of 13 strings) Change-Id: I3fc049d00fa9fbd516ca2c5928bccdc98c73fef9 update translations LibreOffice Online/loleaflet-ui (Chinese (Simplified)) Currently translated at 97.6% (339 of 347 strings) Change-Id: I89f0cca4a3356c24b10659cb6563bb836ef00ce0 update translations LibreOffice Online/android-app (Lower Sorbian) Currently translated at 100.0% (107 of 107 strings) Change-Id: Id686eca772b16d1789120d6af306e43485322e50 update translations LibreOffice Online/android-app (Upper Sorbian) Currently translated at 100.0% (107 of 107 strings) Change-Id: I2aa71bce22095aeb24825e39741a3e07e7327410 update translations LibreOffice Online/android-app (Polish) Currently translated at 100.0% (107 of 107 strings) Change-Id: I2ec8bbcfc621542a6b58a6e4f1ebe00412caa3bd update translations LibreOffice Online/android-app (Asturian) Currently translated at 71.9% (77 of 107 strings) Change-Id: Id2f2954719a55a658646b9361c202bed14f64387 update translations LibreOffice Online/android-app (Catalan) Currently translated at 100.0% (107 of 107 strings) Change-Id: If314ddee8235aa1e1a3ec840edf76240ac6a8633 update translations LibreOffice Online/android-app (Spanish) Currently translated at 100.0% (107 of 107 strings) Change-Id: I4c0b9eeedcd7f5d9b23b7aa031619c7f3f0648cb update translations LibreOffice Online/loleaflet-help (Italian) Currently translated at 100.0% (418 of 418 strings) Change-Id: I3c93ed76678389f968494f8166eaf3a7d6c4c7a6 update translations LibreOffice Online/loleaflet-help (Esperanto) Currently translated at 100.0% (418 of 418 strings) Change-Id: Icef2e2c54a678d73b4692939e2554d595ed4d261 update translations LibreOffice Online/loleaflet-ui (Italian) Currently translated at 100.0% (347 of 347 strings) Change-Id: I700e515880257df5421fb21495ffc075d4911968 update translations LibreOffice Online/loleaflet-ui (Italian) Currently translated at 100.0% (347 of 347 strings) Change-Id: I3c0db51d2645e0942d037b506cab57423898fb0f update translations LibreOffice Online/loleaflet-ui (Esperanto) Currently translated at 100.0% (347 of 347 strings) Change-Id: Ia030f55b2ab4c0457f1c43c6839582d4f0532165 update translations LibreOffice Online/loleaflet-ui (Italian) Currently translated at 98.5% (342 of 347 strings) Change-Id: I5d3376462a3d17d6a8114d449dc47f9999f2272a update translations LibreOffice Online/android-lib (Portuguese) Currently translated at 100.0% (13 of 13 strings) Change-Id: I5674e50a3c3599ccb1eaa6dbf18955a03e8e8f46 update translations LibreOffice Online/loleaflet-help (Portuguese) Currently translated at 55.7% (233 of 418 strings) Change-Id: I204aadbbe1fed31742e0358b378a32b26ebb904b update translations LibreOffice Online/loleaflet-ui (Portuguese) Currently translated at 100.0% (347 of 347 strings) Change-Id: I738562ff499e8e96985f728c5eb267f3f307e355 update translations LibreOffice Online/loleaflet-ui (Basque) Currently translated at 100.0% (347 of 347 strings) Change-Id: I8866029b5fb4c4980c224770e610e32756ca5df2 Reviewed-on: https://gerrit.libreoffice.org/c/online/+/103405 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
The development of this Android app has to be done on Linux, it's currently not possible to
build the native parts on Windows.
* Compile LibreOffice master for Android.
Do this in the folder where you cloned the LibreOffice core (e.g master-android).
Create an autogen.input file:
--build=x86_64-unknown-linux-gnu
--with-android-ndk=/home/$USER/Android/Sdk/ndk-bundle
--with-android-sdk=/home/$USER/Android/Sdk
--with-distro=LibreOfficeAndroid
--enable-sal-log
Run ./autogen.sh && make
* Build the POCO for Android
# clone the poco repository in the same folder where LibreOffice core and online folders are placed.
git clone https://github.com/pocoproject/poco poco-android
cd poco-android
# use the 1.10.1 branch
git checkout -b poco-1.10.1 origin/poco-1.10.1
# configure
./configure --config=Android --no-samples --no-tests --omit=Crypto,NetSSL_OpenSSL,Zip,Data,Data/SQLite,Data/ODBC,Data/MySQL,MongoDB,PDF,CppParser,PageCompiler,JWT
# make it
PATH="$PATH":~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin make -j8 ANDROID_ABI=armeabi-v7a CC=armv7a-linux-androideabi21-clang CXX=armv7a-linux-androideabi21-clang++ SYSLIBS=-static-libstdc++
# install it to /opt/poco-android
PATH="$PATH":~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin make -j8 ANDROID_ABI=armeabi-v7a CC=armv7a-linux-androideabi21-clang CXX=armv7a-linux-androideabi21-clang++ SYSLIBS=-static-libstdc++ install INSTALLDIR=/opt/poco-android
* 64bit POCO for Android
# checkout the 1.10.1 in a different location and apply the following patch:
--- a/build/config/Android
+++ b/build/config/Android
@@ -21,6 +21,11 @@ TOOL = arm-linux-androideabi
ARCHFLAGS = -march=armv7-a -mfloat-abi=softfp
LINKFLAGS = -Wl,--fix-cortex-a8
else
+ifeq ($(ANDROID_ABI),arm64-v8a)
+TOOL = aarch64-linux-android
+#ARCHFLAGS = -march=armv7-a -mfloat-abi=softfp
+#LINKFLAGS = -Wl,--fix-cortex-a8
+else
ifeq ($(ANDROID_ABI),x86)
TOOL = i686-linux-android
ARCHFLAGS = -march=i686 -msse3 -mstackrealign -mfpmath=sse
@@ -29,6 +34,7 @@ $(error Invalid ABI specified in ANDROID_ABI)
endif
endif
endif
+endif
#
# Define Tools
# configure as above:
./configure --config=Android --no-samples --no-tests --omit=Crypto,NetSSL_OpenSSL,Zip,Data,Data/SQLite,Data/ODBC,Data/MySQL,MongoDB,PDF,CppParser,PageCompiler,JWT
# and make it:
PATH="$PATH":~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin make -j8 ANDROID_ABI=arm64-v8a CC=aarch64-linux-android21-clang CXX=aarch64-linux-android21-clang++ SYSLIBS=-static-libstdc++
# install
PATH="$PATH":~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin make -j8 ANDROID_ABI=arm64-v8a CC=aarch64-linux-android21-clang CXX=aarch64-linux-android21-clang++ SYSLIBS=-static-libstdc++ install INSTALLDIR=/opt/poco-android-64bit
* Poco for x86 (if you want to add the support for that into the APK too):
# checkout the 1.10.1 in yet another location
git clone https://github.com/pocoproject/poco poco-android-x86
cd poco-android-x86
git checkout -b poco-1.10.1 origin/poco-1.10.1
# configure
./configure --config=Android --no-samples --no-tests --omit=Crypto,NetSSL_OpenSSL,Zip,Data,Data/SQLite,Data/ODBC,Data/MySQL,MongoDB,PDF,CppParser,PageCompiler,JWT
# build
PATH="$PATH":~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin make -j8 ANDROID_ABI=x86 CC=i686-linux-android21-clang CXX=i686-linux-android21-clang++ SYSLIBS=-static-libstdc++
# install
PATH="$PATH":~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin make -j8 ANDROID_ABI=x86 CC=i686-linux-android21-clang CXX=i686-linux-android21-clang++ SYSLIBS=-static-libstdc++ install INSTALLDIR=/opt/poco-android-x86
* Poco for x86_64 (if you want to add the support for that into the APK too):
# checkout the 1.10.1 in yet another location
git clone https://github.com/pocoproject/poco poco-android-x86-64
cd poco-android-x86-64
git checkout -b poco-1.10.1 origin/poco-1.10.1
# and apply the following patch:
diff --git a/build/config/Android b/build/config/Android
index 9227a3352..1abf6df7c 100644
--- a/build/config/Android
+++ b/build/config/Android
@@ -25,10 +25,14 @@ ifeq ($(ANDROID_ABI),x86)
TOOL = i686-linux-android
ARCHFLAGS = -march=i686 -msse3 -mstackrealign -mfpmath=sse
else
+ifeq ($(ANDROID_ABI),x86_64)
+TOOL = x86_64-linux-android
+else
$(error Invalid ABI specified in ANDROID_ABI)
endif
endif
endif
+endif
#
# Define Tools
# configure
./configure --config=Android --no-samples --no-tests --omit=Crypto,NetSSL_OpenSSL,Zip,Data,Data/SQLite,Data/ODBC,Data/MySQL,MongoDB,PDF,CppParser,PageCompiler,JWT
# build
PATH="$PATH":~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin make -j8 ANDROID_ABI=x86_64 CC=x86_64-linux-android21-clang CXX=x86_64-linux-android21-clang++ SYSLIBS=-static-libstdc++
# install
PATH="$PATH":~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin make -j8 ANDROID_ABI=x86_64 CC=x86_64-linux-android21-clang CXX=x86_64-linux-android21-clang++ SYSLIBS=-static-libstdc++ install INSTALLDIR=/opt/poco-android-x86-64
* Configure the online.git (eg. in online-android folder)
Don't forget to change --with-lo-builddir in the following:
./autogen.sh && ./configure CC=~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang CXX=~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang++ --host=arm-linux-androideabi --enable-androidapp --with-lo-builddir=/local/libreoffice/master-android --with-poco-includes=/opt/poco-android/include --with-poco-libs=/opt/poco-android/lib --disable-setcap --enable-silent-rules --enable-debug
* Build the JavaScript, HTML and CSS files also in the online-android folder
# just run 'make'
make
* Build the actual app
+ Start Android Studio
+ Open this 'android' subdir as a project
+ Build from Android Studio (Build -> Make Project)
Or
+ command line: ./gradlew build
== Building 32bit + 64bit combined .apk ==
+ you need to build both a 32bit (armeabi-v7a) and 64bit (arm64-v8a) core
+ you need to build both a 32bit and 64bit POCO
+ and then provide paths to both to the ./configure, separated by a colon ':',
like:
--with-lo-builddir=/local/libreoffice/master-android-release:/local/libreoffice/master-android-release-64bit \
--with-poco-includes=/opt/poco-android/include:/opt/poco-android-64bit/include \
--with-poco-libs=/opt/poco-android/lib:/opt/poco-android-64bit/lib \
== Debugging ==
To debug the native code in Android Studio, you need the debugging symbols and
to setup lldb to actually read & use them.
* Add debugging symbols for the modules you are interested in
To autogen.input, add something like:
--enable-symbols="vcl/ desktop/ sal/ svx/ framework/ sfx2/ tools/ cppu/ cppuhelper/ filter/ comphelper/ Library_sw Library_swd Library_swui"
clean the appropriate modules, like
make vcl.clean desktop.clean sal.clean svx.clean framework.clean sfx2.clean tools.clean cppu.clean cppuhelper.clean filter.clean comphelper.clean sw.clean
and rebuild using 'make'.
* Add android/obj/local/armeabi-v7a from core.git as a Symbol Directory
In Android Studio, choose Run -> Debug... -> Edit Configurations...
There go to the Android App -> app, choose the Debugger tab, and:
Debug type: Auto (or Dual)
Symbol Directories: here add the full path, like
/local/libreoffice/master-android/android/obj/local/armeabi-v7a
This path contains the non-stripped version of the liblo-native-code.so, and
the debugger will read the symbols from that one (even if the APK contains
the stripped version). *NB* ensure that this is before any internal source
directories - since the internal source contains stripped native code.
[Alternatively you can add the following to your ~/.lldbinit instead:
settings set target.inline-breakpoint-strategy always
settings append target.exec-search-paths /local/libreoffice/master-android/android/obj/local/armeabi-v7a
]
* To use pretty printers for types like OUString, add the following to your
~/.lldbinit:
command script import '/local/libreoffice/master-android/solenv/lldb/libreoffice/LO.py'
From now on, you will be able to debug directly in the Android Studio
debugger. Happy debugging!
Note: to re-build your app with a newly compiled libnative-lo code - it is
== Tip: How to speed up your core.git build ==
If you use icecream for parallel building, you can use it for
cross-compilation too.
# first generate a tarball with the toolchain (once)
icecc-create-env ~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang ~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang++
And add it and the paths to the compiler as the first things to the
autogen.input:
CC=icecc [here copy what the output of ./autogen.sh without icecream said for C compiler]
CXX=icecc [here copy what the output of ./autogen.sh without icecream said for C++ compiler]
ICECC_VERSION=/path/to/the/tarball/generated/above/955ceb546ceb7a5715bf0223ddd788fe.tar.gz
--with-parallelism=[amount of cpu threads in your icecream farm]
--enable-icecream
[...the original autogen.input...]
So the result will look something like this:
CC=icecc /home/$USER/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -mthumb -march=armv7-a -mfloat-abi=softfp -mfpu=neon -Wl,--fix-cortex-a8 -gcc-toolchain /home/$USER/Android/Sdk/ndk-bundle/to>
CXX=icecc /home/$USER/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -mthumb -march=armv7-a -mfloat-abi=softfp -mfpu=neon -Wl,--fix-cortex-a8 -gcc-toolchain /home/$USER/Android/Sdk/ndk-bundle>
ICECC_VERSION=/local/libreoffice/android/955ceb546ceb7a5715bf0223ddd788fe.tar.gz
--with-parallelism=25
--enable-icecream
--build=x86_64-unknown-linux-gnu
--with-android-ndk=/home/$USER/Android/Sdk/ndk-bundle
--with-android-sdk=/home/$USER/Android/Sdk
--with-distro=LibreOfficeAndroid
--enable-sal-log