Localization/Library

From OLPC
< Localization
Revision as of 17:58, 29 March 2007 by Mchua (talk | contribs) (added po2dict)
Jump to navigation Jump to search

Navigation Index

Navigation sidebar

sidebar table:

OLPC Library Biblioteca OLPC Biblioteca de OLPC
books & reference libros & referencia livros & referência
picture books libros para chicos livros das crianças
reference enciclopedia enciclopédia
stories clásicos literarios clássicos literários
lessons lecciones lições
math & science matemáticas & ciencias matemática & ciência
biology biología biologia
math & logic matemáticas & lógica matemática & lógica
images & maps imágenes & mapas imagens & mapas
nature naturaleza natureza
atlas atlas & mapas atlas & mapas
historical históricos históricos
music & video música & video música & vídeo
media audio-libros livros audio
activities & games actividades & juegos atividades & jogos
games juegos jogos
web enlaces red ligações rede
search the web buscar en la red procurarar a rede
web links sitios para chicos ligações para crianças
uniwiki uniwiki uniwiki
water & environment agua & medioambiente água & ambiente

PO format:

msgid ""
#en msgstr "OLPC Library"
#es msgstr "Biblioteca OLPC"
#pt msgstr "Biblioteca de OLPC"

msgid ""
#en msgstr "books & reference"
#es msgstr "libros & referencia"
#pt msgstr "livros & referência"

msgid ""
#en msgstr "children's books"
#es msgstr "libros para chicos"
#pt msgstr "livros das crianças"

msgid ""
#en msgstr "encyclopedia"
#es msgstr "enciclopedia"
#pt msgstr "enciclopédia"

msgid ""
#en msgstr "literary classics"
#es msgstr "clásicos literarios"
#pt msgstr "clássicos literários"

msgid ""
#en msgstr "lessons"
#es msgstr "lecciones"
#pt msgstr "lições"

msgid ""
#en msgstr "math & science"
#es msgstr "matemáticas & ciencias"
#pt msgstr "matemática & ciência"

msgid ""
#en msgstr "biology"
#es msgstr "biología"
#pt msgstr "biologia"

msgid ""
#en msgstr "math & logic"
#es msgstr "matemáticas & lógica"
#pt msgstr "matemática & lógica"

msgid ""
#en msgstr "images & maps"
#es msgstr "imágenes & mapas"
#pt msgstr "imagens & mapas"

msgid ""
#en msgstr "nature"
#es msgstr "naturaleza"
#pt msgstr "natureza"

msgid ""
#en msgstr "atlas & maps"
#es msgstr "atlas & mapas"
#pt msgstr "atlas & mapas"

msgid ""
#en msgstr "historical"
#es msgstr "históricos"
#pt msgstr "históricos"

msgid ""
#en msgstr "music & video"
#es msgstr "música & video"
#pt msgstr "música & vídeo"

msgid ""
#en msgstr "audiobooks"
#es msgstr "audio-libros"
#pt msgstr "livros audio"

msgid ""
#en msgstr "activities & games"
#es msgstr "actividades & juegos"
#pt msgstr "atividades & jogos"

msgid ""
#en msgstr "games"
#es msgstr "juegos"
#pt msgstr "jogos"

msgid ""
#en msgstr "web links"
#es msgstr "enlaces red"
#pt msgstr "ligações rede"

msgid ""
#en msgstr "search the web"
#es msgstr "buscar en la red"
#pt msgstr "procurarar a rede"

msgid ""
#en msgstr "links for kids"
#es msgstr "sitios para chicos"
#pt msgstr "ligações para crianças"

msgid ""
#en msgstr "uniwiki"
#es msgstr "uniwiki"
#pt msgstr "uniwiki"

msgid ""
#en msgstr "water & environment"
#es msgstr "agua & medioambiente"
#pt msgstr "água & ambiente"

Math & Science

biology

NOTICE: the 'translation' to portuguese is actually an improvisation over Google's service!

IT NEEDS A SERIOUS REVIEWER.
The spanish translation should also be reviewed by somebody knowledgeable in biology (or rather botany and biomes)

Biology table:

