GNOME Goal: Gettext Migration

gettext has seen quite some enhancements in recent years, after Daiki Ueno started maintaining it. It can now extract (and merge back) strings from diverse file formats, including many of the formats that are important for desktop applications. With gettext 0.19.8, there is really no need anymore to use intltool or GLib’s dated gettext glue (AM_GLIB_GNU_GETTEXT and glib-gettextize).

Guidelines

Normally is as simple as:

  • Remove any reference to GLIB_GNU_GETTEXT / IT_PROG_INTLTOOL from you configure.ac

  • Add this to you configure.ac:

    AM_GNU_GETTEXT_VERSION([0.19.8])
    AM_GNU_GETTEXT([external])
  • Remove any call to glib-gettextize / intltoolize from your autogen.sh (autopoint will be automatically called if you use autoreconf / gnome-autogen)

  • Now run the "gettextize --no-changelog -f" command in you project folder

  • cp /po/Makevars.template po/Makevars, add po/Makevars to your git tree

  • Open po/Makevars and change PO_DEPENDS_ON_POT and DIST_DEPENDS_ON_UPDATE_PO to ""no""

More details in:

Status of this goal

{i} Tip: If you choose to work on a module, create the bug report on the GNOME bugzilla for the relevant module, and make it block bug 763587. This way people will know someone already works on it, and won't duplicate the work you're doing.

State

Markup

todo

<: #ff8080> todo

patch

<: #ffcc50> [[GnomeBug:xxxxx|patch]]

done

<: #80ff80> [[GnomeBug:xxxxx|done]]

not needed

<: #80ff80> not needed

Above are the states and corresponding markup to update the modules state table below.

Tarball

Status

core

at-spi2-core

done

at-spi2-atk

not needed

dconf

not needed

evolution-data-server

to do

glib-networking

done

gnome-bluetooth

done

gnome-online-accounts

done

gnome-control-center

patch

gnome-desktop

patch

adwaita-icon-theme

not needed

gnome-keyring

done

gnome-menus

to do

gnome-packagekit

done

gnome-session

patch

gnome-settings-daemon

to do

gnome-shell

done

gnome-shell-extensions

done

gnome-themes-standard

to do

gsettings-desktop-schemas

to do

gvfs

done

mousetweaks

to do

mutter

done

network-manager-applet

patch

pulseaudio

to do

telepathy-mission-control

not needed

core-utilities

baobab

done

bijiben

done

empathy

to do

eog

done

epiphany

done

evince

to do

gnome-calculator

done

gnome-calendar

done

gnome-characters

done

gnome-contacts

done

gnome-dictionary

done

gnome-disk-utility

done

gnome-font-viewer

done

gnome-logs

done

gnome-screenshot

done

gnome-system-log

to do

gnome-system-monitor

patch

gnome-terminal

to do

gucharmap

to do

nautilus

done

sushi

to do

yelp

to do

core-extras

gnome-backgrounds

done

gnome-user-share

to do

vino

to do

gnome-user-docs

to do

core-os-services

accountsservice

to do

avahi

to do

bluez

not needed

ConsoleKit

not needed

cups

not needed

dbus

not needed

gdm

to do

NetworkManager

WIP patch

PackageKit

to do

polkit

to do

upower

to do

udisks

to do

core-deps

atk

done

atkmm

not needed

cantarell-fonts

not needed

caribou

to do

clutter

done

clutter-gtk

done

clutter-gst

not needed

cogl

done

desktop-file-utils

not needed

expat

not needed

folks

done

gnome-js-common

not needed

gspell

done

gtksourceview

done

gdk-pixbuf

done

gjs

not needed

glib

patch

glibmm

not needed

gnome-video-effects

to do

gobject-introspection

not needed

gst-plugins-base

done

gst-plugins-good

done

gst-plugins-farsight

not needed

gstreamer

done

gtk+

done

gtk-doc

to do

gtkmm

not needed

gudev

not needed

hicolor-icon-theme

not needed

iso-codes

not needed

itstool

not needed

intltool

not needed

java-gnome

not needed

json-glib

done

libcanberra

not needed

libchamplain

not needed

libcroco

not needed

libgee

not needed

libgdata

patch

libgsf

patch

libgtop

done

libgweather

to do

libmusicbrainz

not needed

libnice

not needed

libnotify

not needed

libpeas

to do

librest

not needed

librsvg

not needed

libsecret

to do

libsigc++2

not needed

libsoup

patch

libxml2

not needed

mm-common

not needed

p11-kit

to do

pango

not needed

pangomm

not needed

poppler

not needed

pygobject

not needed

seed

not needed

shared-mime-info

to do

sound-theme-freedesktop

to do

telepathy-glib

not needed

telepathy-logger

to do

telepathy-farsight

not needed

totem-pl-parser

patch

tracker

to do

vala

not needed

vte

to do

webkit

to do

yelp-tools

not needed

yelp-xsl

patch

zenity

done

lcms2

not needed

colord

to do

apps

accerciser

to do

aislerot

to do

anjuta

to do

brasero

to do

cheese

patch

devhelp

done

evolution

to do

file-roller

to do

gedit

to do

ghex

to do

glade

patch

gnome-boxes

done

gnome-clocks

done

gnome-color-manager

done

gnome-devel-docs

to do

gnome-documents

done

gnome-music

done

gnome-software

done

gnome-sound-recorder

to do

gnome-weather

to do

gnome-chess

done

five-or-more

to do

four-in-a-row

to do

gnome-klotski

to do

gnome-mahjongg

to do

gnome-mines

done

gnome-nibbles

to do

gnome-robots

to do

gnome-sudoku

done

gnome-tetravex

to do

iagno

to do

lightsoff

done

quadrapassel

to do

swell-foop

to do

tali

to do

gnome-nettool

to do

nautilus-sendto

to do

nemiver

to do

orca

to do

rygel

done

seahorse

done

sound-juicer

done

totem

to do

vinagre

to do

libgovirt

done

Initiatives/GnomeGoals/GettextMigration (last edited 2017-11-11 17:18:54 by NielsDeGraef)