From e66c8320081734ec042ac458485d82b36734c5fb Mon Sep 17 00:00:00 2001 From: Robin Mills Date: Wed, 14 Nov 2018 09:59:58 +0000 Subject: [PATCH] Exiv2 v0.27.0.2 Documentation updates for localisation. --- README-CONAN.md | 6 +- README.md | 117 ++++++++++++++++++++++++++++----- cmake/packaging.cmake | 1 + exiv2.png | Bin 0 -> 15594 bytes releasenotes/CYGWIN/ReadMe.txt | 5 +- releasenotes/Darwin/ReadMe.txt | 5 +- releasenotes/Linux/ReadMe.txt | 5 +- releasenotes/MinGW/ReadMe.txt | 5 +- releasenotes/msvc/ReadMe.txt | 5 +- releasenotes/releasenotes.txt | 17 ++--- 10 files changed, 127 insertions(+), 39 deletions(-) create mode 100644 exiv2.png diff --git a/README-CONAN.md b/README-CONAN.md index f2c40c62..5d157966 100644 --- a/README-CONAN.md +++ b/README-CONAN.md @@ -1,4 +1,4 @@ -![Exiv2](http://exiv2.dyndns.org/include/exiv2-logo-big.png) +![Exiv2](exiv2.png) # Building Exiv2 dependencies with conan @@ -397,8 +397,8 @@ Conan stores its configuration and local builds in the directory ~/.conan (%HOME Conan installs several files and two directories: ```bash -$HOME/.conan/profiles Configuration files for compilers/platforms -$HOME/.conan/data Dependencies are built/stored in this directory +$HOME/.conan/profiles Configuration files for compilers/platforms +$HOME/.conan/data Dependencies are built/stored in this directory ``` [TOC](#TOC) diff --git a/README.md b/README.md index f7881584..bb288100 100644 --- a/README.md +++ b/README.md @@ -14,8 +14,9 @@ 5. [Building and linking your code with Exiv2](#2-5) 6. [Consuming Exiv2 with CMake](#2-6) 7. [Using pkg-config to compile and link your code with Exiv2](#2-7) - 8. [Building Exiv2 Documentation](#2-8) - 9. [Building Exiv2 Packages](#2-9) + 8. [Localisation](#2-8) + 9. [Building Exiv2 Documentation](#2-9) + 10. [Building Exiv2 Packages](#2-10) 3. [License and Support](#3) 1. [License](#3-1) 2. [Support](#3-2) @@ -33,7 +34,7 @@ # Welcome to Exiv2 -![Exiv2](http://exiv2.dyndns.org/include/exiv2-logo-big.png) +![Exiv2](exiv2.png) Exiv2 is a C++ library and a command line utility to read, write, delete and modify Exif, IPTC, XMP and ICC image metadata. @@ -200,30 +201,114 @@ g++ -std=c++98 myprogram.cpp -o myprogram $(pkg-config exiv2 --libs --cflags) [TOC](#TOC) -### 2.8 Building Exiv2 Documentation +### 2.8 Localisation + +Localisation is supported on "*ix" platforms: Linux, MacOS-X, Cygwin and MinGW/msys2. Localisation is not supported for Visual Studio builds. + +To build localisation support, use the CMake options `-DEXIV2_BUILD_PO=On` `-DEXIV2_ENABLE_NLS=On`. There are no additional build steps as the normal build command will compile the library, samples and localisation support. + +1) Running exiv2 in a foreign language + +``` +$ env LC_ALL=fr_FR exiv2 +exiv2: Une action doit être spécifié +exiv2: Au moins un fichier est nécessaire +Utilisation : exiv2 [ options ] [ action ] fichier ... + +Manipulation des métadonnées EXIF issues des images. +$ +``` + +2) Adding additional languages to exiv2 + +To support a new language which we'll designate 'xy' for this discussion: + +2.1) Generate a po file from the po template: + +``` +$ cd +$ mkdir -p po/xy +$ msginit --input=po/exiv2.pot --locale=xy --output=po/xy.po +``` +2.2) Edit/Translate the strings in po/xy.po + +I edited the following: + +``` +#: src/exiv2.cpp:237 +msgid "Manipulate the Exif metadata of images.\n" +msgstr "" +``` +to: + +``` +#: src/exiv2.cpp:237 +msgid "Manipulate the Exif metadata of images.\n" +msgstr "Manipulate image metadata.\n" +``` + +2.3) Generate the messages file: + +``` +$ mkdir -p po/xy/LC_MESSAGES +$ msgfmt --output-file=po/xy/LC_MESSAGES/exiv2.mo po/xy.po +``` + +2.4) Install and test your messages: + +You have to install your messages to test them. It's not possible to test a message file from the build/bin directory. + +``` +$ sudo cp -R po/xy /usr/local/share/locale/xy +$ env LC_ALL=xy exiv2 +exiv2: An action must be specified +exiv2: At least one file is required +Usage: exiv2 [ options ] [ action ] file ... + +Manipulate image metadata. <--------- Edited message! +$ +``` + +2.5) Submitting your new language file for inclusion in future versions of Exiv2: + +Open a new issue on https://github.com/exiv2/exiv2 and attach the file po/xy/exiv2.po + + +[TOC](#TOC) + +### 2.9 Building Exiv2 Documentation + +Building documentation requires installing special tools. You will probably prefer to +read the documentation on-line from the project website: http://exiv2.dyndns.org + +Additionally, complete copies of the project website are archived on the buildserver +and can be downloaded for off-line use. http://exiv2.dyndns.org:8080/userContent/builds/Website/ + +To build documentation, use the CMake option `-DEXIV2_BUILD_DOC=On`. +Additionally, you will require an additional build step to actually build the documentation. ``` $ cmake ..options.. -DEXIV2_BUILD_DOC=On $ make doc ``` -To build the documentation, you will need the following products: +To build the documentation, you must install the following products: | Product | Availability | |:------------ |:------------ | | doxygen
graphviz
python
xsltproc
md5sum | [http://www.doxygen.org/](http://www.doxygen.org/)
[http://www.graphviz.org/](http://www.graphviz.org/)
[http://www.python.org/](http://www.python.org/)
[http://xmlsoft.org/XSLT/](http://xmlsoft.org/XSLT/)
[http://www.microbrew.org/tools/md5sha1sum/](http://www.microbrew.org/tools/md5sha1sum/) | [TOC](#TOC) - -### 2.9 Building Exiv2 Packages - -You should not build Exiv2 Packages. This feature is intended for use by Team Exiv2 to create Platform Bundles and Source Packages on the buildserver. + +### 2.10 Building Exiv2 Packages To enable building of packages, use the CMake option `-DEXIV2_TEAM_PACKAGING=On`. +You should not build Exiv2 Packages. This feature is intended for use by Team Exiv2 to create Platform and Source Packages on the buildserver. + There are two types of Exiv2 packages which are generated by cpack from the cmake command-line. -1) Binary Package (library, headers, documentation and sample applications) +1) Platform Package (header files, binary library and samples. Some documentation and release notes) Create and build exiv2 for your platform. @@ -391,13 +476,13 @@ Install: [http://repo.msys2.org/distrib/x86_64/msys2-x86_64-20180531.exe](http:/ I use the following batch file to start the MinGW/msys2 64 bit bash shell from the Dos Command Prompt (cmd.exe) ``` -$ cat msys64.bat +@echo off setlocal set "PATH=c:\msys64\usr\bin;c:\msys64\usr\local\bin;" -set "HOME=c:\msys64\home\%USER%" +set "HOME=c:\msys64\home\rmills" +cd %HOME% set "PS1=\! \u@\h-64:\w \$ " bash.exe -norc -$ ``` #### MinGW/msys2 32 bit @@ -406,13 +491,13 @@ Install: [http://repo.msys2.org/distrib/i686/msys2-i686-20180531.exe](http://rep I use the following batch file to start the MinGW/msys2 32 bit bash shell from the Dos Command Prompt (cmd.exe) ``` -$ cat msys32.bat +@echo off setlocal set "PATH=c:\msys32\usr\bin;c:\msys32\usr\local\bin;" -set "HOME=c:\msys32\home\%USER%" +set "HOME=c:\msys32\home\rmills" +cd %HOME% set "PS1=\! \u@\h-32:\w \$ " bash.exe -norc -$ ``` #### Install MinGW Dependencies diff --git a/cmake/packaging.cmake b/cmake/packaging.cmake index 8b5c517b..d4716f90 100644 --- a/cmake/packaging.cmake +++ b/cmake/packaging.cmake @@ -42,6 +42,7 @@ set( DOCS README.md README-CONAN.md license.txt + exiv2.png ) foreach(doc ${DOCS}) install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${doc} DESTINATION .) diff --git a/exiv2.png b/exiv2.png new file mode 100644 index 0000000000000000000000000000000000000000..8708a5e137b32e83cd4995e764ba848303bf51c3 GIT binary patch literal 15594 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 H%mV)(oW_4d literal 0 HcmV?d00001 diff --git a/releasenotes/CYGWIN/ReadMe.txt b/releasenotes/CYGWIN/ReadMe.txt index 991a0e96..bc67f6ac 100644 --- a/releasenotes/CYGWIN/ReadMe.txt +++ b/releasenotes/CYGWIN/ReadMe.txt @@ -15,8 +15,9 @@ samples/exifprint.cpp sample code ReadMe.txt This file license.txt GPLv2.0 Software License releasenotes.txt Late breaking news -README.md User Manual -README-CONAN.md User Manual Appendix +README.md Developer Manual +README-CONAN.md Developer Manual Appendix +exiv2.png Exiv2 Logo To run exiv2 from the bundle ---------------------------- diff --git a/releasenotes/Darwin/ReadMe.txt b/releasenotes/Darwin/ReadMe.txt index cda2b178..45719e78 100644 --- a/releasenotes/Darwin/ReadMe.txt +++ b/releasenotes/Darwin/ReadMe.txt @@ -15,8 +15,9 @@ samples/exifprint.cpp sample code ReadMe.txt This file license.txt GPLv2.0 Software License releasenotes.txt Late breaking news -README.md User Manual -README-CONAN.md User Manual Appendix +README.md Developer Manual +README-CONAN.md Developer Manual Appendix +exiv2.png Exiv2 Logo To run exiv2 from the bundle ---------------------------- diff --git a/releasenotes/Linux/ReadMe.txt b/releasenotes/Linux/ReadMe.txt index be83be2b..3b9722d1 100644 --- a/releasenotes/Linux/ReadMe.txt +++ b/releasenotes/Linux/ReadMe.txt @@ -14,8 +14,9 @@ samples/exifprint.cpp sample code ReadMe.txt This file license.txt GPLv2.0 Software License releasenotes.txt Late breaking news -README.md User Manual -README-CONAN.md User Manual Appendix +README.md Developer Manual +README-CONAN.md Developer Manual Appendix +exiv2.png Exiv2 Logo To run exiv2 from the bundle ---------------------------- diff --git a/releasenotes/MinGW/ReadMe.txt b/releasenotes/MinGW/ReadMe.txt index c2b833ac..6120bf43 100644 --- a/releasenotes/MinGW/ReadMe.txt +++ b/releasenotes/MinGW/ReadMe.txt @@ -16,8 +16,9 @@ samples/exifprint.cpp sample code ReadMe.txt This file license.txt GPLv2.0 Software License releasenotes.txt Late breaking news -README.md User Manual -README-CONAN.md User Manual Appendix +README.md Developer Manual +README-CONAN.md Developer Manual Appendix +exiv2.png Exiv2 Logo To run exiv2 from the bundle ---------------------------- diff --git a/releasenotes/msvc/ReadMe.txt b/releasenotes/msvc/ReadMe.txt index e7078d15..6df87796 100644 --- a/releasenotes/msvc/ReadMe.txt +++ b/releasenotes/msvc/ReadMe.txt @@ -14,8 +14,9 @@ samples/exifprint.cpp sample code ReadMe.txt This file license.txt GPLv2.0 Software License releasenotes.txt Late breaking news -README.md User Manual -README-CONAN.md User Manual Appendix +README.md Developer Manual +README-CONAN.md Developer Manual Appendix +exiv2.png Exiv2 Logo +----------------------------------------------------------------------------+ | Caution: Use a Windows unzip utility such as 7z or winzip | diff --git a/releasenotes/releasenotes.txt b/releasenotes/releasenotes.txt index d1d88bf2..d68a9dd1 100644 --- a/releasenotes/releasenotes.txt +++ b/releasenotes/releasenotes.txt @@ -1,11 +1,11 @@ Exiv2 v0.27.0.2 (Exiv2 v0.27 RC2) ----------------------------------- -We are (issues) 97% complete. 90/95 on GitHub and 70/70 on Redmine -We have consumed 92% of schedule. Project 2017-05-10 .. 2018-12-31 (87 weeks) +We are 96% complete (by issues) 93/100 on GitHub and 70/70 on Redmine +We are 92% complete (by time). Project 2017-05-10 .. 2018-12-31 (87 weeks) -Exiv2 v0.27 RC3 expected 15 December 2018 -Exiv2 v0.27 GM expected 31 December 2018 +Exiv2 v0.27 RC3 scheduled 07 December 2018 +Exiv2 v0.27 GM scheduled 28 December 2018 I have to thank Dan and Luis for their huge contribution to make this release. @@ -16,14 +16,14 @@ The headline features are: 1) Security fixes 2) Bug Fixes - 3) Improved CMake Support + 3) Rewritten CMake Support 4) Conan Support to build dependencies 5) Adobe XMPsdk 2016 support 6) New python based test suite 7) AppVeyor, Travis, CodeCov and GitLabs monitor submissions 8) Support for MinGW/msys2 9) Jenkins buildserver operates from GitHub -10) Use of exiv2.org (and Redmine) will be discontinued. +10) New Documentation: Markdown, ReleaseNotes, Platform/ReadMe.txt and Website With Exiv2 v0.27, Team Exiv2 will offer "Long Term Support" and plan "dot" releases with security and critical fixes in 2019 and 2020. @@ -55,9 +55,6 @@ Fixes since RC1 #505 Incorrect packaging #499 Support for FreeBSD -Known Issues on Redmine for v0.27 ---------------------------------- - GitHub https://github.com/Exiv2/exiv2/milestone/1 @@ -169,4 +166,4 @@ Xmp: (3) Robin Mills robin@clanmills.com -2018-11-08 +2018-11-14