math & science matemáticas & ciencias matemática & ciência
biology biología biologia
Tundra Tundra Tundra
Fall colors, Wrangell-St. Elias National Park, Alaska, USA Colores otoñales, Parque Nacional de Wrangell-St. Elias, Alaska, EE.UU. Cores outonales, Parque nacional Wrangell-St. Elias, Alaska, EUA
Boreal Forests / Tiaga Bosques boreales / Tiaga Florestas Boreales / Tiaga
Lakes and muskegs, Chitina River Valley, Wrangell St. Elias National Park, Alaska, USA Lagos y muskegs, Chitina River Valley, Parque Nacional Wrangell St. Elias, Alaska, EE.UU. Lagos e muskegs, Chitina River Valley, Parque Nacional do Wrangell St. Elias, Alaska, EUA
Temperate coniferous forests Bosques coníferos templados Florestas coníferas temperadas
Aspen and conifers, Dixie National Forest, Utah, USA Alamos y coníferas, Bosque Nacional de Dixie, Utah, EE.UU. Choupo tremedor e coníferas, Floresta Nacional de Dixie, Utá, EUA
Temperate broadleaf mixed forests Bosques de flor templados mezclados Florestas misturadas com flor temperados
Flowering rata tree, Metrosideros umbellata, Westland National Park, New Zealand Árbol rata floreciendo, Metrosideros umbellata, Parque Nacional Westland, Nueva Zelandia Árvore do rata, Metrosideros umbellata, Parque Nacional Westland, Nova Zelândia
Temperate grasslands, savannas, and shrublands Praderas, savannas, y montes templados Pradarias, y savanas temperedas
Coastal prairie in mist, Monterey Bay, California, USA Pradera costera en la niebla, Bahía de Monterey, California, EE.UU. Pradaria litoral na névoa, Baía de Monterey, Califórnia, EUA
Montane grasslands and shrublands Praderas y arbustos de altura Prados e plantas do altura
Nilgiri Hills, Western Ghats, India Colinas de Nilgiri, Ghats occidental, India Montes de Nilgiri, Ghats ocidental, India
Deserts and xeric shrublands Desiertos y vegetación xérica Desertos e plantas xericas
River gum trees and spinifex grass, Central Desert, Australia Árboles de goma de río y pasto spinifex, Desierto Central, Australia Árvores do goma do rio e grama do spinifex, Deserto Central, Austrália
Mediterranean forests, woodlands, and scrub Bosques mediterráneos, arboledas, y arbustos Florestas Mediterranean, e arbustos
Flowering namaqua daisies, Namaqualand, Goegap Nature Reserve, South Africa Margaritas namaqua floreciendo, Namaqualand, Reserva Natural de Goegap, Sudáfrica Margaridinhas namaqua, Namaqualand, Reserva de natureza de Goegap, África do Sul
Tropical and subtropical grasslands, savannas, and shrublands Prados, sabanas, y montes tropicales y subtropicales Pradaria, savanas, e monte tropicais e subtropical
Giraffe (Giraffa camelopardalis) and zebras (Equus quagga) foraging, Masai Mara Reserve, Kenya Jirafa (Giraffa camelopardalis) y cebras (Equus quagga) alimentándose, Reserva Mara de los Masai, Kenia Girafa (Giraffa camelopardalis) e zebras (Equus quagga) comendo, Reserva Mara dos Masai, Kenya
Flooded grasslands and savannas Praderas inundadas y sabanas Pradaria inundadas e savanas
Palm islands, Okavango Delta, Botswana Islas de palmas, Delta de Okavango, Botswana Ilha da palma, Delta de Okavango, Botswana
Tropical and subtropical moist broadleaf forests Bosques de flores húmedas tropicales y subtropicales Florestas da folha húmidas tropicais e subtropical
Ranomafana rainforest, Madagascar Selva de Ranomafana, Madagascar Selva de Ranomafana, Madagascar
Tropical and subtropical dry broadleaf forests Bosques secos de flor tropicales y subtropicales Florestas secas com flor tropicais e subtropical
Cerrado woodland, Pantanal, Brazil Arbolado de Cerrado, Pantanal, Brasil Floresta de Cerrado, Pantanal, Brasil
Tropical and subtropical coniferous forests Bosque de coníferas tropical y subtropical Florestas coniferous tropicais e subtropical
Firs and pines, Sierra Madre Oriental, Michoacan, Mexico Abetos y pinos, Sierra Madre Oriental, Michoacan, México Abetos e pinhos, Sierra Madre Oriental, Michoacan, México

Biology PO strings

