<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.mediagoblin.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Berkerpeksag</id>
	<title>GNU MediaGoblin Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.mediagoblin.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Berkerpeksag"/>
	<link rel="alternate" type="text/html" href="https://wiki.mediagoblin.org/Special:Contributions/Berkerpeksag"/>
	<updated>2026-05-13T03:17:56Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://wiki.mediagoblin.org/index.php?title=CommunityGovernance&amp;diff=1730</id>
		<title>CommunityGovernance</title>
		<link rel="alternate" type="text/html" href="https://wiki.mediagoblin.org/index.php?title=CommunityGovernance&amp;diff=1730"/>
		<updated>2015-08-24T20:31:44Z</updated>

		<summary type="html">&lt;p&gt;Berkerpeksag: /* MediaGoblin codebase */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
MediaGoblin is a community project and we everybody try to help each other. Chris Webber is our lead developer, but the project should be able to self govern so he can take a break if he needs it or when he or other contributors take deserved holidays :) &lt;br /&gt;
&lt;br /&gt;
In general, you can ask anything in the mailing list or the IRC channel and hopefully somebody will answer soon. Topics are discussed in the mailing list, IRC channel or monthly meetings (in the IRC channel).&lt;br /&gt;
&lt;br /&gt;
In this page we list several tasks or areas along with the names or nicks of MediaGoblin community members that may help on them (for example, because they have permissions to perform certain operations). Please be kind when asking for help, most of us are volunteering for MediaGoblin in our free time, so answers or problems resolution can take a while.&lt;br /&gt;
&lt;br /&gt;
Feel free to edit this page to list more tasks or sign the ones you self-assign.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More information about this in this mailing list thread: http://lists.mediagoblin.org/pipermail/devel/XXXXX&lt;br /&gt;
&lt;br /&gt;
== MediaGoblin codebase ==&lt;br /&gt;
&lt;br /&gt;
* People with permissions to commit/merge and handle the main codebase&lt;br /&gt;
&lt;br /&gt;
* Current committers: https://savannah.gnu.org/project/memberlist.php?group=mediagoblin&lt;br /&gt;
* General stuff: breton, Elrond (via PM on IRC)&lt;br /&gt;
* Python 3 support: berkerpeksag (berker on IRC), breton&lt;br /&gt;
* Audio/Video: breton&lt;br /&gt;
* Documentation: jcampbell / j1mc&lt;br /&gt;
&lt;br /&gt;
== MediaGoblin website ==&lt;br /&gt;
&lt;br /&gt;
* People with permissions to handle website outages&lt;br /&gt;
&lt;br /&gt;
* Publish pages (for example new releases)&lt;br /&gt;
&lt;br /&gt;
== MediaGoblin wiki ==&lt;br /&gt;
&lt;br /&gt;
* Some Wiki administration: Elrond (via PM on IRC)&lt;br /&gt;
&lt;br /&gt;
== MediaGoblin issue tracker ==&lt;br /&gt;
&lt;br /&gt;
* Issue tracker server administration: simonft, paroneayea&lt;br /&gt;
* Help triaging bugs: R13ose&lt;br /&gt;
* People with permissions to create accounts in trac: Elrond&lt;br /&gt;
* People with permissions to delete users/issues/comments in trac: Elrond&lt;br /&gt;
* Volunteers for spam cleaning: LArjona, ayleph&lt;br /&gt;
* Talk to trac people about spam: R13ose&lt;br /&gt;
* Would like more access to be able to help/fix things:&lt;br /&gt;
&lt;br /&gt;
== MediaGoblin translation platform ==&lt;br /&gt;
&lt;br /&gt;
* If there is need of manual import/export files between Pootle and the MediaGoblin codebase, who can help on that&lt;br /&gt;
* LArjona (Spanish translator) can guide new translators, reproduce problems in the translation platform, test changes, and help with Pootle quality checks. Available in the mailing list and IRC channel.&lt;br /&gt;
* breton knows how and why translations are downloaded/compiled&lt;br /&gt;
&lt;br /&gt;
== MediaGoblin IRC channel and mailing list ==&lt;br /&gt;
&lt;br /&gt;
* Change IRC topic, channel operators&lt;br /&gt;
* Running the monthly meetings: breton&lt;br /&gt;
* Administrate the mailing list: larjona&lt;/div&gt;</summary>
		<author><name>Berkerpeksag</name></author>
	</entry>
	<entry>
		<id>https://wiki.mediagoblin.org/index.php?title=Translations&amp;diff=1726</id>
		<title>Translations</title>
		<link rel="alternate" type="text/html" href="https://wiki.mediagoblin.org/index.php?title=Translations&amp;diff=1726"/>
		<updated>2015-07-22T08:22:54Z</updated>

		<summary type="html">&lt;p&gt;Berkerpeksag: Update template location&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= For translators =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: red;&amp;quot;&amp;gt;This section has changed recently, since now Mediagoblin lives on Pootle.&lt;br /&gt;
