Difference between revisions of "Template:Translated From/code"
| Line 6: | Line 6: | ||
       --></td>  |        --></td>  | ||
          <td style="padding-right:10px; padding-top:4px; padding-bottom:4px;"><!--  |           <td style="padding-right:10px; padding-top:4px; padding-bottom:4px;"><!--  | ||
| − |           -->{{#if:{{{source|}}}  | + |           -->{{#if:{{{source|}}}  | 
| − | + | #               param "source=" provided, produce list of languages  | |
| − | + |               | {{#arraydefine:a|<!--  | |
                -->{{#arraymap:{{#ask: [[:{{{source}}}]][[Has translation::+]]|?Has translation#=|format=list}},{{{source}}}<!--  |                 -->{{#arraymap:{{#ask: [[:{{{source}}}]][[Has translation::+]]|?Has translation#=|format=list}},{{{source}}}<!--  | ||
                  -->|,<!--  |                   -->|,<!--  | ||
                  -->|@@@@<!--  |                   -->|@@@@<!--  | ||
| − | + | #                    insert artificial sort key, to sort language names properly (space at end is needed)  | |
| − |                   -->|  | + |                   -->|{{#language:{{Language code of page|@@@@}}}} \n<!--  | 
| − | + | #                    if the language we are treating is the translation source language  | |
                   -->{{#if:{{#ask: [[:@@@@]][[Has translation::+]]|?Has translation#=|format=list}}<!--  |                    -->{{#if:{{#ask: [[:@@@@]][[Has translation::+]]|?Has translation#=|format=list}}<!--  | ||
| − | + | #                       it is, output the language with a title that contains the revision number  | |
| − |                      -->|[[:@@@@|<span class="plainlinks" title="@@@@ (  | + |                      -->|[[:@@@@|<span class="plainlinks" title="@@@@ (rev:{{#ask:[[:@@@@]]|?Last revision#=}})"><!--  | 
                                  -->{{#language: {{#ask:[[:@@@@]]|?Has language#=}}}}<!--  |                                   -->{{#language: {{#ask:[[:@@@@]]|?Has language#=}}}}<!--  | ||
                              --></span>]]<!--  |                               --></span>]]<!--  | ||
| − | + | #                       it's not, normal output  | |
| − | + | #                       language name  | |
                     -->|[[:@@@@|{{#language: {{#ask:[[:@@@@]]|?Has language#=}}}}]]<!--  |                      -->|[[:@@@@|{{#language: {{#ask:[[:@@@@]]|?Has language#=}}}}]]<!--  | ||
| − | + | #                       if a revision was specified  | |
                      -->{{#if:{{{rev|}}}<!--  |                       -->{{#if:{{{rev|}}}<!--  | ||
| − | + | #                          if the language we are treating now is this page's language  | |
                        -->|{{#ifeq:{{Language code of page|@@@@}}|{{Language code of page}}<!--  |                         -->|{{#ifeq:{{Language code of page|@@@@}}|{{Language code of page}}<!--  | ||
| − | + | #                             produce the up-to-date indicator  | |
                           -->| {{{{Translation of|Template:Diff since trans}}|source={{{source}}}|rev={{{rev}}}}}<!--  |                            -->| {{{{Translation of|Template:Diff since trans}}|source={{{source}}}|rev={{{rev}}}}}<!--  | ||
| Line 51: | Line 51: | ||
                -->|,<!--  |                 -->|,<!--  | ||
| − | + | #                  get rid of duplicates and sort alphabetically (see hidden sort element above)  | |
                -->|unique,sort=asc<!--  |                 -->|unique,sort=asc<!--  | ||
              -->}}<!-- close #arraydefine  |               -->}}<!-- close #arraydefine  | ||
| − | + | #                 output array with the pipe separators  | |
| − |               -->{{#arrayprint:a|  |  |@@@@|@@@@}}<!--  | + |               -->{{#arrayprint:a<!--  | 
| + |                -->|  |  <!--  | ||
| + |                -->|@@@@<!--  | ||
| + | #                  remove artificial sort key inserted above  | ||
| + |                -->|{{#explode:@@@@|\n|1}}<!--  | ||
| + |              -->}}<!--  | ||
              -->{{#arrayreset:a}}<!--  |               -->{{#arrayreset:a}}<!--  | ||
| − | + | #               no param "source=" provided, categorize as untranslated  | |
            -->| {{{message-no-known-translations|}}}  |             -->| {{{message-no-known-translations|}}}  | ||
Revision as of 14:25, 28 April 2011
This is the code page for Template:Translated From. Please refer to that template for instructions.