From 69e383d6a8120c222325bc69dccde7ffe2613f57 Mon Sep 17 00:00:00 2001 From: Greg Von Kuster Date: Tue, 17 Mar 2009 22:46:47 -0400 Subject: [PATCH] Integrating i18n support provided by Mitsuteru Nakao, Takashi Hatakeyama, and Hideyuki Morita. --- eggs.ini | 2 + lib/galaxy/config.py | 2 - lib/galaxy/web/framework/__init__.py | 14 + locale/en/LC_MESSAGES/ginga.mo | Bin 0 -> 3873 bytes locale/en/LC_MESSAGES/ginga.po | 299 ++++++++++ locale/en/LC_MESSAGES/tools.mo | Bin 0 -> 1564 bytes locale/en/LC_MESSAGES/tools.po | 85 +++ locale/ginga.pot | 296 ++++++++++ locale/ja/LC_MESSAGES/ginga.mo | Bin 0 -> 8439 bytes locale/ja/LC_MESSAGES/ginga.po | 518 ++++++++++++++++++ locale/ja/LC_MESSAGES/tools.mo | Bin 0 -> 1557 bytes locale/ja/LC_MESSAGES/tools.po | 85 +++ locale/tools.pot | 66 +++ scripts/paster.py | 1 + templates/admin_main.mako | 17 +- templates/base.mako | 7 +- templates/base_panels.mako | 45 +- templates/dataset/edit_attributes.mako | 38 +- templates/form.mako | 3 +- templates/history/list.mako | 29 +- templates/history/options.mako | 19 +- templates/history/rename.mako | 9 +- templates/history/share.mako | 13 +- templates/message.mako | 3 +- templates/root/history.mako | 101 ++-- templates/root/history_as_xml.mako | 2 +- templates/root/history_common.mako | 94 ++-- templates/root/index.mako | 6 +- templates/root/masthead.mako | 19 +- templates/root/tool_menu.mako | 14 +- templates/user/index.mako | 18 +- .../workflow/build_from_current_history.mako | 11 +- test/functional/__init__.py | 3 + 33 files changed, 1596 insertions(+), 223 deletions(-) create mode 100644 locale/en/LC_MESSAGES/ginga.mo create mode 100644 locale/en/LC_MESSAGES/ginga.po create mode 100644 locale/en/LC_MESSAGES/tools.mo create mode 100644 locale/en/LC_MESSAGES/tools.po create mode 100644 locale/ginga.pot create mode 100644 locale/ja/LC_MESSAGES/ginga.mo create mode 100644 locale/ja/LC_MESSAGES/ginga.po create mode 100644 locale/ja/LC_MESSAGES/tools.mo create mode 100644 locale/ja/LC_MESSAGES/tools.po create mode 100644 locale/tools.pot diff --git a/eggs.ini b/eggs.ini index 43f226b378e..d0646b2f284 100644 --- a/eggs.ini +++ b/eggs.ini @@ -47,6 +47,7 @@ WebError = 0.8a WebHelpers = 0.2 WebOb = 0.8.5 wsgiref = 0.1.2 +Babel = 0.9.4 ; extra version information [tags] @@ -92,3 +93,4 @@ WebError = http://pypi.python.org/packages/source/W/WebError/WebError-0.8a.tar.g WebHelpers = http://pypi.python.org/packages/source/W/WebHelpers/WebHelpers-0.2.tar.gz WebOb = http://pypi.python.org/packages/source/W/WebOb/WebOb-0.8.5.tar.gz wsgiref = http://pypi.python.org/packages/source/w/wsgiref/wsgiref-0.1.2.zip +Babel = http://ftp.edgewall.com/pub/babel/Babel-0.9.4.zip diff --git a/lib/galaxy/config.py b/lib/galaxy/config.py index eb2c91311c8..5df4de5ff2a 100644 --- a/lib/galaxy/config.py +++ b/lib/galaxy/config.py @@ -165,5 +165,3 @@ def configure_logging( config ): # Hook everything up handler.setFormatter( formatter ) root.addHandler( handler ) - - diff --git a/lib/galaxy/web/framework/__init__.py b/lib/galaxy/web/framework/__init__.py index 7abd179d478..f3f37976f2b 100644 --- a/lib/galaxy/web/framework/__init__.py +++ b/lib/galaxy/web/framework/__init__.py @@ -24,6 +24,9 @@ pkg_resources.require( "Mako" ) import mako.template import mako.lookup +pkg_resources.require( "Babel" ) +from babel.support import Translations + pkg_resources.require( "SQLAlchemy >= 0.4" ) from sqlalchemy import and_ @@ -110,6 +113,7 @@ class UniverseWebTransaction( base.DefaultWebTransaction ): self.__history = NOT_SET self.__galaxy_session = NOT_SET base.DefaultWebTransaction.__init__( self, environ ) + self.setup_i18n() self.sa_session.clear() self.debug = asbool( self.app.config.get( 'debug', False ) ) # Flag indicating whether we are in workflow building mode (means @@ -118,6 +122,16 @@ class UniverseWebTransaction( base.DefaultWebTransaction ): self.workflow_building_mode = False # Always have a valid galaxy session self.__ensure_valid_session( session_cookie ) + def setup_i18n( self ): + if 'HTTP_ACCEPT_LANGUAGE' in self.environ: + # locales looks something like: ['en', 'en-us;q=0.7', 'ja;q=0.3'] + locales = self.environ['HTTP_ACCEPT_LANGUAGE'].split( ',' ) + locales = [ l.split( ';' )[0] for l in locales ] + else: + # Default to English + locales = 'en' + t = Translations.load( dirname='locale', locales=locales, domain='ginga' ) + self.template_context.update ( dict( _=t.gettext, n_=t.gettext, N_=t.ngettext ) ) @property def sa_session( self ): """ diff --git a/locale/en/LC_MESSAGES/ginga.mo b/locale/en/LC_MESSAGES/ginga.mo new file mode 100644 index 0000000000000000000000000000000000000000..3ad6e6045a4889b8968e4c18389c91ddd60e8ba1 GIT binary patch literal 3873 zcmeH|U5Fc16vwaj(^Rdtl`4v!R%=_@iP?|Z-LzXb-A&i6$#&V@RtkOaCb>zbJGnQ` zooO1h_~3(z4+T*l6htfNi?weB^+hTzD2i585Q>U|R0J)eh|&lDXL7TvRNsBrB|E>l zcg~!T|2Z@B)vCqM3H-VR;{ z+3waQLRD{{!<`Q7H7d5!4E)$5EnrF#J7$=fXlJI z1ae(}fUChp2*&Z&;(#r22gq^ncI$qS^Vx@C}+cA*)^E8;~2J*a|0QvrRK(6~d$a;JMvVIpqw*SfTHxLqu%OKaa1kQP0 zR)QSwPLS=lfcS}Cw;l#LzcG;g9soI?Lm(s*fm^pg*6#_B?Op>}-#0*xdk*BfKL!c> z1>6d*hI6DOhC!Z}BFOa|2U*u=LC))SkmJ1xvcI=LuHy{I@je9E?o-DvL9Xi?5Ymf_ zAnWt1TQ5Zs9A_2Ce%5kPBuT3lsYWwuQ{A_b3EP6oaTqEc{pSX4VnbCSX=(iiyMD8v zYG@i1)zy{vHbZs9H?a-cJB>f77vDUZ?S^1U@n-Uv^irOY78@rR1gnJ}WQGtro zzZGzw7^zELOYRHj0*Vo%Z4}1kh!B6a8km+C36+eLLn5o}+Rbiq-T_P!HP|u1ySCXYz&uY`sRFRQ{29OE?62;SEOa}63n-U$+w@^mD(cRtq zT_>H5+SgOkNq6!}i;isj zo5<3&UnNbGl}f0r6%Tehe-I;u(0@}a_@@+Uaixhi5zU$Xo52xZwOC^5rnAybbzS1E z5!;ALig*!rFLBS3hdE6nfnT1bjboS_R&^s8oy>QjsuAW`W7_%QlVK!E$U~G(vrPeH znj1z@?o2dyse}Q9@KqBwWQ3Es%=rvG#*us6==3;LRVY*!p=z2CS;lyF-FfmfCQquc z@UL`P+Q^EQKkJL`qh!ToXb!7#^3vYI=O%L~1H=?iFp# zuXwu=!kfY5rY85zc*&!Pn>WfuT2rR}(v*w;S{_ zeO}LY%JgNoZSykyuqz-zZzh!51`@BmEbZA}D9}W%n5UijVs5-JoEsgT%1=-4f~l^> z7;Qb(hEngPaj2bD4PcsUHkQPmrmx8r=PD)jQYY$_O|EDerxv~i3*UmyXJg@8u<$MTAAJk{0+OB$R{#J2 literal 0 HcmV?d00001 diff --git a/locale/en/LC_MESSAGES/ginga.po b/locale/en/LC_MESSAGES/ginga.po new file mode 100644 index 00000000000..e9506ff7134 --- /dev/null +++ b/locale/en/LC_MESSAGES/ginga.po @@ -0,0 +1,299 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2009 THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-21 18:33+0900\n" +"PO-Revision-Date: 2009-03-17 03:55-0400\n" +"Last-Translator: FULL NAME \n" +"Language-Team: en \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 0.9.4\n" + +#: templates/history/options.mako:17 +msgid " a new empty history" +msgstr "" + +#: templates/history/options.mako:22 templates/history/options.mako:24 +msgid " current history" +msgstr "" + +#: templates/history/options.mako:14 +#, python-format +msgid " current history (stored as \"%s\")" +msgstr "" + +#: templates/history/options.mako:20 +msgid " from the current history" +msgstr "" + +#: templates/history/options.mako:15 +msgid " previously stored histories" +msgstr "" + +#: templates/history/options.mako:8 +msgid " to store or switch histories." +msgstr "" + +#: templates/user/index.mako:9 templates/user/index.mako:11 +msgid "Account settings" +msgstr "" + +#: templates/root/masthead.mako:39 +msgid "Account: " +msgstr "" + +#: templates/admin_main.mako:16 +msgid "Admin password: " +msgstr "" + +#: templates/root/history_common.mako:41 +msgid "An error occurred running this job: " +msgstr "" + +#: templates/history/options.mako:24 +msgid "Are you sure you want to delete the current history?" +msgstr "" + +#: templates/user/index.mako:16 +msgid "Change your password" +msgstr "" + +#: templates/history/options.mako:20 +msgid "Construct workflow" +msgstr "" + +#: templates/history/options.mako:17 +msgid "Create" +msgstr "" + +#: templates/user/index.mako:24 +msgid "Create new account" +msgstr "" + +#: templates/history/rename.mako:9 +msgid "Current Name" +msgstr "" + +#: templates/history/options.mako:24 +msgid "Delete" +msgstr "" + +#: templates/history/share.mako:23 +msgid "Email of User to share with:" +msgstr "" + +#: templates/root/history_common.mako:76 +#, python-format +msgid "Error: unknown dataset state \"%s\"." +msgstr "" + +#: templates/admin_main.mako:2 templates/admin_main.mako:7 +msgid "Galaxy Administration" +msgstr "" + +#: templates/root/history.mako:12 +msgid "Galaxy History" +msgstr "" + +#: templates/root/tool_menu.mako:11 +msgid "Galaxy Tools" +msgstr "" + +#: templates/root/index.mako:34 +msgid "History" +msgstr "" + +#: templates/history/share.mako:8 +msgid "History Name:" +msgstr "" + +#: templates/history/options.mako:4 +msgid "History Options" +msgstr "" + +#: templates/root/history_common.mako:57 templates/root/masthead.mako:25 +msgid "Info: " +msgstr "" + +#: templates/root/history_common.mako:38 +msgid "Job is currently running" +msgstr "" + +#: templates/root/history_common.mako:36 +msgid "Job is waiting to run" +msgstr "" + +#: templates/history/options.mako:15 +msgid "List" +msgstr "" + +#: templates/root/masthead.mako:36 +#, python-format +msgid "Logged in as %s: " +msgstr "" + +#: templates/user/index.mako:23 +msgid "Login" +msgstr "" + +#: templates/user/index.mako:18 +msgid "Logout" +msgstr "" + +#: templates/root/tool_menu.mako:100 +msgid "Manage" +msgstr "" + +#: templates/history/rename.mako:9 +msgid "New Name" +msgstr "" + +#: templates/root/history_common.mako:45 +msgid "No data: " +msgstr "" + +#: templates/history/share.mako:8 +msgid "Number of Datasets:" +msgstr "" + +#: templates/root/index.mako:32 +msgid "Options" +msgstr "" + +#: templates/admin_main.mako:27 +msgid "Reload" +msgstr "" + +#: templates/admin_main.mako:18 +msgid "Reload tool: " +msgstr "" + +#: templates/history/options.mako:14 +msgid "Rename" +msgstr "" + +#: templates/history/rename.mako:2 templates/history/rename.mako:5 +msgid "Rename History" +msgstr "" + +#: templates/history/options.mako:22 +msgid "Share" +msgstr "" + +#: templates/history/share.mako:5 +msgid "Share Histories" +msgstr "" + +#: templates/history/share.mako:8 +msgid "Share Link" +msgstr "" + +#: templates/history/share.mako:2 +msgid "Share histories" +msgstr "" + +#: templates/history/share.mako:14 +msgid "This history contains no data." +msgstr "" + +#: templates/root/index.mako:5 +msgid "Tools" +msgstr "" + +#: templates/user/index.mako:17 +msgid "Update your email address" +msgstr "" + +#: templates/root/tool_menu.mako:95 +msgid "Workflow" +msgstr "" + +#: templates/user/index.mako:14 +#, python-format +msgid "You are currently logged in as %s." +msgstr "" + +#: templates/user/index.mako:21 +msgid "You are currently not logged in." +msgstr "" + +#: templates/root/history.mako:223 +msgid "You are currently viewing a deleted history!" +msgstr "" + +#: templates/history/options.mako:8 +msgid "You must be " +msgstr "" + +#: templates/root/history.mako:252 +msgid "Your history is empty. Click 'Get Data' on the left pane to start" +msgstr "" + +#: templates/root/masthead.mako:28 +msgid "blog" +msgstr "" + +#: templates/history/share.mako:20 +msgid "copy link to share" +msgstr "" + +#: templates/root/masthead.mako:39 +msgid "create" +msgstr "" + +#: templates/root/history_common.mako:50 +msgid "database: " +msgstr "" + +#: templates/root/history_common.mako:49 +msgid "format: " +msgstr "" + +#: templates/history/options.mako:8 +msgid "logged in" +msgstr "" + +#: templates/root/masthead.mako:40 +msgid "login" +msgstr "" + +#: templates/root/masthead.mako:37 +msgid "logout" +msgstr "" + +#: templates/root/masthead.mako:36 +msgid "manage" +msgstr "" + +#: templates/root/history.mako:218 +msgid "refresh" +msgstr "" + +#: templates/root/masthead.mako:25 +msgid "report bugs" +msgstr "" + +#: templates/root/history_common.mako:42 +msgid "report this error" +msgstr "" + +#: templates/root/masthead.mako:27 +msgid "screencasts" +msgstr "" + +#: templates/root/masthead.mako:26 +msgid "wiki" +msgstr "" + +#: templates/root/tool_menu.mako:100 +msgid "workflows" +msgstr "" + diff --git a/locale/en/LC_MESSAGES/tools.mo b/locale/en/LC_MESSAGES/tools.mo new file mode 100644 index 0000000000000000000000000000000000000000..55de14f711fdc81db5befd34cba6e9d25b09fae2 GIT binary patch literal 1564 zcmeH`zi-<{6vwZL6C^}{Bu0ZKKoLA|4cc>P$3PtV2P{jpD?_qWk#XlUb(UCAcg*o< zSe^0*w8&(1>QbPK#{!*#Oj$d6ELvnL3Uuhup<}-%v55`j56BP!)Q9i*<$K@v?)cm6 z%rV37BU~TjI(5OB-!~sHb{+Az;5G1j@CJBN@i{n)_?IgF9d!D?E3ylWT|s;UbnACO zr@vQm6}*kO16~D(pz~p>=g%ts0N%y=&!F>h3VPrx@D}(NcoV#Ek+G+!{UPY;9nVbl zKZ4HpPZeK+&c|sL{{cGvzZI`sn)<#Cy7f8G=@%+CK2Y$ z+tN})STVV&>c5V+rP8A`p(xR=-nJ3>@O~pL@=T1UZ|&$*eMV8aKegu4ZW~?Ztd$;E z-a&V)lS?D4B(3QGd`$%phXPIZg%SdVEh z>_yGauGf<}Z1Hw6Nc()V927j(0fp^av$aucGjt}n3>-t00WJFeBkn)o z3lGU(3jBwk`b)kKA@9k<)Kz-BZkbPXEm2q=8=(qpuQmZ~J#MvVx7H46^<3$7uO-x= z6a&d)DMkTFMXRmWMwZTNGg$Y!S!qPZ-8m})Qu!n-))rT2db{?CqPaC%xaYN-?eNVM z7Uq2qht%RI@pzo0A&cqV$Nr~kg_5B#g|us>J>bi4bk6UAG(1#^?qmA`THa5shs~cH a1dMMS(5Bdz8Ts>%=9j$p-@&`_9sCC^!>Bs| literal 0 HcmV?d00001 diff --git a/locale/en/LC_MESSAGES/tools.po b/locale/en/LC_MESSAGES/tools.po new file mode 100644 index 00000000000..f7370221624 --- /dev/null +++ b/locale/en/LC_MESSAGES/tools.po @@ -0,0 +1,85 @@ +# English translations for PROJECT. +# Copyright (C) 2009 ORGANIZATION +# This file is distributed under the same license as the PROJECT project. +# FIRST AUTHOR , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: PROJECT VERSION\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2009-03-17 04:07-0400\n" +"PO-Revision-Date: 2009-03-17 04:07-0400\n" +"Last-Translator: FULL NAME \n" +"Language-Team: en \n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 0.9.4\n" + +msgid "Get Data" +msgstr "" + +msgid "Get ENCODE Data" +msgstr "" + +msgid "ENCODE Tools" +msgstr "" + +msgid "Lift-Over" +msgstr "" + +msgid "Text Manipulation" +msgstr "" + +msgid "Filter and Sort" +msgstr "" + +msgid "Join, Subtract and Group" +msgstr "" + +msgid "Convert Formats" +msgstr "" + +msgid "Extract Features" +msgstr "" + +msgid "Fetch Sequences" +msgstr "" + +msgid "Fetch Alignments" +msgstr "" + +msgid "Get Genomic Scores" +msgstr "" + +msgid "Operate on Genomic Intervals" +msgstr "" + +msgid "Statistics" +msgstr "" + +msgid "Graph/Display Data" +msgstr "" + +msgid "Regional Variation" +msgstr "" + +msgid "Evolution: HyPhy" +msgstr "" + +msgid "Taxonomy manipulation" +msgstr "" + +msgid "Solexa tools" +msgstr "" + +msgid "FASTA manipulation" +msgstr "" + +msgid "Short Read QC and Manipulation" +msgstr "" + +msgid "Short Read Mapping" +msgstr "" + diff --git a/locale/ginga.pot b/locale/ginga.pot new file mode 100644 index 00000000000..1703143c416 --- /dev/null +++ b/locale/ginga.pot @@ -0,0 +1,296 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-21 18:33+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: templates/history/options.mako:17 +msgid " a new empty history" +msgstr "" + +#: templates/history/options.mako:22 templates/history/options.mako:24 +msgid " current history" +msgstr "" + +#: templates/history/options.mako:14 +#, python-format +msgid " current history (stored as \"%s\")" +msgstr "" + +#: templates/history/options.mako:20 +msgid " from the current history" +msgstr "" + +#: templates/history/options.mako:15 +msgid " previously stored histories" +msgstr "" + +#: templates/history/options.mako:8 +msgid " to store or switch histories." +msgstr "" + +#: templates/user/index.mako:9 templates/user/index.mako:11 +msgid "Account settings" +msgstr "" + +#: templates/root/masthead.mako:39 +msgid "Account: " +msgstr "" + +#: templates/admin_main.mako:16 +msgid "Admin password: " +msgstr "" + +#: templates/root/history_common.mako:41 +msgid "An error occurred running this job: " +msgstr "" + +#: templates/history/options.mako:24 +msgid "Are you sure you want to delete the current history?" +msgstr "" + +#: templates/user/index.mako:16 +msgid "Change your password" +msgstr "" + +#: templates/history/options.mako:20 +msgid "Construct workflow" +msgstr "" + +#: templates/history/options.mako:17 +msgid "Create" +msgstr "" + +#: templates/user/index.mako:24 +msgid "Create new account" +msgstr "" + +#: templates/history/rename.mako:9 +msgid "Current Name" +msgstr "" + +#: templates/history/options.mako:24 +msgid "Delete" +msgstr "" + +#: templates/history/share.mako:23 +msgid "Email of User to share with:" +msgstr "" + +#: templates/root/history_common.mako:76 +#, python-format +msgid "Error: unknown dataset state \"%s\"." +msgstr "" + +#: templates/admin_main.mako:2 templates/admin_main.mako:7 +msgid "Galaxy Administration" +msgstr "" + +#: templates/root/history.mako:12 +msgid "Galaxy History" +msgstr "" + +#: templates/root/tool_menu.mako:11 +msgid "Galaxy Tools" +msgstr "" + +#: templates/root/index.mako:34 +msgid "History" +msgstr "" + +#: templates/history/share.mako:8 +msgid "History Name:" +msgstr "" + +#: templates/history/options.mako:4 +msgid "History Options" +msgstr "" + +#: templates/root/history_common.mako:57 templates/root/masthead.mako:25 +msgid "Info: " +msgstr "" + +#: templates/root/history_common.mako:38 +msgid "Job is currently running" +msgstr "" + +#: templates/root/history_common.mako:36 +msgid "Job is waiting to run" +msgstr "" + +#: templates/history/options.mako:15 +msgid "List" +msgstr "" + +#: templates/root/masthead.mako:36 +#, python-format +msgid "Logged in as %s: " +msgstr "" + +#: templates/user/index.mako:23 +msgid "Login" +msgstr "" + +#: templates/user/index.mako:18 +msgid "Logout" +msgstr "" + +#: templates/root/tool_menu.mako:100 +msgid "Manage" +msgstr "" + +#: templates/history/rename.mako:9 +msgid "New Name" +msgstr "" + +#: templates/root/history_common.mako:45 +msgid "No data: " +msgstr "" + +#: templates/history/share.mako:8 +msgid "Number of Datasets:" +msgstr "" + +#: templates/root/index.mako:32 +msgid "Options" +msgstr "" + +#: templates/admin_main.mako:27 +msgid "Reload" +msgstr "" + +#: templates/admin_main.mako:18 +msgid "Reload tool: " +msgstr "" + +#: templates/history/options.mako:14 +msgid "Rename" +msgstr "" + +#: templates/history/rename.mako:2 templates/history/rename.mako:5 +msgid "Rename History" +msgstr "" + +#: templates/history/options.mako:22 +msgid "Share" +msgstr "" + +#: templates/history/share.mako:5 +msgid "Share Histories" +msgstr "" + +#: templates/history/share.mako:8 +msgid "Share Link" +msgstr "" + +#: templates/history/share.mako:2 +msgid "Share histories" +msgstr "" + +#: templates/history/share.mako:14 +msgid "This history contains no data." +msgstr "" + +#: templates/root/index.mako:5 +msgid "Tools" +msgstr "" + +#: templates/user/index.mako:17 +msgid "Update your email address" +msgstr "" + +#: templates/root/tool_menu.mako:95 +msgid "Workflow" +msgstr "" + +#: templates/user/index.mako:14 +#, python-format +msgid "You are currently logged in as %s." +msgstr "" + +#: templates/user/index.mako:21 +msgid "You are currently not logged in." +msgstr "" + +#: templates/root/history.mako:223 +msgid "You are currently viewing a deleted history!" +msgstr "" + +#: templates/history/options.mako:8 +msgid "You must be " +msgstr "" + +#: templates/root/history.mako:252 +msgid "Your history is empty. Click 'Get Data' on the left pane to start" +msgstr "" + +#: templates/root/masthead.mako:28 +msgid "blog" +msgstr "" + +#: templates/history/share.mako:20 +msgid "copy link to share" +msgstr "" + +#: templates/root/masthead.mako:39 +msgid "create" +msgstr "" + +#: templates/root/history_common.mako:50 +msgid "database: " +msgstr "" + +#: templates/root/history_common.mako:49 +msgid "format: " +msgstr "" + +#: templates/history/options.mako:8 +msgid "logged in" +msgstr "" + +#: templates/root/masthead.mako:40 +msgid "login" +msgstr "" + +#: templates/root/masthead.mako:37 +msgid "logout" +msgstr "" + +#: templates/root/masthead.mako:36 +msgid "manage" +msgstr "" + +#: templates/root/history.mako:218 +msgid "refresh" +msgstr "" + +#: templates/root/masthead.mako:25 +msgid "report bugs" +msgstr "" + +#: templates/root/history_common.mako:42 +msgid "report this error" +msgstr "" + +#: templates/root/masthead.mako:27 +msgid "screencasts" +msgstr "" + +#: templates/root/masthead.mako:26 +msgid "wiki" +msgstr "" + +#: templates/root/tool_menu.mako:100 +msgid "workflows" +msgstr "" diff --git a/locale/ja/LC_MESSAGES/ginga.mo b/locale/ja/LC_MESSAGES/ginga.mo new file mode 100644 index 0000000000000000000000000000000000000000..22e28078248dd6b986101d42995ecc21b4ccad99 GIT binary patch literal 8439 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, YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: ginga 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-09-15 13:58+0900\n" +"PO-Revision-Date: 2008-09-21 19:13+0900\n" +"Last-Translator: Mitsuteru Nakao \n" +"Language-Team: Japanese\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: +msgid "iso-8859-1" +msgstr "utf-8" + +#: +msgid "lang=\"en\"" +msgstr "lang=\"ja\"" + + +#: templates/base_panels.mako:5 +msgid "Galaxy" +msgstr "Galaxy" + +#: templates/history/options.mako:24 +msgid "Are you sure you want to delete the current history?" +msgstr "現在のヒストリーを消すことに同意しますか?" + +#: templates/root/history.mako:38 +msgid "collapse all" +msgstr "すべてをおりたたむ" + +#: templates/root/index.mako:5 +msgid "Tools" +msgstr "ツール" + + + +#: tools/**.xml +msgid "Get Data" +msgstr "データ取得" + +msgid "Get ENCODE Data" +msgstr "ENCODEデータ取得" + +msgid "ENCODE Tools" +msgstr "ENCODEツール" + +msgid "Lift-Over" +msgstr "" + +msgid "Text Manipulation" +msgstr "テキスト操作" + +msgid "Filter and Sort" +msgstr "フィルターとソート" + +msgid "Join, Subtract and Group" +msgstr "結合、差分、集合演算" + +msgid "Convert Formats" +msgstr "フォーマット変換" + +msgid "Extract Features" +msgstr "Features抽出" + +msgid "Fetch Sequences" +msgstr "配列の取得" + +msgid "Fetch Alignments" +msgstr "アラインメントの取得" + +msgid "Get Genomic Scores" +msgstr "ゲノムスコア取得" + +msgid "Operate on Genomic Intervals" +msgstr "ゲノム間隔での操作" + +msgid "Statistics" +msgstr "統計量" + +msgid "Graph/Display Data" +msgstr "グラフ/データ表示" + +msgid "Regional Variation" +msgstr "領域的多型" + +msgid "Evolution: HyPhy" +msgstr "進化: HyPhy" + +msgid "Taxonomy manipulation" +msgstr "系統学的操作" + +msgid "Solexa tools" +msgstr "Solexaツールス" + +msgid "FASTA manipulation" +msgstr "FASTA操作" + +msgid "Short Read QC and Manipulation" +msgstr "Short Read QCと操作" + +msgid "Short Read Mapping" +msgstr "Short Readマッピング" + + + + + +#: templates/admin_main.mako:3 templates/admin_main.mako:8 +msgid "Galaxy Administration" +msgstr "Galaxy 管理" + +#: templates/admin_main.mako:17 +msgid "Admin password: " +msgstr "管理者パスワード: " + +#: templates/admin_main.mako:19 +msgid "Reload tool: " +msgstr "" + +#: templates/admin_main.mako:35 +msgid "Reload" +msgstr "再読込する" + +#: templates/dataset/edit_attributes.mako:2 +msgid "History Item Attributes" +msgstr "ヒストリーアイテム変数" + +#: templates/dataset/edit_attributes.mako:19 +msgid "Edit Attributes" +msgstr "変数を編集する" + +#: templates/dataset/edit_attributes.mako:64 +msgid "" +"This will inspect the dataset and attempt to correct the above column values " +"if they are not accurate." +msgstr "これはデータセットを調査して上記のカラムの値を修正することを試みます。" + +#: templates/dataset/edit_attributes.mako:68 +msgid "" +"Required metadata values are missing. Some of these values may not be " +"editable by the user. Selecting \"Auto-detect\" will attempt to fix these " +"values." +msgstr "必要なメタデータの値が不明です。それらのいくつかの値はユーザによって編集可能にはなっていません。「自動判定」を選択するとそれらの値をただしくできるかもしれません。" + +#: templates/dataset/edit_attributes.mako:78 +msgid "Convert to new format" +msgstr "新しいフォーマットに変換する" + +#: templates/dataset/edit_attributes.mako:84 +msgid "Convert to" +msgstr "変換する" + +#: templates/dataset/edit_attributes.mako:95 +msgid "" +"This will create a new dataset with the contents of this dataset converted " +"to a new format." +msgstr "新しいフォーマットに変換したデータセットを新規作成します。" + +#: templates/dataset/edit_attributes.mako:111 +msgid "Change data type" +msgstr "データタイプを変更する" + +#: templates/dataset/edit_attributes.mako:117 +msgid "New Type" +msgstr "新しいタイプ" + +#: templates/dataset/edit_attributes.mako:124 +msgid "" +"This will change the datatype of the existing dataset but not modify " +"its contents. Use this if Galaxy has incorrectly guessed the type of your " +"dataset." +msgstr "これは既存のデータセットのデータタイプを変更します。しかしデータセットの中身は変更しません。データセットのタイプの誤判定があったときに使用します。" + +#: templates/dataset/edit_attributes.mako:137 +msgid "Copy History Item" +msgstr "ヒストリーアイテムをコピーする" + +#: templates/history/list.mako:3 +msgid "Your saved histories" +msgstr "保存したヒストリー" + +#: templates/history/list.mako:19 +msgid "Stored Histories" +msgstr "格納してあるヒストリー" + +#: templates/history/list.mako:21 templates/root/history.mako:239 +msgid "hide deleted" +msgstr "削除したヒストリーを隠す" + +#: templates/history/list.mako:23 +msgid "show deleted" +msgstr "削除したヒストリーを表示する" + +#: templates/history/list.mako:27 +msgid "Name" +msgstr "名前" + +#: templates/history/list.mako:27 +msgid "Size" +msgstr "サイズ" + +#: templates/history/list.mako:27 +msgid "Last modified" +msgstr "最終更新日" + +#: templates/history/list.mako:27 +msgid "Actions" +msgstr "操作" + +#: templates/history/list.mako:45 +msgid "rename" +msgstr "名称変更する" + +#: templates/history/list.mako:46 +msgid "switch to" +msgstr "変更する" + +#: templates/history/list.mako:47 +msgid "delete" +msgstr "削除する" + +#: templates/history/list.mako:49 +msgid "undelete" +msgstr "削除から戻す" + +#: templates/history/list.mako:55 +msgid "Action" +msgstr "操作" + +#: templates/history/list.mako:56 templates/history/options.mako:21 +msgid "Share" +msgstr "共有" + +#: templates/history/list.mako:56 templates/history/options.mako:15 +msgid "Rename" +msgstr "名称変更する" + +#: templates/history/list.mako:56 templates/history/options.mako:24 +msgid "Delete" +msgstr "削除する" + +#: templates/history/list.mako:58 +msgid "Undelete" +msgstr "削除から戻す" + +#: templates/history/list.mako:65 +msgid "You have no stored histories" +msgstr "保管してあるヒストリーはありません" + +#: templates/history/options.mako:5 +msgid "History Options" +msgstr "ヒストリーオプション" + +#: templates/history/options.mako:9 +msgid "You must be " +msgstr "あなたは" + +#: templates/history/options.mako:9 +msgid "logged in" +msgstr "ログイン" + +#: templates/history/options.mako:9 +msgid " to store or switch histories." +msgstr "しないとヒストリーの保管や変更ができません。" + +#: templates/history/options.mako:15 +#, python-format +msgid " current history (stored as \"%s\")" +msgstr " 現在のヒストリー(\"%s\" として保管されています)" + +#: templates/history/options.mako:16 +msgid "List" +msgstr "リストする" + +#: templates/history/options.mako:16 +msgid " previously stored histories" +msgstr " 以前に保管したヒストリー" + +#: templates/history/options.mako:18 +msgid "Create" +msgstr "作成する" + +#: templates/history/options.mako:18 +msgid " a new empty history" +msgstr " 新規ヒストリー" + +#: templates/history/options.mako:20 +msgid "Construct workflow" +msgstr "ワークフローを構築する" + +#: templates/history/options.mako:20 +msgid " from the current history" +msgstr " 現在のヒストリーから" + +#: templates/history/options.mako:21 templates/history/options.mako:24 +msgid " current history" +msgstr " 現在のヒストリー" + +#: templates/history/options.mako:23 +msgid "Show deleted" +msgstr "削除したヒストリーを表示する" + +#: templates/history/options.mako:23 +msgid " datasets in history" +msgstr " ヒストリーのデータセット" + +#: templates/history/rename.mako:3 templates/history/rename.mako:6 +msgid "Rename History" +msgstr "ヒストリーの名称変更をする" + + +msgid "Rename Histories" +msgstr "名称変更する" + +msgid "Perform Action" +msgstr "操作を実行する" + +msgid "Submit" +msgstr "登録する" + + + +#: templates/history/rename.mako:10 +msgid "Current Name" +msgstr "現在の名称" + +#: templates/history/rename.mako:10 +msgid "New Name" +msgstr "新しい名称" + +#: templates/history/share.mako:3 +msgid "Share histories" +msgstr "ヒストリーを共有する" + +#: templates/history/share.mako:6 +msgid "Share Histories" +msgstr "ヒストリーを共有する" + +#: templates/history/share.mako:9 +msgid "History Name:" +msgstr "ヒストリー名" + +#: templates/history/share.mako:9 +msgid "Number of Datasets:" +msgstr "データセット数" + +#: templates/history/share.mako:9 +msgid "Share Link" +msgstr "共有リンク" + +#: templates/history/share.mako:15 +msgid "This history contains no data." +msgstr "このヒストリーにはデータがありません。" + +#: templates/history/share.mako:21 +msgid "copy link to share" +msgstr "共有リンクをコピーする" + +#: templates/history/share.mako:24 +msgid "Email of User to share with:" +msgstr "共有したいユーザのEメール:" +#msgstr "つぎのヒストリーを共有するユーザのEメールアドレス:" + +#: templates/root/history.mako:7 +msgid "Galaxy History" +msgstr "Galaxy ヒストリー" + +#: templates/root/history.mako:237 +msgid "refresh" +msgstr "リフレッシュ" + +#: templates/root/history.mako:245 +msgid "You are currently viewing a deleted history!" +msgstr "消去したヒストリーをみています。" + +#: templates/root/history.mako:289 +msgid "Your history is empty. Click 'Get Data' on the left pane to start" +msgstr "ヒストリーは空です。解析をはじめるには、左パネルの 'データ取得' をクリック" + +#: templates/root/history_common.mako:41 +msgid "Job is waiting to run" +msgstr "ジョブは実行待ちです" + +#: templates/root/history_common.mako:43 +msgid "Job is currently running" +msgstr "ジョブは実行中です" + +#: templates/root/history_common.mako:46 +msgid "An error occurred running this job: " +msgstr "このジョブの実行中に発生したエラー: " + +#: templates/root/history_common.mako:47 +msgid "report this error" +msgstr "このエラーを報告する" + +#: templates/root/history_common.mako:54 +msgid "No data: " +msgstr "データ無し: " + +#: templates/root/history_common.mako:58 +msgid "format: " +msgstr "フォーマット: " + +#: templates/root/history_common.mako:59 +msgid "database: " +msgstr "データベース: " + +#: templates/root/history_common.mako:66 templates/root/masthead.mako:20 +msgid "Info: " +msgstr "情報: " + +#: templates/root/history_common.mako:85 +#, python-format +msgid "Error: unknown dataset state \"%s\"." +msgstr "エラー: 不明なデータ状態 \"%s\"。" + +#: templates/root/index.mako:32 +msgid "Options" +msgstr "オプション" + +#: templates/root/index.mako:34 +msgid "History" +msgstr "ヒストリー" + +#: templates/root/masthead.mako:20 +msgid "report bugs" +msgstr "バグを報告する" + +#: templates/root/masthead.mako:21 +msgid "wiki" +msgstr "wiki" + +#: templates/root/masthead.mako:22 +msgid "screencasts" +msgstr "スクリーンキャスト" + +#: templates/root/masthead.mako:23 +msgid "blog" +msgstr "ブログ" + +#: templates/root/masthead.mako:31 +#, python-format +msgid "Logged in as %s: " +msgstr "%s としてログイン中: " + +#: templates/root/masthead.mako:31 +msgid "manage" +msgstr "管理" + +#: templates/root/masthead.mako:32 +msgid "logout" +msgstr "ログアウト" + +#: templates/root/masthead.mako:34 +msgid "Account: " +msgstr "アカウント: " + +#: templates/root/masthead.mako:34 +msgid "create" +msgstr "作成" + +#: templates/root/masthead.mako:35 +msgid "login" +msgstr "ログイン" + +#: templates/root/tool_menu.mako:52 +msgid "Galaxy Tools" +msgstr "Galaxy ツール群" + +#: templates/root/tool_menu.mako:129 +msgid "Workflow" +msgstr "ワークフロー" + +#: templates/root/tool_menu.mako:134 +msgid "Manage" +msgstr "管理" + +#: templates/root/tool_menu.mako:134 +msgid "workflows" +msgstr "ワークフロー" + +#: templates/user/index.mako:2 templates/user/index.mako:4 +msgid "Account settings" +msgstr "アカウント設定" + +#: templates/user/index.mako:7 +#, python-format +msgid "You are currently logged in as %s." +msgstr "%s としてログイン中。" + +#: templates/user/index.mako:9 +msgid "Change your password" +msgstr "パスワード変更" + +#: templates/user/index.mako:10 +msgid "Update your email address" +msgstr "メールアドレス変更" + +#: templates/user/index.mako:11 +msgid "Logout" +msgstr "ログアウト" + +#: templates/user/index.mako:16 +msgid "Login" +msgstr "ログイン" + +#: templates/user/index.mako:17 +msgid "Create new account" +msgstr "新規アカウントを作成する" diff --git a/locale/ja/LC_MESSAGES/tools.mo b/locale/ja/LC_MESSAGES/tools.mo new file mode 100644 index 0000000000000000000000000000000000000000..f6769d52c1a8e261c51fa6d4d4f836d9937bd7f1 GIT binary patch literal 1557 zcmeH`%Wl&^6o#iz5LifD1mYruX3J%Y3l$X8BGSYyK}i#0)BV($CWD+AGagsXJ8;{u zgazzi4I6j_*p)4}HAwIV{F4|c5)Z(FNY3Xo{(a7W&Wzt5n0!d^JB;f%u1yzg`Q4cy zWG~{o;2!W1xDR|*@)dXh@tZRK06P7*l4KhpyAbaK-TG0`=}(rN1CJnXfxE#z=zN&+ z`Tdelz!O-10XiR>pa*^e4}o96{ouCkgbY#pAn5Adn;h#OgUC9VY@#h;f6Ilfm(1|7?G33N)%V|17 ziFWmt4A1&!YckJLJ{-SwT}yR_M#bvbnoGN6bdiyUT(hi&?no;WhFd|kqCfN16+EnS zG}#e7*ybr+;YN;Ii2CqFJA!vSY+NZw6@W=L}FRJ%T|QRM_O+XiKHX3xf(hTX`AEmE&4X%0x?+F$QJ_zV7PUjkptErsQ zrgz0_r-k7ubLT7%sLDoRK0ke#j&J9EuUT(~zuTXl@;#hRi!;RHVTMjD#&#APFV$t5 z^ts7}oiFSfoBgeGM%RR4p-OZY`xemIRcSr!`sf5;Zo_~s@Kupgf9lfIjQ9To_%}X) EABME1G5`Po literal 0 HcmV?d00001 diff --git a/locale/ja/LC_MESSAGES/tools.po b/locale/ja/LC_MESSAGES/tools.po new file mode 100644 index 00000000000..9e3960d48d5 --- /dev/null +++ b/locale/ja/LC_MESSAGES/tools.po @@ -0,0 +1,85 @@ +# Japanese translations for PROJECT. +# Copyright (C) 2009 ORGANIZATION +# This file is distributed under the same license as the PROJECT project. +# FIRST AUTHOR , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: PROJECT VERSION\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2009-03-17 04:06-0400\n" +"PO-Revision-Date: 2009-03-17 04:06-0400\n" +"Last-Translator: FULL NAME \n" +"Language-Team: ja \n" +"Plural-Forms: nplurals=1; plural=0\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 0.9.4\n" + +msgid "Get Data" +msgstr "" + +msgid "Get ENCODE Data" +msgstr "" + +msgid "ENCODE Tools" +msgstr "" + +msgid "Lift-Over" +msgstr "" + +msgid "Text Manipulation" +msgstr "" + +msgid "Filter and Sort" +msgstr "" + +msgid "Join, Subtract and Group" +msgstr "" + +msgid "Convert Formats" +msgstr "" + +msgid "Extract Features" +msgstr "" + +msgid "Fetch Sequences" +msgstr "" + +msgid "Fetch Alignments" +msgstr "" + +msgid "Get Genomic Scores" +msgstr "" + +msgid "Operate on Genomic Intervals" +msgstr "" + +msgid "Statistics" +msgstr "" + +msgid "Graph/Display Data" +msgstr "" + +msgid "Regional Variation" +msgstr "" + +msgid "Evolution: HyPhy" +msgstr "" + +msgid "Taxonomy manipulation" +msgstr "" + +msgid "Solexa tools" +msgstr "" + +msgid "FASTA manipulation" +msgstr "" + +msgid "Short Read QC and Manipulation" +msgstr "" + +msgid "Short Read Mapping" +msgstr "" + diff --git a/locale/tools.pot b/locale/tools.pot new file mode 100644 index 00000000000..480f5571aac --- /dev/null +++ b/locale/tools.pot @@ -0,0 +1,66 @@ +#: tools/**.xml +msgid "Get Data" +msgstr "" + +msgid "Get ENCODE Data" +msgstr "" + +msgid "ENCODE Tools" +msgstr "" + +msgid "Lift-Over" +msgstr "" + +msgid "Text Manipulation" +msgstr "" + +msgid "Filter and Sort" +msgstr "" + +msgid "Join, Subtract and Group" +msgstr "" + +msgid "Convert Formats" +msgstr "" + +msgid "Extract Features" +msgstr "" + +msgid "Fetch Sequences" +msgstr "" + +msgid "Fetch Alignments" +msgstr "" + +msgid "Get Genomic Scores" +msgstr "" + +msgid "Operate on Genomic Intervals" +msgstr "" + +msgid "Statistics" +msgstr "" + +msgid "Graph/Display Data" +msgstr "" + +msgid "Regional Variation" +msgstr "" + +msgid "Evolution: HyPhy" +msgstr "" + +msgid "Taxonomy manipulation" +msgstr "" + +msgid "Solexa tools" +msgstr "" + +msgid "FASTA manipulation" +msgstr "" + +msgid "Short Read QC and Manipulation" +msgstr "" + +msgid "Short Read Mapping" +msgstr "" diff --git a/scripts/paster.py b/scripts/paster.py index 7624257a665..e6736a712f5 100755 --- a/scripts/paster.py +++ b/scripts/paster.py @@ -7,6 +7,7 @@ top level directly. import os, sys +sys.setdefaultencoding( 'utf_8' ) assert sys.version_info[:2] >= ( 2, 4 ) new_path = [ os.path.join( os.getcwd(), "lib" ) ] diff --git a/templates/admin_main.mako b/templates/admin_main.mako index cc013a7b1de..ea5977604e0 100644 --- a/templates/admin_main.mako +++ b/templates/admin_main.mako @@ -1,37 +1,38 @@ +<% _=n_ %> <%inherit file="/base.mako"/> -<%def name="title()">Galaxy Administration +<%def name="title()">${_('Galaxy Administration')} diff --git a/templates/base.mako b/templates/base.mako index e4f0d881a35..ad343b38195 100644 --- a/templates/base.mako +++ b/templates/base.mako @@ -1,9 +1,10 @@ +<% _=n_ %> -${self.title()} - +a ${self.title()} + ${self.stylesheets()} ${self.javascripts()} @@ -28,4 +29,4 @@ ${self.javascripts()} ## - \ No newline at end of file + diff --git a/templates/base_panels.mako b/templates/base_panels.mako index 29a2dee470e..99dd532519f 100644 --- a/templates/base_panels.mako +++ b/templates/base_panels.mako @@ -39,33 +39,34 @@ ## Document - + - ${self.title()} - ${self.javascripts()} - ${self.stylesheets()} + ${self.title()} + + ${self.javascripts()} + ${self.stylesheets()} - ## Background displays first -
- ## Layer iframes over backgrounds -
- ${self.masthead()} -
-
- ${self.left_panel()} -
-
-
- ${self.center_panel()} -
-
- + ## Background displays first +
+ ## Layer iframes over backgrounds +
+ ${self.masthead()} +
+
+ ${self.left_panel()} +
+
+
+ ${self.center_panel()} +
+
+ ## Allow other body level elements - ${next.body()} + ${next.body()} ## Scripts can be loaded later since they progressively add features to ## the panels, but do not change layout diff --git a/templates/dataset/edit_attributes.mako b/templates/dataset/edit_attributes.mako index 39936d24f4c..348a7addb2c 100644 --- a/templates/dataset/edit_attributes.mako +++ b/templates/dataset/edit_attributes.mako @@ -1,5 +1,5 @@ <%inherit file="/base.mako"/> -<%def name="title()">History Item Attributes +<%def name="title()">${_('History Item Attributes')} <%def name="datatype( dataset, datatypes )"> @@ -7,16 +7,16 @@ ## $datatypes.sort() %for ext in datatypes: %if dataset.ext == ext: - + %else: - + %endif %endfor
-
Edit Attributes
+
${_('Edit Attributes')}
@@ -52,21 +52,20 @@ %endif %endfor
- +
- +
- This will inspect the dataset and attempt to correct the above column values - if they are not accurate. + ${_('This will inspect the dataset and attempt to correct the above column values if they are not accurate.')}
%if data.missing_meta(): -
Required metadata values are missing. Some of these values may not be editable by the user. Selecting "Auto-detect" will attempt to fix these values.
+
${_('Required metadata values are missing. Some of these values may not be editable by the user. Selecting "Auto-detect" will attempt to fix these values.')}
%endif
@@ -76,13 +75,13 @@ <% converters = data.get_converter_types() %> %if len( converters ) > 0:
-
Convert to new format
+
${_('Convert to new format')}
+
@@ -110,27 +108,25 @@
-
Change data type
+
${_('Change data type')}
${datatype( data, datatypes )}
- This will change the datatype of the existing dataset - but not modify its contents. Use this if Galaxy - has incorrectly guessed the type of your dataset. + ${_('This will change the datatype of the existing dataset but not modify its contents. Use this if Galaxy has incorrectly guessed the type of your dataset.')}
- +
@@ -138,7 +134,7 @@