Here you can find the basic information for translating.&lt;br /&gt;
For further details about using Pootle, please have a look at Pootle&#039;s Documentation:&lt;br /&gt;
http://docs.translatehouse.org/projects/pootle/en/stable-2.5.1/&lt;br /&gt;
or you can ask about more details using one of methods listed on http://mediagoblin.org/pages/join.html&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is very easy to add or complete the translation of MediaGoblin! We use the web interface provided by the GNU instance of Pootle to do the translations. You can see the current status of the translations per language [https://chapters.gnu.org/projects/mediagoblin/ here].&lt;br /&gt;
&lt;br /&gt;
To start translating, just:&lt;br /&gt;
&lt;br /&gt;
# If it&#039;s the first time you are translating in the GNU instance of Pootle, then [https://chapters.gnu.org/accounts/register/ register an account]. You will receive an email for activating your account.&lt;br /&gt;
# Then you can [https://chapters.gnu.org/accounts/login log in]&lt;br /&gt;
# Go to Projects &amp;gt; mediagoblin ([https://chapters.gnu.org/projects/mediagoblin/ direct URL] and click in your language&lt;br /&gt;
# Click on &amp;quot;Continue translation&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
By default, Pootle only shows you strings that currently have no translation. You can click in the &amp;quot;Translate&amp;quot; tab to show the already translated strings, in case you want to improve any of them.&lt;br /&gt;
There are no translation teams, so you can just edit the strings (but try to be nice and consistent with the current translation). If you are a regular contributor to the translations, you might want to add some notes to the [[#Notes for some language teams|per-language section on this page]] to coordinate consistent translations.&lt;br /&gt;
&lt;br /&gt;
Note: please don&#039;t translate the words &amp;quot;MediaGoblin&amp;quot; or &amp;quot;GNU&amp;quot; into your native language.  Those words should be retained as-is for branding reasons. :)&lt;br /&gt;
&lt;br /&gt;
==Fixing or improving translations ==&lt;br /&gt;
&lt;br /&gt;
If you click in the &amp;quot;Overview&amp;quot; tab, you will see the status of the translation of MediaGoblin to your language. If you click on &amp;quot;Expand details&amp;quot; you will find some statistics and the results of several quality checks (about capitalization, punctuation matching or not the original and the translation) which may help you to fix or improve the translation.&lt;br /&gt;
&lt;br /&gt;
== Notes for some language teams ==&lt;br /&gt;
=== German ===&lt;br /&gt;
&lt;br /&gt;
Interessante Hinweise zur Übersetzung finden sich bei Gnome:&lt;br /&gt;
* http://live.gnome.org/de/UebersetzungsRichtlinien&lt;br /&gt;
&lt;br /&gt;
In Abweichung von diesen Richtlinien wird momentan &amp;quot;Du&amp;quot; für die Anrede benutzt. &amp;quot;Du&amp;quot; und &amp;quot;Deine&amp;quot; werden groß geschrieben. Benutze die folgenden Begriffe um konsistent zu bleiben:&lt;br /&gt;
&lt;br /&gt;
 Benutzerkonto/Nutzerkonto, E-Mail, E-Mail-Adresse, Aktivierungsmail, Konto &amp;quot;aktivieren&amp;quot; (verify email), Album (collection), Kurztitel (slug)&lt;br /&gt;
&lt;br /&gt;
=== Spanish ===&lt;br /&gt;
&lt;br /&gt;
Se está adoptando la siguiente convención para la traducción al español. Si crees que alguna traducción se puede mejorar, sugiérela en la página de discusión de este artículo.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!Inglés&lt;br /&gt;
!Español&lt;br /&gt;
!Comentarios&lt;br /&gt;
|-&lt;br /&gt;
|you&lt;br /&gt;
|tú&lt;br /&gt;
|(segunda persona del singular, expresión informal)&lt;br /&gt;
|-&lt;br /&gt;
|media&lt;br /&gt;
|contenido&lt;br /&gt;
|-&lt;br /&gt;
|slug&lt;br /&gt;
|ficha&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;العربية&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
.سنتخذ الاصطلاحات التالية للترجمة العربية. إذا كنت تريد تحسين الترجمة يرجى اقتراح التغبرات في صفحة النقاش في هذا المقال&lt;br /&gt;
{|&lt;br /&gt;
!الانجليزية&lt;br /&gt;
!العربية&lt;br /&gt;
|-&lt;br /&gt;
|MediaGoblin . &lt;br /&gt;
|ميدياغوبلن&lt;br /&gt;
|-&lt;br /&gt;
|media . &lt;br /&gt;
|الميديا&lt;br /&gt;
|-&lt;br /&gt;
|slug . &lt;br /&gt;
|المسار&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= For developers =&lt;br /&gt;
== Marking strings for translation ==&lt;br /&gt;
=== In Jinja2 ===&lt;br /&gt;
&lt;br /&gt;
See: http://jinja.pocoo.org/docs/templates/#i18n&lt;br /&gt;
&lt;br /&gt;
Mostly like Django template i18n support, if you have any experience with that.&lt;br /&gt;
&lt;br /&gt;
=== In python code ===&lt;br /&gt;
&lt;br /&gt;
Usually, like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
from mediagoblin.util import pass_to_ugettext as _&lt;br /&gt;
&lt;br /&gt;
def some_func(something):&lt;br /&gt;
    return _(u&#039;This string would tooootally be translatable now.&#039;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Except, in form modules we don&#039;t actually want to translate things because for various reasons that doesn&#039;t work, so we do the translation call template-side.  So write the module to use the fake ugettext passthrough (which doesn&#039;t do any translation but still wraps things in _() so that Babel will know to extract these strings):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
from mediagoblin.util import fake_ugettext_passthrough as _&lt;br /&gt;
&lt;br /&gt;
class FunkyMonkeyForm(wtforms.Form):&lt;br /&gt;
    funky = wtforms.TextAreaField(&lt;br /&gt;
            _(&#039;Funkiness description&#039;))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Extracting translations ==&lt;br /&gt;
&lt;br /&gt;
If you run buildout it should create a script called &#039;pybabel&#039;.  Use it to extract translations like so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./bin/pybabel extract -F babel.ini -o mediagoblin/i18n/templates/en/mediagoblin.po .&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compiling translations ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./bin/pybabel compile -D mediagoblin -d mediagoblin/i18n/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pulling translations from Transifex (Warning! Obsolete) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: red;&amp;quot;&amp;gt;This section contains obsolete information. Now Mediagoblin lives on Pootle.&lt;br /&gt;
Before the section is updated, you can ask about the process using one of methods listed on&lt;br /&gt;
http://mediagoblin.org/pages/join.html&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unfortunately until the next release of transifex-client which has been patched to have proper entry points, you have to run transifex-client from a virtualenv or from site-packages.  But assuming that&#039;s done, pulling translations is easy:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tx pull -a&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pushing new translations to Transifex (Warning! Obsolete) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: red;&amp;quot;&amp;gt;This section contains obsolete information. Now Mediagoblin lives on Pootle.&lt;br /&gt;
Before the section is updated, you can ask about the process using one of methods listed on&lt;br /&gt;
http://mediagoblin.org/pages/join.html&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tx push -s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting (Warning! Obsolete) =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: red;&amp;quot;&amp;gt;This section contains obsolete information. Now Mediagoblin lives on Pootle.&lt;br /&gt;
Before the section is updated, you can ask about the process using one of methods listed on&lt;br /&gt;
http://mediagoblin.org/pages/join.html&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Got an error on Transifex like:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Translation must start with a newline (\n)&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
The problem here is when we have something like:&lt;br /&gt;
&lt;br /&gt;
        {% trans register_url=request.urlgen(&#039;mediagoblin.auth.register&#039;) %}&lt;br /&gt;
          &amp;lt;a class=&amp;quot;header_submit_highlight&amp;quot; href=&amp;quot;{{ register_url }}&amp;quot;&amp;gt;Create a free account&amp;lt;/a&amp;gt;&lt;br /&gt;
          or&lt;br /&gt;
          &amp;lt;a class=&amp;quot;header_submit&amp;quot; href=&amp;quot;http://wiki.mediagoblin.org/HackingHowto&amp;quot;&amp;gt;Set up MediaGoblin on your own server&amp;lt;/a&amp;gt;&lt;br /&gt;
        {% endtrans %}&lt;br /&gt;
&lt;br /&gt;
instead of:&lt;br /&gt;
&lt;br /&gt;
        {% trans register_url=request.urlgen(&#039;mediagoblin.auth.register&#039;) -%}&lt;br /&gt;
          &amp;lt;a class=&amp;quot;header_submit_highlight&amp;quot; href=&amp;quot;{{ register_url }}&amp;quot;&amp;gt;Create a free account&amp;lt;/a&amp;gt;&lt;br /&gt;
          or&lt;br /&gt;
          &amp;lt;a class=&amp;quot;header_submit&amp;quot; href=&amp;quot;http://wiki.mediagoblin.org/HackingHowto&amp;quot;&amp;gt;Set up MediaGoblin on your own server&amp;lt;/a&amp;gt;&lt;br /&gt;
        {%- endtrans %}&lt;br /&gt;
&lt;br /&gt;
The distinction might not be obvious... look for the %} versus -%} and {% versus {%- on the first and last lines.  The thing about this is this tells Jinja2 to strip the whitespace.  Without that, Transifex sees that there&#039;s a &amp;quot;\n&amp;quot; on the first line of the original but not on the future translation, and gets upset.&lt;br /&gt;
&lt;br /&gt;
If this happens the template should be updated to strip whitespace and translations should be pushed to transifex.&lt;/div&gt;</summary>
		<author><name>Berkerpeksag</name></author>
	</entry>
	<entry>
		<id>https://wiki.mediagoblin.org/index.php?title=CommunityGovernance&amp;diff=1703</id>
		<title>CommunityGovernance</title>
		<link rel="alternate" type="text/html" href="https://wiki.mediagoblin.org/index.php?title=CommunityGovernance&amp;diff=1703"/>
		<updated>2015-06-06T18:22:07Z</updated>

		<summary type="html">&lt;p&gt;Berkerpeksag: Add myself for Python 3 support&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
MediaGoblin is a community project and we everybody try to help each other. Chris Webber is our lead developer, but the project should be able to self govern so he can take a break if he needs it or when he or other contributors take deserved holidays :) &lt;br /&gt;
&lt;br /&gt;
In general, you can ask anything in the mailing list or the IRC channel and hopefully somebody will answer soon. Topics are discussed in the mailing list, IRC channel or monthly meetings (in the IRC channel).&lt;br /&gt;
&lt;br /&gt;
In this page we list several tasks or areas along with the names or nicks of MediaGoblin community members that may help on them (for example, because they have permissions to perform certain operations). Please be kind when asking for help, most of us are volunteering for MediaGoblin in our free time, so answers or problems resolution can take a while.&lt;br /&gt;
&lt;br /&gt;
Feel free to edit this page to list more tasks or sign the ones you self-assign.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More information about this in this mailing list thread: http://lists.mediagoblin.org/pipermail/devel/XXXXX&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MediaGoblin codebase ==&lt;br /&gt;
&lt;br /&gt;
* People with permissions to commit/merge and handle the main codebase&lt;br /&gt;
&lt;br /&gt;
* Python 3 support: berkerpeksag (berker on IRC)&lt;br /&gt;
&lt;br /&gt;
== MediaGoblin website ==&lt;br /&gt;
&lt;br /&gt;
* People with permissions to handle website outages&lt;br /&gt;
&lt;br /&gt;
* Publish pages (for example new releases)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MediaGoblin wiki ==&lt;br /&gt;
&lt;br /&gt;
* Wiki administration&lt;br /&gt;
&lt;br /&gt;
== MediaGoblin issue tracker ==&lt;br /&gt;
&lt;br /&gt;
* Help triaging bugs:&lt;br /&gt;
&lt;br /&gt;
* People with permissions to create accounts in trac&lt;br /&gt;
&lt;br /&gt;
* People with permissions to delete users/issues/comments in trac&lt;br /&gt;
&lt;br /&gt;
* Volunteers for spam cleaning: LArjona&lt;br /&gt;
&lt;br /&gt;
== MediaGoblin translation platform ==&lt;br /&gt;
&lt;br /&gt;
* If there is need of manual import/export files between Pootle and the MediaGoblin codebase, who can help on that&lt;br /&gt;
* LArjona (Spanish translator) can guide new translators, reproduce problems in the translation platform, test changes, and help with Pootle quality checks. Available in the mailing list and IRC channel.&lt;br /&gt;
&lt;br /&gt;
== MediaGoblin IRC channel and mailing list ==&lt;br /&gt;
&lt;br /&gt;
* Change IRC topic, channel operators&lt;/div&gt;</summary>
		<author><name>Berkerpeksag</name></author>
	</entry>
</feed>