libreoffice-online/android
Weblate 77e0f99c07 update translations
LibreOffice Online/android-app (Chinese (Traditional))
Currently translated at 7.1% (7 of 99 strings)

Change-Id: I1ceaa86db8879763ae029bc4942996dfa79d0973

update translations

LibreOffice Online/loleaflet-help (Chinese (Traditional))
Currently translated at 47.6% (198 of 416 strings)

Change-Id: I1c1848e73e53d0be044505ae7a687bf28d8578ca

update translations

LibreOffice Online/loleaflet-help (Hungarian)
Currently translated at 51.9% (216 of 416 strings)

Change-Id: Ibf3561376a333bc2b7766e50c90fb32ff7eb746d

update translations

LibreOffice Online/loleaflet-help (Basque)
Currently translated at 82.5% (343 of 416 strings)

Change-Id: Ic1bfb58a6c9ea4bbd5910314b5505336a6e91783

update translations

LibreOffice Online/loleaflet-ui (Chinese (Traditional))
Currently translated at 100.0% (282 of 282 strings)

Change-Id: Ib292d64b5a1acb65c3ea5edd37cafffcf34b1f2a

update translations

LibreOffice Online/loleaflet-ui (Catalan)
Currently translated at 97.5% (275 of 282 strings)

Change-Id: I1e1bad69cb9b1916d259a1ec65a512c56dd4fa3a

update translations

LibreOffice Online/loleaflet-ui (Bulgarian)
Currently translated at 100.0% (282 of 282 strings)

Change-Id: Iecdbfd73892365de7c650659537e99cffc431e1e

update translations

LibreOffice Online/android-app (Chinese (Traditional))
Currently translated at 7.1% (7 of 99 strings)

Change-Id: Ia75fd49836fa4ada900f9bf9961a97fb6a8def09

update translations

LibreOffice Online/loleaflet-help (Dutch)
Currently translated at 47.4% (197 of 416 strings)

Change-Id: I812cd246853d26ed7ce0ebef58fc8e839f5300c5

update translations

LibreOffice Online/loleaflet-ui (Chinese (Traditional))
Currently translated at 97.2% (274 of 282 strings)

Change-Id: Iedcd80e45a7062004c4395ae35bd90917c51ae6b

update translations

LibreOffice Online/loleaflet-ui (Bulgarian)
Currently translated at 81.6% (230 of 282 strings)

Change-Id: Ib4c3221aa9a7b0c1ff7c64c323d36239cf00fd63

update translations

LibreOffice Online/android-app (French)
Currently translated at 100.0% (99 of 99 strings)

Change-Id: I20b1d3949a277712a97ceaf907db75972ea216cf

update translations

LibreOffice Online/android-lib (French)
Currently translated at 100.0% (6 of 6 strings)

Change-Id: I3794a471ab784220ed74b2500371834eb7d2dad8

update translations

LibreOffice Online/loleaflet-help (French)
Currently translated at 56.2% (234 of 416 strings)

Change-Id: I884525d716b28df7bea6b711327cd943c4619caf

update translations

LibreOffice Online/loleaflet-help (Bulgarian)
Currently translated at 59.1% (246 of 416 strings)

Change-Id: I6b5aeccf51de84d9241c8f16b592c1cd4da07961

update translations

LibreOffice Online/loleaflet-help (Bulgarian)
Currently translated at 55.0% (229 of 416 strings)

Change-Id: I62bd52a62ebc192d8c0b50f4ee703de0ac6194c5

update translations

LibreOffice Online/android-app (Bulgarian)
Currently translated at 100.0% (99 of 99 strings)

Change-Id: Ib31a12432797e9a667f355a757976ebc5f5c4292

update translations

LibreOffice Online/android-lib (Bulgarian)
Currently translated at 100.0% (6 of 6 strings)

Change-Id: If554f47042f9661ea44fe6a28e731d0a23c4a516

update translations