msgid "tundra-title"
#en msgstr "Tundra"
#es msgstr "Tundra"
#pt msgstr "Tundra"

msgid "tundra-note"
#en msgstr "Fall colors, Wrangell-St. Elias National Park, Alaska, USA"
#es msgstr "Colores otoñales, Parque Nacional de Wrangell-St. Elias, Alaska, EE.UU."
#pt msgstr "Cores outonales, Parque nacional Wrangell-St. Elias, Alaska, EUA"

msgid "tiaga-title"
#en msgstr "Boreal Forests / Tiaga"
#es msgstr "Bosques boreales / Tiaga"
#pt msgstr "Florestas Boreal / Tiaga"

msgid "tiaga-note"
#en msgstr "Lakes and muskegs, Chitina River Valley, Wrangell St. Elias National Park, Alaska, USA"
#es msgstr "Lagos y muskegs, Chitina River Valley, Parque Nacional Wrangell St. Elias, Alaska, EE.UU."
#pt msgstr "Lagos e muskegs, Chitina River Valley, Parque Nacional do Wrangell St. Elias, Alaska, EUA"

msgid "temperate-coniferous-title"
#en msgstr "Temperate coniferous forests"
#es msgstr "Bosques coníferos templados"
#pt msgstr "Florestas coníferas temperadas"

msgid "temperate-coniferous-note"
#en msgstr "Aspen and conifers, Dixie National Forest, Utah, USA"
#es msgstr "Alamos y coníferas, Bosque Nacional de Dixie, Utah, EE.UU."
#pt msgstr "Choupo tremedor e coníferas, Floresta Nacional de Dixie, Utá, EUA"

msgid "temperate-broadleaf-title"
#en msgstr "Temperate broadleaf mixed forests"
#es msgstr "Bosques de flor templados mezclados"
#pt msgstr "Florestas misturadas com flor temperados"

msgid "temperate-broadleaf-note"
#en msgstr "Flowering rata tree, Metrosideros umbellata, Westland National Park, New Zealand"
#es msgstr "Árbol rata floreciendo, Metrosideros umbellata, Parque Nacional Westland, Nueva Zelandia"
#pt msgstr "Árvore do rata, Metrosideros umbellata, Parque Nacional Westland, Nova Zelândia"

msgid "prairie-title"
#en msgstr "Temperate grasslands, savannas, and shrublands"
#es msgstr "Praderas, savannas, y montes templados"
#pt msgstr "Pradarias, y savanas temperedas"

msgid "prairie-note"
#en msgstr "Coastal prairie in mist, Monterey Bay, California, USA"
#es msgstr "Pradera costera en la niebla, Bahía de Monterey, California, EE.UU."
#pt msgstr "Pradaria litoral na névoa, Baía de Monterey, Califórnia, EUA"

msgid "montane-title"
#en msgstr "Montane grasslands and shrublands"
#es msgstr "Praderas y arbustos de altura"
#pt msgstr "Prados e plantas do altura"

msgid "montane-note"
#en msgstr "Nilgiri Hills, Western Ghats, India"
#es msgstr "Colinas de Nilgiri, Ghats occidental, India"
#pt msgstr "Montes de Nilgiri, Ghats ocidental, India"

msgid "desert-title"
#en msgstr "Deserts and xeric shrublands"
#es msgstr "Desiertos y vegetación xérica"
#pt msgstr "Desertos e plantas xericas"

msgid "desert-note"
#en msgstr "River gum trees and spinifex grass, Central Desert, Australia"
#es msgstr "Árboles de goma de río y pasto spinifex, Desierto Central, Australia"
#pt msgstr "Árvores do goma do rio e grama do spinifex, Deserto Central, Austrália"

msgid "mediterranean-title"
#en msgstr "Mediterranean forests, woodlands, and scrub"
#es msgstr "Bosques mediterráneos, arboledas, y arbustos"
#pt msgstr "Florestas Mediterranean, e arbustos"

msgid "mediterranean-note"
#en msgstr "Flowering namaqua daisies, Namaqualand, Goegap Nature Reserve, South Africa"
#es msgstr "Margaritas namaqua floreciendo, Namaqualand, Reserva Natural de Goegap, Sudáfrica"
#pt msgstr "Margaridinhas namaqua, Namaqualand, Reserva de natureza de Goegap, África do Sul"

