Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

# vim: tabstop=4 shiftwidth=4 softtabstop=4 

 

# Copyright 2012 Red Hat, Inc. 

# All Rights Reserved. 

# 

#    Licensed under the Apache License, Version 2.0 (the "License"); you may 

#    not use this file except in compliance with the License. You may obtain 

#    a copy of the License at 

# 

#         http://www.apache.org/licenses/LICENSE-2.0 

# 

#    Unless required by applicable law or agreed to in writing, software 

#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 

#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 

#    License for the specific language governing permissions and limitations 

#    under the License. 

 

""" 

gettext for openstack-common modules. 

 

Usual usage in an openstack.common module: 

 

    from keystone.openstack.common.gettextutils import _ 

""" 

 

import gettext 

import os 

 

_localedir = os.environ.get('keystone'.upper() + '_LOCALEDIR') 

_t = gettext.translation('keystone', localedir=_localedir, fallback=True) 

 

 

def _(msg): 

    return _t.ugettext(msg) 

 

 

def install(domain): 

    """Install a _() function using the given translation domain. 

 

    Given a translation domain, install a _() function using gettext's 

    install() function. 

 

    The main difference from gettext.install() is that we allow 

    overriding the default localedir (e.g. /usr/share/locale) using 

    a translation-domain-specific environment variable (e.g. 

    NOVA_LOCALEDIR). 

    """ 

    gettext.install(domain, 

                    localedir=os.environ.get(domain.upper() + '_LOCALEDIR'), 

                    unicode=True)