-
Copy History Item
+
${_('Copy History Item')}
Click here to make a copy of this history item.
diff --git a/templates/form.mako b/templates/form.mako index c003de02585..cccd1a543e7 100644 --- a/templates/form.mako +++ b/templates/form.mako @@ -1,3 +1,4 @@ +<% _=n_ %> <%inherit file="/base.mako"/> <%def name="title()">${form.title} @@ -22,7 +23,7 @@ $(function(){ %>
diff --git a/templates/history/list.mako b/templates/history/list.mako index a30e5c5f7c2..faf151dd37e 100644 --- a/templates/history/list.mako +++ b/templates/history/list.mako @@ -1,5 +1,6 @@ +<% _=n_ %> <%inherit file="/base.mako"/> -<%def name="title()">Your saved histories +<%def name="title()">${_('Your saved histories')} %if error_msg:

@@ -15,15 +16,15 @@ %endif %if user.histories: -

Stored Histories

+

${_('Stored Histories')}

%if show_deleted: - + %else: - + %endif
-

Galaxy Administration

+

${_('Galaxy Administration')}

%if msg: -

${msg}

+

${_(msg)}

%endif
-

Admin password:

+

${_('Admin password: ')}

- Reload tool: + ${_('Reload tool: ')} - +

- + %for history in user.histories: %if ( show_deleted and not history.purged ) or not( history.deleted ): @@ -41,25 +42,25 @@ %endif %endfor - - + - +
NameSizeLast modifiedActions
${_('Name')}${_('Size')}${_('Last modified')}${_('Actions')}
${str(history.update_time)[:19]} %if not history.deleted: - rename
- switch to
- delete
+ ${_('rename')}
+ ${_('switch to')}
+ ${_('delete')}
%else: - undelete
+ ${_('undelete')}
%endif
Action
Share Rename Delete +
${_('Action')}
${_('Share')} ${_('Rename')} ${_('Delete')} %if show_deleted: - Undelete + ${_('Undelete')} %endif
%else: - You have no stored histories + ${_('You have no stored histories')} %endif diff --git a/templates/history/options.mako b/templates/history/options.mako index dfe3ffd9d09..582f94a3253 100644 --- a/templates/history/options.mako +++ b/templates/history/options.mako @@ -1,25 +1,26 @@ +<% _=n_ %> <%inherit file="/base.mako"/> <%def name="title()">Your saved histories -

History Options

+

${_('History Options')}

%if not user:
-
You must be logged in to store or switch histories.
+
${_('You must be ')}${_('logged in')}${_(' to store or switch histories.')}
%endif diff --git a/templates/history/rename.mako b/templates/history/rename.mako index 07b9a4a9ee2..a83dc390dc8 100644 --- a/templates/history/rename.mako +++ b/templates/history/rename.mako @@ -1,16 +1,17 @@ +<% _=n_ %> <%inherit file="/base.mako"/> -<%def name="title()">Rename History +<%def name="title()">${_('Rename History')}
-
Rename History
+
${_('Rename History')}
- + %for history in histories: %endfor - +
Current NameNew Name
${_('Current Name')}${_('New Name')}
${history.name}
diff --git a/templates/history/share.mako b/templates/history/share.mako index 5e64e66756a..03082c80603 100644 --- a/templates/history/share.mako +++ b/templates/history/share.mako @@ -1,26 +1,27 @@ +<% _=n_ %> <%inherit file="/base.mako"/> -<%def name="title()">Share histories +<%def name="title()">${_('Share histories')}
-
Share Histories
+
${_('Share Histories')}
- + %for history in histories: - + %endfor - + %if send_to_err: %endif diff --git a/templates/message.mako b/templates/message.mako index 551b60c4735..c22e6040759 100644 --- a/templates/message.mako +++ b/templates/message.mako @@ -1,3 +1,4 @@ +<% _=n_ %> <%inherit file="/base.mako"/> <%def name="javascripts()"> @@ -29,4 +30,4 @@ if ( parent.handle_minwidth_hint ) -
${message}
+
${_(message)}
diff --git a/templates/root/history.mako b/templates/root/history.mako index 5db3de9223b..1f05b39cbb4 100644 --- a/templates/root/history.mako +++ b/templates/root/history.mako @@ -1,16 +1,17 @@ +<% _=n_ %> -Galaxy History +${_('Galaxy History')} ## This is now only necessary for tests %if bool( [ data for data in history.active_datasets if data.state in ['running', 'queued', '', None ] ] ): %endif - + @@ -29,7 +30,7 @@ initShowHide(); setupHistoryItem( q("div.historyItemWrapper") ); // Collapse all - q("#top-links").append( "| " ).append( q("collapse all").click( function() { + q("#top-links").append( "| " ).append( q("${_('collapse all')}").click( function() { q( "div.historyItemBody:visible" ).each( function() { if ( q.browser.mozilla ) { @@ -39,16 +40,16 @@ }) var state = new CookieSet( "galaxy.history.expand_state" ); state.removeAll().save(); - return false; + return false; })); }) - // Functionized so AJAX'd datasets can call them + //' Functionized so AJAX'd datasets can call them // Get shown/hidden state from cookie function initShowHide() { q( "div.historyItemBody" ).hide(); // Load saved state and show as neccesary var state = new CookieSet( "galaxy.history.expand_state" ); - for ( id in state.store ) { q( "#" + id ).children( "div.historyItemBody" ).show(); } + for ( id in state.store ) { q( "#" + id ).children( "div.historyItemBody" ).show(); } // If Mozilla, hide scrollbars in hidden items since they cause animation bugs if ( q.browser.mozilla ) { q( "div.historyItemBody" ).each( function() { @@ -80,51 +81,51 @@ state.add( id ); state.save(); delete state; } - return false; + return false; }); // Delete link q(this).find( "a.historyItemDelete" ).each( function() { - var data_id = this.id.split( "-" )[1]; - q(this).click( function() { - q( '#progress-' + data_id ).show(); - q.ajax({ - url: "${h.url_for( action='delete_async', id='XXX' )}".replace( 'XXX', data_id ), - error: function() { alert( "Delete failed" ) }, - success: function() { - %if show_deleted: - var to_update = {}; - to_update[data_id] = "none"; - updater( to_update ); - %else: - q( "#historyItem-" + data_id ).fadeOut( "fast", function() { - q( "div#historyItemContainer-" + data_id ).remove(); - if ( q( "div.historyItemContainer" ).length < 1 ) { - q ( "div#emptyHistoryMessage" ).show(); - } - }); - %endif - } - }); - return false; - }); - }); + var data_id = this.id.split( "-" )[1]; + q(this).click( function() { + q( '#progress-' + data_id ).show(); + q.ajax({ + url: "${h.url_for( action='delete_async', id='XXX' )}".replace( 'XXX', data_id ), + error: function() { alert( "Delete failed" ) }, + success: function() { + %if show_deleted: + var to_update = {}; + to_update[data_id] = "none"; + updater( to_update ); + %else: + q( "#historyItem-" + data_id ).fadeOut( "fast", function() { + q( "div#historyItemContainer-" + data_id ).remove(); + if ( q( "div.historyItemContainer" ).length < 1 ) { + q ( "div#emptyHistoryMessage" ).show(); + } + }); + %endif + } + }); + return false; + }); + }); // Undelete link q(this).find( "a.historyItemUndelete" ).each( function() { - var data_id = this.id.split( "-" )[1]; - q(this).click( function() { - q( '#progress-' + data_id ).show(); - q.ajax({ - url: "${h.url_for( controller='dataset', action='undelete_async', id='XXX' )}".replace( 'XXX', data_id ), - error: function() { alert( "Undelete failed" ) }, - success: function() { - var to_update = {}; - to_update[data_id] = "none"; - updater( to_update ); - } - }); - return false; - }); - }); + var data_id = this.id.split( "-" )[1]; + q(this).click( function() { + q( '#progress-' + data_id ).show(); + q.ajax({ + url: "${h.url_for( controller='dataset', action='undelete_async', id='XXX' )}".replace( 'XXX', data_id ), + error: function() { alert( "Undelete failed" ) }, + success: function() { + var to_update = {}; + to_update[data_id] = "none"; + updater( to_update ); + } + }); + return false; + }); + }); }); }; // Looks for changes in dataset state using an async request. Keeps @@ -233,15 +234,15 @@ div#footer { %if history.deleted:
- You are currently viewing a deleted history! + ${_('You are currently viewing a deleted history!')}

%endif @@ -285,7 +286,7 @@ div#footer { diff --git a/templates/root/history_as_xml.mako b/templates/root/history_as_xml.mako index 1b2d88ea59a..7db0412a3d1 100644 --- a/templates/root/history_as_xml.mako +++ b/templates/root/history_as_xml.mako @@ -2,7 +2,7 @@ %for data in history.active_datasets: - ${data.blurb} + ${_(data.blurb)} %endfor diff --git a/templates/root/history_common.mako b/templates/root/history_common.mako index 139bf19dfb1..d83e43763e5 100644 --- a/templates/root/history_common.mako +++ b/templates/root/history_common.mako @@ -1,10 +1,11 @@ +<% _=n_ %> ## Render the dataset `data` as history item, using `hid` as the displayed id <%def name="render_dataset( data, hid, show_deleted_on_refresh = False )"> <% - if data.state in ['no state','',None]: - data_state = "queued" - else: - data_state = data.state + if data.state in ['no state','',None]: + data_state = "queued" + else: + data_state = data.state %>
@@ -14,55 +15,55 @@
%endif ## Header row for history items (name, state, action buttons) -
-
- - %if data_state == 'running': -
- %elif data_state != 'ok': -
- %endif -
-
- display data - edit attributes - delete -
- ${hid}: ${data.display_name()} -
+
+
+ + %if data_state == 'running': +
+ %elif data_state != 'ok': +
+ %endif +
+
+ display data + edit attributes + delete +
+ ${hid}: ${data.display_name()} +
## Body for history items, extra info and actions, data "peek"
%if data_state == "queued": -
Job is waiting to run
+
${_('Job is waiting to run')}
%elif data_state == "running": -
Job is currently running
+
${_('Job is currently running')}
%elif data_state == "error":
- An error occurred running this job: ${data.display_info().strip()}, - report this error + ${_('An error occurred running this job: ')}${data.display_info().strip()}, + ${_('report this error')}
%elif data_state == "discarded":
The job creating this dataset was cancelled before completion.
%elif data_state == "empty": -
No data: ${data.display_info()}
+
${_('No data: ')}${_(data.display_info())}
%elif data_state == "ok":
${data.blurb}, - format: ${data.ext}, - database: + ${_('format: ')}${_(data.ext)}, + ${_('database: ')} %if data.dbkey == '?': - ${data.dbkey} + ${_(data.dbkey)} %else: - ${data.dbkey} + ${_(data.dbkey)} %endif
-
Info: ${data.display_info()}
+
${_('Info: ')}${_(data.display_info())}
%if data.has_data: save @@ -70,30 +71,29 @@ <% display_links = data.datatype.get_display_links( data, display_app, app, request.base ) %> %if len( display_links ) > 0: | ${data.datatype.get_display_label(display_app)} - %for display_name, display_link in display_links: - ${display_name} - %endfor + %for display_name, display_link in display_links: + ${_(display_name)} + %endfor %endif %endfor %endif
%if data.peek != "no peek": -
${data.display_peek()}
+
${_(data.display_peek())}
%endif - %else: -
Error: unknown dataset state "${data_state}".
+ %else: +
${_('Error: unknown dataset state "%s".') % data_state}
%endif - ## Recurse for child datasets - + ## Recurse for child datasets %if len( data.children ) > 0: - ## FIXME: This should not be in the template, there should - ## be a 'visible_children' method on dataset. + ## FIXME: This should not be in the template, there should + ## be a 'visible_children' method on dataset. <% - children = [] - for child in data.children: - if child.visible: - children.append( child ) + children = [] + for child in data.children: + if child.visible: + children.append( child ) %> %if len( children ) > 0:
@@ -104,8 +104,6 @@
%endif %endif -
- diff --git a/templates/root/index.mako b/templates/root/index.mako index f573571162b..018fbf009a7 100644 --- a/templates/root/index.mako +++ b/templates/root/index.mako @@ -2,7 +2,7 @@ <%def name="left_panel()">
-
Tools
+
${n_('Tools')}
@@ -29,9 +29,9 @@
-
History
+
${_('History')}
diff --git a/templates/root/masthead.mako b/templates/root/masthead.mako index 58d8f1776db..c9a26e24b79 100644 --- a/templates/root/masthead.mako +++ b/templates/root/masthead.mako @@ -1,10 +1,11 @@ +<% _=n_ %> Galaxy - + @@ -16,10 +17,10 @@
History Name:Number of Datasets:Share Link
${_('History Name:')}${_('Number of Datasets:')}${_('Share Link')}
${history.name} %if len(history.datasets) < 1:
- This history contains no data. + ${_('This history contains no data.')}
%else: ${len(history.datasets)} %endif
copy link to share${_('copy link to share')}
Email of User to share with:
${_('Email of User to share with:')}
${send_to_err}
Galaxy${brand}
- Info: report bugs - | wiki - | screencasts - | blog + ${_('Info: ')}${_('report bugs')} + | ${_('wiki')} + | ${_('screencasts')} + | ${_('blog')}     @@ -27,11 +28,11 @@ Logged in as ${t.user.email} %else: %if t.user: - Logged in as ${t.user.email}: manage - | logout + ${_('Logged in as %s: ') % t.user.email}${_('manage')} + | ${_('logout')} %else: - Account: create - | login + ${_('Account: ')}${_('create')} + | ${_('login')} %endif %endif   diff --git a/templates/root/tool_menu.mako b/templates/root/tool_menu.mako index 2bf5c2c4fb3..d4385de800d 100644 --- a/templates/root/tool_menu.mako +++ b/templates/root/tool_menu.mako @@ -16,7 +16,7 @@ ## %if "[[" in tool.description and "]]" in tool.description: ## ${tool.description.replace( '[[', '' % $tool.id ).replace( "]]", "" ) %if tool.name: - ${tool.name} ${tool.description} + ${_(tool.name)} ${tool.description} %else: ${tool.description} %endif @@ -32,7 +32,7 @@
%endif <% encoded_id = key.lstrip( 'workflow_' ) %> - ${workflow.name} + ${workflow.name}
@@ -48,8 +48,8 @@ - Galaxy Tools - + ${_('Galaxy Tools')} + @@ -125,17 +125,17 @@
- Workflow (beta) + ${_('Workflow')} (beta)
- Manage workflows + ${_('Manage')} ${_('workflows')}
%if t.user: %for m in t.user.stored_workflow_menu_entries: %endfor %endif diff --git a/templates/user/index.mako b/templates/user/index.mako index 2b11262cece..1a7cc11e7e4 100644 --- a/templates/user/index.mako +++ b/templates/user/index.mako @@ -1,19 +1,19 @@ <%inherit file="/base.mako"/> -<%def name="title()">Account settings +<%def name="title()">${_('Account settings')} -

Account settings

+

${_('Account settings')}

%if user: -

You are currently logged in as ${user.email}.

+

${_('You are currently logged in as %s.') % user.email}

%else: -

You are currently not logged in.

+

${n_('You are currently not logged in.')}

%endif \ No newline at end of file diff --git a/templates/workflow/build_from_current_history.mako b/templates/workflow/build_from_current_history.mako index bbbe9b91dc8..2cfadc4161d 100644 --- a/templates/workflow/build_from_current_history.mako +++ b/templates/workflow/build_from_current_history.mako @@ -1,3 +1,4 @@ +<% _ = t.gettext %> @@ -49,7 +50,7 @@ th {
%if disabled:
-
Treat as input dataset
+
${_('Treat as input dataset')}
%endif
@@ -67,17 +68,17 @@ into a workflow will be shown in gray.

- +
-

+

- + - + %for job, datasets in jobs.iteritems(): diff --git a/test/functional/__init__.py b/test/functional/__init__.py index 4b74eedfa91..dc62209867a 100644 --- a/test/functional/__init__.py +++ b/test/functional/__init__.py @@ -25,6 +25,7 @@ log = logging.getLogger( __name__ ) default_galaxy_test_host = "localhost" default_galaxy_test_port = "9999" +default_galaxy_locales = 'en' galaxy_test_file_dir = "test-data" server = None app = None @@ -35,6 +36,8 @@ def setup(): galaxy_test_host = os.environ.get( 'GALAXY_TEST_HOST', default_galaxy_test_host ) galaxy_test_port = os.environ.get( 'GALAXY_TEST_PORT', default_galaxy_test_port ) + if 'HTTP_ACCEPT_LANGUAGE' not in os.environ: + os.environ['HTTP_ACCEPT_LANGUAGE'] = default_galaxy_locales start_server = 'GALAXY_TEST_EXTERNAL' not in os.environ
Tool${_('Tool')} History items created${_('History items created')}