msgid "savannah-title"
#en msgstr "Tropical and subtropical grasslands, savannas, and shrublands"
#es msgstr "Prados, sabanas, y montes tropicales y subtropicales"
#pt msgstr "Pradaria, savanas, e monte tropicais e subtropical"

msgid "savannah-note"
#en msgstr "Giraffe (Giraffa camelopardalis) and zebras (Equus quagga) foraging, Masai Mara Reserve, Kenya"
#es msgstr "Jirafa (Giraffa camelopardalis) y cebras (Equus quagga) alimentándose, Reserva Mara de los Masai, Kenia"
#pt msgstr "Girafa (Giraffa camelopardalis) e zebras (Equus quagga) comendo, Reserva Mara dos Masai, Kenya"

msgid "floodplain-title"
#en msgstr "Flooded grasslands and savannas"
#es msgstr "Praderas inundadas y sabanas"
#pt msgstr "Pradaria inundadas e savanas"

msgid "floodplain-note"
#en msgstr "Palm islands, Okavango Delta, Botswana"
#es msgstr "Islas de palmas, Delta de Okavango, Botswana"
#pt msgstr "Ilha da palma, Delta de Okavango, Botswana"

msgid "tropical-moist-title"
#en msgstr "Tropical and subtropical moist broadleaf forests"
#es msgstr "Bosques de flor húmedas tropicales y subtropicales"
#pt msgstr "Florestas da folha húmidas tropicais e subtropical"

msgid "tropical-moist-note"
#en msgstr "Ranomafana rainforest, Madagascar"
#es msgstr "Selva de Ranomafana, Madagascar"
#pt msgstr "Selva de Ranomafana, Madagascar"

msgid "tropical-dry-title"
#en msgstr "Tropical and subtropical dry broadleaf forests"
#es msgstr "Bosques secos de flor tropicales y subtropicales"
#pt msgstr "Florestas da secas com flor tropicais e subtropical"

msgid "tropical-dry-note"
#en msgstr "Cerrado woodland, Pantanal, Brazil"
#es msgstr "Arbolado de Cerrado, Pantanal, Brasil"
#pt msgstr "Floresta de Cerrado, Pantanal, Brasil"

msgid "tropical-coniferous-title"
#en msgstr "Tropical and subtropical coniferous forests"
#es msgstr "Bosque de coníferas tropical y subtropical"
#pt msgstr "Florestas coniferous tropicais e subtropical"

msgid "tropical-coniferous-note"
#en msgstr "Firs and pines, Sierra Madre Oriental, Michoacan, Mexico"
#es msgstr "Abetos y pinos, Sierra Madre Oriental, Michoacan, México"
#pt msgstr "Abetos e pinhos, Sierra Madre Oriental, Michoacan, México"

Biology XML format

Experimental - possible future format for scalability. This XML could be submitted/edited directly by content contributors and automagically parsed into HTML. Note that every article has its own unique ID, and that each child tag within an article has a "lang" attribute to enable people to put in translations. The unique ID being wiki-editable is potentially dangerous - easy to change book IDs, duplicate ID numbers, etc. which is probably an argument in favor for a CMS (much as I hate to say it); this format would be easily transferable to a CMS.

Right now I'm just parsing the title, author, publisher date, and note tags, but more can be added if needed. There needs to be an instance of each tag with the lang attribute set to "default" (for when no language is specified, or a nonexistent translation is requested). Tags with no lang attribute are taken to be set as "default." The last valid version of each tag/lang combination is what is actually parsed. For instance:

<title> A title! </title>
<author lang="en">Author1</author>
<author lang="en">Overwrite Author1</author>

is the same as

<title lang="default"> A title! </title>
<author lang="en">Overwrite Author1</author>

Actual sample xml follows. Mchua 11:03, 29 March 2007 (EDT)


<article id="1"> <!-- sample -->
    <title lang="default">Sample title</title>
    <author lang="default">Made-up author name</author>
    <publisher lang="default">Fictional publisher</publisher>
    <date lang="default">2007</date>
    <note lang="default">No language specified, or no translation exists in this language</note>
    <note lang="en">A note in English</note>
    <note lang="es">A note in Espanol</note>
    <note lang="pt">A note in Portuguese<note>
</article>

