Skip to content

Commit

Permalink
Exiv2 v0.27.0.2 Documentation updates for localisation.
Browse files Browse the repository at this point in the history
  • Loading branch information
clanmills authored and piponazo committed Nov 16, 2018
1 parent c8e64ad commit e66c832
Show file tree
Hide file tree
Showing 10 changed files with 127 additions and 39 deletions.
6 changes: 3 additions & 3 deletions README-CONAN.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
![Exiv2](http://exiv2.dyndns.org/include/exiv2-logo-big.png)
![Exiv2](exiv2.png)

# Building Exiv2 dependencies with conan

Expand Down Expand Up @@ -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)
Expand Down
117 changes: 101 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -33,7 +34,7 @@
<name id="1">
# 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.
Expand Down Expand Up @@ -200,30 +201,114 @@ g++ -std=c++98 myprogram.cpp -o myprogram $(pkg-config exiv2 --libs --cflags)

[TOC](#TOC)
<name id="2-8">
### 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 <exiv2dir>
$ 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)
<name id="2-9">
### 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<br/>graphviz<br/>python<br/>xsltproc<br/>md5sum | [http://www.doxygen.org/](http://www.doxygen.org/)<br/>[http://www.graphviz.org/](http://www.graphviz.org/)<br/>[http://www.python.org/](http://www.python.org/)<br/>[http://xmlsoft.org/XSLT/](http://xmlsoft.org/XSLT/)<br/>[http://www.microbrew.org/tools/md5sha1sum/](http://www.microbrew.org/tools/md5sha1sum/) |

[TOC](#TOC)
<name id="2-9">
### 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.
<name id="2-10">
### 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.

Expand Down Expand Up @@ -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
Expand All @@ -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
Expand Down
1 change: 1 addition & 0 deletions cmake/packaging.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -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 .)
Expand Down
Binary file added exiv2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 3 additions & 2 deletions releasenotes/CYGWIN/ReadMe.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
----------------------------
Expand Down
5 changes: 3 additions & 2 deletions releasenotes/Darwin/ReadMe.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
----------------------------
Expand Down
5 changes: 3 additions & 2 deletions releasenotes/Linux/ReadMe.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
----------------------------
Expand Down
5 changes: 3 additions & 2 deletions releasenotes/MinGW/ReadMe.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
----------------------------
Expand Down
5 changes: 3 additions & 2 deletions releasenotes/msvc/ReadMe.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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 |
Expand Down
17 changes: 7 additions & 10 deletions releasenotes/releasenotes.txt
Original file line number Diff line number Diff line change
@@ -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.

Expand All @@ -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.

Expand Down Expand Up @@ -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

Expand Down Expand Up @@ -169,4 +166,4 @@ Xmp: (3)

Robin Mills
[email protected]
2018-11-08
2018-11-14

0 comments on commit e66c832

Please sign in to comment.