From a75f02089cd97b62cb7cf1505bd38e32da14eb69 Mon Sep 17 00:00:00 2001 From: Didier Raboud Date: Wed, 26 Dec 2012 14:56:12 +0100 Subject: Add translated freedesktop 'Desktop Entry' file - Add po4a as build-dependency for travis (but it fallsback to english-only if not found) - Add (easy) french translation --- .travis.yml | 2 +- src/CMakeLists.txt | 2 ++ src/desktop/CMakeLists.txt | 25 +++++++++++++++++++++++++ src/desktop/colobot.desktop.in | 4 ++++ src/desktop/colobot.ini | 3 +++ src/desktop/create_desktop_file.sh | 18 ++++++++++++++++++ src/desktop/po/colobot-desktop.pot | 32 ++++++++++++++++++++++++++++++++ src/desktop/po/fr.po | 32 ++++++++++++++++++++++++++++++++ src/desktop/po4a.cfg | 3 +++ 9 files changed, 120 insertions(+), 1 deletion(-) create mode 100644 src/desktop/CMakeLists.txt create mode 100644 src/desktop/colobot.desktop.in create mode 100644 src/desktop/colobot.ini create mode 100755 src/desktop/create_desktop_file.sh create mode 100644 src/desktop/po/colobot-desktop.pot create mode 100644 src/desktop/po/fr.po create mode 100644 src/desktop/po4a.cfg diff --git a/.travis.yml b/.travis.yml index 04e7b8e..3e836bb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,4 +5,4 @@ script: cmake . -DCMAKE_VERBOSE_MAKEFILE=ON && make all doc test before_install: - git submodule update --init --recursive - sudo apt-get update -qq - - sudo apt-get install -qq --no-install-recommends libgl1-mesa-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-ttf2.0-dev libpng12-dev libboost-dev libboost-system-dev libboost-filesystem-dev libboost-regex-dev google-mock libgtest-dev doxygen graphviz + - sudo apt-get install -qq --no-install-recommends libgl1-mesa-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-ttf2.0-dev libpng12-dev libboost-dev libboost-system-dev libboost-filesystem-dev libboost-regex-dev google-mock libgtest-dev doxygen graphviz po4a diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 3339b1a..74de412 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -6,6 +6,8 @@ add_subdirectory(tools) add_subdirectory(po) +add_subdirectory(desktop) + # Tests if(${TESTS}) add_subdirectory(common/test) diff --git a/src/desktop/CMakeLists.txt b/src/desktop/CMakeLists.txt new file mode 100644 index 0000000..6deac2f --- /dev/null +++ b/src/desktop/CMakeLists.txt @@ -0,0 +1,25 @@ +cmake_minimum_required(VERSION 2.8) + +# Install Desktop Entry file +set(COLOBOT_DESKTOP_FILE colobot.desktop) +add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${COLOBOT_DESKTOP_FILE} + COMMAND ./create_desktop_file.sh > ${CMAKE_CURRENT_BINARY_DIR}/${COLOBOT_DESKTOP_FILE} + WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" + COMMENT "Build ${COLOBOT_DESKTOP_FILE}" + ) +add_custom_target(desktopfile ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${COLOBOT_DESKTOP_FILE}) +install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/${COLOBOT_DESKTOP_FILE} + DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications/ + ) + +find_program(PO4A po4a) + +if(PO4A) + add_custom_target(desktop_po4a + COMMAND ${PO4A} po4a.cfg + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + ) + add_dependencies(desktopfile desktop_po4a) +endif() diff --git a/src/desktop/colobot.desktop.in b/src/desktop/colobot.desktop.in new file mode 100644 index 0000000..ddb7264 --- /dev/null +++ b/src/desktop/colobot.desktop.in @@ -0,0 +1,4 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Exec=colobot diff --git a/src/desktop/colobot.ini b/src/desktop/colobot.ini new file mode 100644 index 0000000..136e008 --- /dev/null +++ b/src/desktop/colobot.ini @@ -0,0 +1,3 @@ +Name="Colobot" +GenericName="Game to learn programming" +Comment="Colonize with bots" diff --git a/src/desktop/create_desktop_file.sh b/src/desktop/create_desktop_file.sh new file mode 100755 index 0000000..e0f120b --- /dev/null +++ b/src/desktop/create_desktop_file.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +set -e + +# Create colobot.desktop from various colobot.ini's + +fname=colobot.ini + +cat colobot.desktop.in + +linguas=$([ ! -d lang ] || ( cd lang ; ls)); + +for type in Name GenericName Comment; do + egrep "^$type=" $fname | sed -e "s/^$type=\"\(.*\)\"$/$type=\1/g" + for l in $linguas; do + egrep "^$type=" lang/$l/$fname | sed -e "s/^$type=\"\(.*\)\"$/$type[$l]=\1/g" + done +done diff --git a/src/desktop/po/colobot-desktop.pot b/src/desktop/po/colobot-desktop.pot new file mode 100644 index 0000000..e74136a --- /dev/null +++ b/src/desktop/po/colobot-desktop.pot @@ -0,0 +1,32 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: 2012-12-26 15:05+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: colobot.ini:1 +#, no-wrap +msgid "Colobot" +msgstr "" + +#: colobot.ini:2 +#, no-wrap +msgid "Game to learn programming" +msgstr "" + +#: colobot.ini:3 +#, no-wrap +msgid "Colonize with bots" +msgstr "" diff --git a/src/desktop/po/fr.po b/src/desktop/po/fr.po new file mode 100644 index 0000000..63dbb23 --- /dev/null +++ b/src/desktop/po/fr.po @@ -0,0 +1,32 @@ +# French translations for PACKAGE package +# Copyright (C) 2012 Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# Automatically generated, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: 2012-12-26 15:05+0100\n" +"PO-Revision-Date: 2012-12-26 15:05+0100\n" +"Last-Translator: Didier Raboud \n" +"Language-Team: none\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: colobot.ini:1 +#, no-wrap +msgid "Colobot" +msgstr "Colobot" + +#: colobot.ini:2 +#, no-wrap +msgid "Game to learn programming" +msgstr "Apprentissage de la programmation par le jeu" + +#: colobot.ini:3 +#, no-wrap +msgid "Colonize with bots" +msgstr "Colonise avec des roBots" diff --git a/src/desktop/po4a.cfg b/src/desktop/po4a.cfg new file mode 100644 index 0000000..eda2985 --- /dev/null +++ b/src/desktop/po4a.cfg @@ -0,0 +1,3 @@ +[po_directory] po/ + +[type:ini] colobot.ini $lang:lang/$lang/colobot.ini -- cgit v1.2.3-1-g7c22 From c2ebd5551ff2569f56e3321efd2d9bedaf079955 Mon Sep 17 00:00:00 2001 From: Didier Raboud Date: Thu, 27 Dec 2012 09:54:55 +0100 Subject: Add SVG colobot icon - Refer to the icon in the desktop file - Use rsvg-convert to get scaled PNG versions - Add librsvg2-bin to travis --- .travis.yml | 2 +- src/desktop/CMakeLists.txt | 24 +++++ src/desktop/colobot.desktop.in | 1 + src/desktop/colobot.svg | 238 +++++++++++++++++++++++++++++++++++++++++ 4 files changed, 264 insertions(+), 1 deletion(-) create mode 100644 src/desktop/colobot.svg diff --git a/.travis.yml b/.travis.yml index 3e836bb..660a2f5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,4 +5,4 @@ script: cmake . -DCMAKE_VERBOSE_MAKEFILE=ON && make all doc test before_install: - git submodule update --init --recursive - sudo apt-get update -qq - - sudo apt-get install -qq --no-install-recommends libgl1-mesa-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-ttf2.0-dev libpng12-dev libboost-dev libboost-system-dev libboost-filesystem-dev libboost-regex-dev google-mock libgtest-dev doxygen graphviz po4a + - sudo apt-get install -qq --no-install-recommends libgl1-mesa-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-ttf2.0-dev libpng12-dev libboost-dev libboost-system-dev libboost-filesystem-dev libboost-regex-dev google-mock libgtest-dev doxygen graphviz po4a librsvg2-bin diff --git a/src/desktop/CMakeLists.txt b/src/desktop/CMakeLists.txt index 6deac2f..cc159a9 100644 --- a/src/desktop/CMakeLists.txt +++ b/src/desktop/CMakeLists.txt @@ -14,6 +14,30 @@ install( DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications/ ) +# Install Icon +set(COLOBOT_ICON_FILE colobot.svg) +install( + FILES ${CMAKE_CURRENT_SOURCE_DIR}/${COLOBOT_ICON_FILE} + DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/scalable/apps/ + ) + +# Render SVG icon in various sizes +find_program(RSVG_CONVERT rsvg-convert) +if(RSVG_CONVERT) + foreach(PNGSIZE "48" "32" "16") + file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${PNGSIZE}) + add_custom_target(resize_icon_${PNGSIZE} ALL + COMMAND ${RSVG_CONVERT} -w ${PNGSIZE} -h ${PNGSIZE} ${CMAKE_CURRENT_SOURCE_DIR}/${COLOBOT_ICON_FILE} + > ${CMAKE_CURRENT_BINARY_DIR}/${PNGSIZE}/colobot.png + ) + install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/${PNGSIZE}/colobot.png + DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/${PNGSIZE}x${PNGSIZE}/apps/ + ) + endforeach() +endif() + +# Translate translatable material find_program(PO4A po4a) if(PO4A) diff --git a/src/desktop/colobot.desktop.in b/src/desktop/colobot.desktop.in index ddb7264..74378fd 100644 --- a/src/desktop/colobot.desktop.in +++ b/src/desktop/colobot.desktop.in @@ -2,3 +2,4 @@ Version=1.0 Type=Application Exec=colobot +Icon=colobot diff --git a/src/desktop/colobot.svg b/src/desktop/colobot.svg new file mode 100644 index 0000000..85a0545 --- /dev/null +++ b/src/desktop/colobot.svg @@ -0,0 +1,238 @@ + + + + -- cgit v1.2.3-1-g7c22