<article id="2">
    <title lang="default">Tundra</title>
    <author lang="default"> Frans Lanting </author>
    <publisher lang="default">E.O. Wilson Foundation</publisher>
    <date lang="default">2007</date>
    <note lang="default"> Fall colors, Wrangell-St. Elias National Park, Alaska, USA </note>
    <note lang="en">Fall colors, Wrangell-St. Elias National Park, Alaska, USA</note>
    <note lang="es">Colores otoñales, Parque Nacional de Wrangell-St. Elias, Alaska, EE.UU.</note>
    <note lang="pt">Cores outonales, Parque nacional Wrangell-St. Elias, Alaska, EUA<note>
</article>

Alternative XML markup

Grouped by language - possibly easier for content contributors & translators, but (I perceive it to be) less flexible in terms of adding tags, languages, etc. on the parse-to-xhtml end. Mchua 11:22, 29 March 2007 (EDT)

<article id="1">
    <default>
        <title> Default title </title>
        <author> Default author </author>
    </default>
    <en>
        <title> English title </title>
        <author> English author </author>
    <en>
    <es>
        <title> Espanol title </title>
        <author> Espanol author </author>
    <es>
</article>


Books

msgid "libro-address-titulo"
#en msgstr 1.  Address 	

msgid "libro-address-authors"
#en msgstr Authors - Ahmad Reza Ahmadi   

msgid "libro-address-illustrators"
#en msgstr  Illustrators - Sharareh Khosravani

msgid "libro-address-text"
#en msgstr
Grandma was sick and coughed all the time so her grandson went to the store to get more medicine. Finding the store was harder than he thought since he couldn't understand the people he showed the ad... 

msgid "libro-address-language"
#en msgstr	Persian / Farsi

msgid "libro-address-date"
#en msgstr 1384 (Iranian Calendar)


msgid "libro-asleep-title"
#en msgstr   Asleep and awake
Authors and Illustrators - Azita Arta
A stranger told Mahan, a merchant, he had profited from a trade and asked him to follow him. He followed the stranger into the desert but the stranger disappeared. Then, another man and woman promised...
Awards - Selected title of the Bratislava Biennial of lllustrations-Selected title of the Bologna Illustrators Exhibition-BolognaRagazzi Award -- New Horizons (awarded to the series) 	Persian / Farsi
2000


msgid "libro-dearaunt-title"
#en msgstr	Aunt, dear Aunt, kind Daddy 	Aunt, dear Aunt, kind Daddy
Authors - Mostafa Rahmandoust   Illustrators - Ali Namvar
A girl leaves home to escape her arranged marriage. 	Persian / Farsi
1381 (Iranian Calendar)


msgid "libro-bluesky-title"
#en msgstr 	The blue sky
Authors and Illustrators - Andrea Petrlik Huseinović   Translators - Ludwig Bauer
A sad and lonely little girl dreams of seeing her mother again as she watches the clouds in the sky. One day, she meets a strange bird who helps the girl return to her mother.
Awards - Grigor Vitez Award-BIB (Biennial of Illustration), Bratislava, Gold Plaque 	English
2001


msgid "libro-captain-title"
#en msgstr 	The Captain
Authors - Liliana Santirso   Illustrators - Patricio Gómez
The Captain was just a boy when he set foot on a ship called the Sebastian. He spent many years on the ship and with it shared many adventures. But, can he lead his crew through the toughest waters o... 	Spanish
1998


msgid "libro-ciconia-title"
#en msgstr 	Ciconia Ciconia
Authors and Illustrators - Andrea Petrlik Huseinović
When the white stork's Croatian village is destroyed by war, he searches for a new place to live. However, he finds out that there's no place like home.
Awards - Grand Prize, Oita Biennial of Illustrations-Selected title of the White Ravens 	Croatian
2003


msgid "libro-playwithbooks-title"
#en msgstr 	I like to play with books
Authors - Liliana Santirso   Illustrators - Raúl Villagómez~Patricio Gómez
This is a short story about why a child loves to play with books. 	Spanish
1998


msgid "libro-fluff-title"
#en msgstr   Little Fluff and his brothers
Authors - Daniel Barradas   Illustrators - Carla Pott
This is the story of a little pink fluff that was born in the navel of a girl. Unlike the others, that turned grey with time, this little fluff never lost its color. He felt lonely because he was di... 	Portuguese