LibreOffice Online/loleaflet-help (Basque)
Currently translated at 78.8% (328 of 416 strings)

Change-Id: I2e8728a45cbf15b15b5adfa78162673676c9ba4c

update translations

LibreOffice Online/loleaflet-help (Bulgarian)
Currently translated at 52.9% (220 of 416 strings)

Change-Id: I4c4a2ca190d1b1ba3eec52dc882f6afaaf572ebb

update translations

LibreOffice Online/android-app (Bulgarian)
Currently translated at 20.2% (20 of 99 strings)

Change-Id: Idc24be13fd341fd0703290d475359cfab7d4ce9f

update translations

LibreOffice Online/android-app (Bulgarian)
Currently translated at 2.0% (2 of 99 strings)

Change-Id: If65f55811780d6d719821d3c80b413fc8d4f882f

update translations

LibreOffice Online/android-app (Catalan)
Currently translated at 96.9% (95 of 98 strings)

Change-Id: Id9b5d5adbcab82c063848c15a7e7e03bfce83469

update translations

LibreOffice Online/android-app (Spanish)
Currently translated at 100.0% (98 of 98 strings)

Change-Id: I070bb0269799db370013d7e0f47989e5f3cc6286

update translations

LibreOffice Online/loleaflet-help (Spanish)
Currently translated at 99.8% (415 of 416 strings)

Change-Id: I5a0c0d0292ac535ff8ca9acdce96c0bbdf315315

update translations

LibreOffice Online/android-app (Esperanto)
Currently translated at 5.1% (5 of 99 strings)

Change-Id: I93bcf7aedea2346ed28333efca725462893623ea

update translations

LibreOffice Online/android-lib (Esperanto)
Currently translated at 16.7% (1 of 6 strings)

Change-Id: Ieb91af97e1ce5196b72381e4eda18af22c90c7da

update translations

LibreOffice Online/android-app (Spanish)
Currently translated at 100.0% (98 of 98 strings)

Change-Id: Id7835b528da091087f1cf6a39f500f76e4d7ecd3

update translations

LibreOffice Online/ios (Esperanto)
Currently translated at 100.0% (4 of 4 strings)

Change-Id: Ia9b6b943aa8bf181a5dd727ec753fbcfde8a46ff

update translations

LibreOffice Online/android-app (Aragonese)
Currently translated at 2.0% (2 of 99 strings)

Change-Id: I992fdc29899162edcdd4be507e421b42631d308c

update translations

LibreOffice Online/android-app (Esperanto)
Currently translated at 2.0% (2 of 99 strings)

Change-Id: Id496454fae02b0a3c8e61be3c94f7689b5ce7e66

update translations

LibreOffice Online/android-app (Asturian)
Currently translated at 28.3% (28 of 99 strings)

Change-Id: Icba09f2260053f19beed8c27eb1b547ac9da759a

update translations

LibreOffice Online/android-app (Catalan)
Currently translated at 95.9% (94 of 98 strings)

Change-Id: I7dceb1a049043aecfcb8d732668084769b0cb70d

update translations

LibreOffice Online/ios (Esperanto)
Currently translated at 75.0% (3 of 4 strings)

Change-Id: I230c1d2db666e1c2107ae672ab50029016178ca8

update translations

LibreOffice Online/loleaflet-help (Chinese (Traditional))
Currently translated at 47.6% (198 of 416 strings)

Change-Id: Ieb12b08057d23ed8c9f531a4295f7cbd23911090

update translations

LibreOffice Online/loleaflet-help (Hungarian)
Currently translated at 48.3% (201 of 416 strings)

Change-Id: Ia5bc22db5542c423fac97a398188d2c770654592

update translations

LibreOffice Online/loleaflet-help (Upper Sorbian)
Currently translated at 63.7% (265 of 416 strings)

Change-Id: Ia01c28783205564fdd4cad9fbcbc183822a42d9d