msgid "libro-redball-title"
#en msgstr  The red ball
Authors - Farideh Khalatbaree   Illustrators - Ali Mafakheri
The red ball was left in a cupboard for a long time, because his owner had grown up and did not like to play with him any longer. So the ball decided to leave the cupboard and try to find a new friend...
Awards - BolognaRagazzi Award -- New Horizons (awarded to the series) 	Persian / Farsi
1383 (Iranian Calendar)
 

Games

Games table:

title description
Etoys running on the OLPC display
Etoys A playground for your mind! It includes 2D and 3D graphics, images, text, particles, presentations, web-pages, videos, sound and MIDI, and so on. With it, you can build smart toys that do cool things. You can also share your creations with your friends!
need screenshot Block Party The classic falling block arcade game. Stack the blocks well and they disappear -- leave holes and they pile up. See how long you can last!
need screenshot Javascript games A collection of javascript games that are known to work, that you can play in your browser.
need screenshot Flash games A collection of games written in Flash that are known to work. You can also play these in your browser.


msgid "juegos-titulo"
#en msgstr "Games"
#es msgstr "Juegos"
#pt msgstr "Jogos"
#fr msgstr "Jeux"

msgid "etoys-titulo"
#en msgstr "eToys"
#es msgstr "eToys"
#pt msgstr "eToys"
#fr msgstr "eToys"

msgid "etoys-texto"
#en msgstr "A playground for your mind! It includes 2D and 3D graphics, images, text, particles, presentations, web-pages, videos, sound and MIDI, and so on. With it, you can build smart toys that do cool things. You can also share your creations with your friends!"
#es msgstr "Una plaza para tu mente! Incluye gráficos en 2 y 3 dimensiones, imágenes, texto, partículas, presentaciones, páginas web, videos, sonidos y MIDI, y cosas por el estilo. Con él se pueden contruir juguetes inteligentes que hacen cosas divertidas. También podés compartirlas con tus amigos!"

msgid "blockparty-titulo"
#en msgstr "Block Party"
#es msgstr "Fiesta de Bloques"

msgid "blockparty-texto"
#en msgstr "The classic falling block arcade game. Stack the blocks well and they disappear -- leave holes and they pile up. See how long you can last!"
#es msgstr "Al clásico juego de los bloques cayendo. Apilá los bloques correctamente y desaparecerán -- si dejas agujeros, se amontonan. A ver cuanto durás."

msgid "simcity-titulo"
#en msgstr "SimCity"
#es msgstr "SimCity"

msgid "simcity-texto"
#en msgstr "Try to manage the operations of a small town. See if you can grow it into a big city!"
#es msgstr "Intenta administrar las operaciones de un pequeño pueblo y ve cómo crece hasta convertirse una gran ciudad"

msgid "javascript-titulo"
#en msgstr "Javascript games"
#es msgstr "Juegos en JavaScript"

msgid "javascript-texto"
#en msgstr "A collection of javascript games that are known to work, that you can play in your browser."
#es msgstr "Una colección de juegos en JavaScript que se sabe que funcionan, y que podés jugar en tu navegador."

msgid "flash-titulo"
#en msgstr "Flash games"
#en msgstr "Juegos en Flash"

msgid "flash-texto"
#en msgstr "A collection of games written in Flash that are known to work. You can also play these in your browser."
#es "Una colección de juegos en Flash que se sabe que funcionan, y que también podés jugar en tu navegador"

po2dict - Python helper function

Takes pofiles as above and turns them into a python dictionary Mchua 13:58, 29 March 2007 (EDT)

# po2dict
# feed it the location of a .po file
# returns dictionary version of that file where
# dictionary[MSGINDEXSTRING][LANGUAGECODE] returns the proper string.
def po2dict(polocation):
    pofile = open(polocation, 'r')
    translations = {}
    currentmsgid = ""
    for line in pofile:
        if (line[0:5] == "msgid"): # create a new msgid
            currentmsgid = line[5:].lstrip(' "').rstrip(' "\n')
            translations[currentmsgid] = {}
        if (line[4:10] == "msgstr"):
            language = line[1:3] # get 2-letter language id
            translatedstring = line[10:].lstrip(' "').rstrip(' "\n')
            translations[currentmsgid][language] = translatedstring
    pofile.close()
    return translations

# usage example
dictionary = po2dict{"biology.po")
print dictionary["tiaga-notes"]["es"] # should print the Spanish string ("Lagos y muskegs...")