update translations

LibreOffice Online/loleaflet-help (Basque)
Currently translated at 77.2% (321 of 416 strings)

Change-Id: I2cc84176d1fcd17a9b3b3eccff9457f1fcb0cbdb

update translations

LibreOffice Online/loleaflet-help (Spanish)
Currently translated at 99.8% (415 of 416 strings)

Change-Id: Ic26b556f21a3464d2d14e52328ae01692a0c22e4

update translations

LibreOffice Online/loleaflet-help (Welsh)
Currently translated at 55.0% (229 of 416 strings)

Change-Id: I65b34d7ed3ca2be8206a68f7e9e6d1fd4e27c7cc

update translations

LibreOffice Online/loleaflet-help (Catalan)
Currently translated at 61.8% (257 of 416 strings)

Change-Id: Ie7edda255519cea71926e63f6866f6bbb1d16708

update translations

LibreOffice Online/loleaflet-ui (Norwegian Bokmål)
Currently translated at 83.7% (236 of 282 strings)

Change-Id: I83006dff09e174d7c8d91da3d2f7fe8e8934ceef

update translations

LibreOffice Online/loleaflet-ui (Basque)
Currently translated at 100.0% (282 of 282 strings)

Change-Id: I7d28007076fe980585b63afbb27a55b935dbc4a7

update translations

LibreOffice Online/loleaflet-ui (Spanish)
Currently translated at 100.0% (282 of 282 strings)

Change-Id: Iefc68981bd0561a75da825d05b65e0ca204fd90d

update translations

LibreOffice Online/loleaflet-ui (Esperanto)
Currently translated at 63.1% (178 of 282 strings)

Change-Id: I8d010a8d18588f7c86030083b718a8d14b91e98c

update translations

LibreOffice Online/loleaflet-ui (Welsh)
Currently translated at 100.0% (282 of 282 strings)

Change-Id: I3edae99d444fce26b0404943c99ba225f9c37754

update translations

LibreOffice Online/loleaflet-ui (Asturian)
Currently translated at 29.4% (83 of 282 strings)

Change-Id: I07883b4dd2ea00028bcc4eaf7e9198a9eb45af57

update translations

LibreOffice Online/loleaflet-ui (Aragonese)
Currently translated at 0.4% (1 of 282 strings)

Change-Id: I3945f187037db22e0badbff0b1c87eea0bd840ff

update translations

LibreOffice Online/loleaflet-help (Czech)
Currently translated at 100.0% (416 of 416 strings)

Change-Id: I23d2e499d519a85a465bf4a196a9060caaee72f3
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/86337
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-01-13 09:35:44 +01:00
..
app update translations 2020-01-13 09:35:44 +01:00
lib update translations 2020-01-13 09:35:44 +01:00
templates android: Corrected the .odp template. 2019-07-11 08:34:03 +02:00
.gitignore android: Split the actual editing Activity into an own library. 2019-07-12 11:52:56 +02:00
build.gradle android: Update to a newer gradle. 2019-05-21 11:30:56 +02:00
gradle.properties android: We need more memory for the build. 2019-02-22 14:21:04 +01:00
gradlew android: Gradle project and other stuff to build. 2019-02-12 10:50:40 +01:00
gradlew.bat android: Gradle project and other stuff to build. 2019-02-12 10:50:40 +01:00
Makefile.am android: Split the actual editing Activity into an own library. 2019-07-12 11:52:56 +02:00
README android: Implement (optional) support for both 32bit and 64bit build. 2019-12-30 14:24:30 +01:00
settings.gradle android: Split the actual editing Activity into an own library. 2019-07-12 11:52:56 +02:00

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.9.1 branch
  git checkout -b poco-1.9.1 origin/poco-1.9.1

  # configure
  ./configure --config=Android --no-samples --no-tests --minimal

  # 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.9.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 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

* 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)

== 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/source/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/source/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/source/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-buld 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