Commons:Translation possible/Learn more

Shortcut: COM:TPLM català | čeština | Deutsch | English | español | Esperanto | فارسی | français | galego | עברית | hrvatski | italiano | 日本語 | 한국어 | македонски | polski | português | русский | українська | Tiếng Việt | 中文(繁體) | 中文(简体) | +/−

How to translate an SVG file

This page explains how to translate inside labels or captions in an SVG file. You are probably here because someone tagged an image with {{Translate}}. Please note that this template and its related pages is a one-man idea. If you have questions or comments about it, please use the template discussion page.


What is SVG?

SVG is an image file format that consists of plain XML text. Therefore the text labels stored in it can be easily translated. For more information about SVG or XML, please use the links. There are Wikipedia articles in many languages.

How powerful are SVGs

  • SVGs produce nice images you can zoom in, with a high level of precision and without losing definition:
  • SVGs can hold different text translations within the same file; the following images use the same image file, but the text depends on the context. The first image uses the language of the page dynamically. The second image is forced to display its text in English (of course, there is no difference with the first image if the page is already in English). The remaining images additionally show examples in French and German, respectively (using the same image file):

How do I edit SVGs?

There are different ways to translate text in SVG:

  • Use a graphics editor such as Inkscape. For compatibility, save the file as "Plain SVG", not "Inkscape SVG", as the latter format may introduce errors, even though it complies with the SVG specification.
  • Edit the SVG file as a text file.

For editing image in any offline editor, first download the file you want to edit, open the file in the editor, translate the labels, and then save it. When finished, upload the file to Commons under a new name.

Text editing

Note that instead of using a graphics editor, you can use any (plain text) editor capable to store the text in UTF-8 format. Find text to translate by searching for <text> tags. In some cases this might be a path for more advanced users as text coordinates adjustments might be needed and some more advanced "garbage" might decrease readability of the SVG.

Preparing a file for translation

Using real text

Main gallery: Template:Path text SVG.

Only real text, in the form of the SVG <text> element, can be translated. Do not use paths instead of text when creating or generating a SVG (with some justified exceptions).

Anchoring the text correctly

To make sure text placement "just work" in the translated versions, you should properly use the anchoring functionality of the SVG format and your editor. In most editors (including Inkscape), the function is decided by the typographic alignment option. Anchoring decides how the position of the text is specified. Anchoring to the center means the coordinates specified is the center of the text, and is used in most editors for centering.

By saying "properly use", we mean that the way you anchor it matches the actual design intentions. For example, to center some text on a pyramid, you use the centering anchor while putting the anchor point itself at the middle of the shape. To position a label for something on its right, use the "end" (right-hand-side) anchor. The "align and distribute" option in Inkscape DOES NOT change your anchoring options; it only moves the elements around.

(Yes, the "end" anchor is only on the right for left-to-right languages. A translation tool should probably invert it for RTL languages.)

Multiple translations within one SVG file (preferred method)

An example of a simple SVG with translations in one file. Go to file's page and render this text in English, German, French, Spanish...
An example of a simple SVG with translations in one file. See the description page for details
Similar example with arrows

You can place multiple translations into one SVG file using the SVG <switch> element. The resulting multilingual file has the advantage of sharing graphics; if the graphics are updated, then all the languages get the updated graphics. Compare to having several translated files; an update to one of the files does not propagate to the other language versions.

However, not all graphics editors can edit the text contained in the switch element. In such cases, a graphics editor may still be used to edit the text positions and sizes (such as in Inkscape), and the SVG Translate tool at Commons can be used to add translations, and most separate text editors can be used to make changes to the texts throughout the multiple languages. Loading an SVG file with switch translations into a graphics editor and then saving it may remove all the translations. Please note that multi-language translations in SVG files larger than 5MB may not render properly due to a bug.

It is advisable to give an extra margin for text contained in images with switch elements, in order to allow for current or future languages that need more letters.

Coding

When you have a <switch> element, its children (sub-elements) represent possible choices. The children of the switch should have a systemLanguage attribute that specifies the language(s).[1] SVG sequentially looks at each child; if there is a systemLanguage attribute and it does not match, SVG moves on to the next child. If the systemLanguage attribute matches or is not present, then SVG renders that child and does not look further. Omitting the systemLanguage attribute from the last child will implement a default rendering.

Note: The order is important! All children following the child with the omitted systemLanguage are ignored and have no effect!

<switch transform="translate(100,200)">
  <text systemLanguage="en">Population pyramid of Russia (2010)</text>
  <text systemLanguage="de">Alterspyramide von Russland (2010)</text>
  <text systemLanguage="ru">Половозрастная диаграмма России (2010)</text>
  <text>Population pyramid of Russia (2010)</text>
</switch>

Even if the default rendering is English, it is good practice to place an explicit systemLanguage="en" with the same text. The language matching rules can give unexpected behavior when the file is opened in a browser configured for multiple languages. If the languages do not follow the same sequence in each switch, then a browser may display a mix of languages. In addition, the language matching rules will change in SVG 2.0.

You can also have a systemLanguage attribute on an element that is not a child of a switch element. In this case the element will only be rendered if the language matches. Otherwise the element in question will not be displayed.

Currently, only a few graphical editors support language switches in SVG, so you may need to edit the SVG file with a plain text editor. A good practise is to place the switches in the defs section. The SVG Translate may be used if the SVG file follows specific conventions.

The different text translations will have different lengths, so the text anchor point should be chosen carefully. The text-anchor attribute can be set to start (left justified in most languages), middle (centered), or end (right justified). The text elements default to x="0" and y="0", so the switch element can set the text anchor point with transform="translate(100,200)".

CSS can be added to globally scale text for verbose or concise translations,[2] such as:[3]

 <style type="text/css">
text[systemLanguage="es" i] { font-size: 80%; }
text[systemLanguage="zh" i] { font-size:125%; }
 </style>

Setting up multiple translations within one SVG file with Inkscape

Inkscape does not support the addition of language switches, but they are recognized as a "Conditional Group". Editing with text editor is required. To start using the switch element in Inkscape, the following steps are:

  1. Always, in a new drawing, you need to add the two tags of <switch>...</switch>. In a new drawing, or in a previous localized drawing, you will have to add the items (usually text to localize) between these two tags and with systemLanguage assigned.
  2. In drawings that use labels and arrows, it can often happen that (depending on the language) the labels and arrows position is not the most appropriate. You can correct it, after the previous step, directly with Inkscape. But if you need to change the text or arrows of a language that is not what Inkscape has configured, you must first change the Inkscape interface. To change the language of the Inkscape interface: from the menu bar, select "Edit|Preferences..."; then in the opened window, in the second group ("Interface") change the language. You can look at the code from the last example, above (SystemLanguageArrows.svg). Note: In the examples, the ID names of the objects have been changed in order to be followed more easily.
  3. For the previous changes, you must be careful about the changes you make, otherwise Inkscape will not show what you want. If this is the first time you do it, first try changing the examples above. Sometimes the Inkscape XML editor ("Edit|XML Editor...") can be useful for you to find an error in your changes.

Viewing

Most browsers support viewing SVG files with switch elements. The browser will display the languages according to the browser's default language settings. If one wants to view a different language, then change the language of the browser and restart it.

Another way of viewing the file is to upload it to File:Test.svg and select the desired language from the dropdown list.

Tool

Use

To use the file in non-English wiki project, you can use it as usual, but with the |lang= parameter

use "lang=en" -- displays in English
use "lang=id" -- displays in Indonesian
use "lang=zh-hans" -- displays in Simplified Chinese

You may also use the same method for gallery

When rendering a multi-lingual SVG image on a MediaWiki page, the language to use can be specified using syntax like [[File:SystemLanguage.svg|lang=de]]. The attribute "lang" is optional; if it is missing, MediaWiki will attempt to use the wiki's default language or fallback to English ("en").[4]

Note: If a switch element has an English-language clause (systemLanguage="en") and a default language clause (no systemLanguage attribute), then MediaWiki will display the English-language clause.

Maps

Multiple translations with symbols

Example for Symbols and Labels

It becomes more complex, if you have not only a label but additionally one ore more symbols identifying an object.

You can see in an example on the right how to do this in a clear, concise and comprehensible manner:

Define the symbols in the <defs> section, insert them into the map using a <use> statement, and then place the label (in multiple languages) relative (sic!) to the symbol with a second <use> statement.

Multiple translations with a mix of ltr and rtl languages

Draft of a sample file (arabic)
Draft of a sample file (english)

It looks more authentic when the icon is placed before the text within a legend. This is a challenge, if you have to handle a mixture of left-to-right and right-to-left languages. It is a matter of using an additional <switch> construction to shift the icons to either the left or right position. This results in nested <switch> statements that are quite complex.

You can see in an example on the right how to do this in a clear, concise and comprehensible manner:

Define the symbols and the switches with the translations of the labels in the <defs> section. Then group each of them in a <g> element. Then insert them both into the legends section in another <switch> construction. Do this twice, once for 'rtl' languages, then for all others ('ltr' languages). Each time with an adjusted y="4711" parameter, so that the icons are placed on the right-hand side of the legend one time and on the left-hand side the other time.

See also a more complex example.
See also Category Multilingual SVG maps

How to place new monolingual version in Commons

When creating a translated version of an SVG file, it should be saved using the filename of the original file with an IETF langtag suffix. See Commons:File naming. For example, File:Gibraltar map-en.svg is the English version of File:Gibraltar map.svg.

For linking different versions of file one to another, use "other versions" templates like all in Category:Other versions templates. Copy one of them and use in your image.

Using the template creates a gallery of the different language versions:

[edit]
Disputed isthmus and land

Also the template {{Derived from}} will be useful to display link to original version of your localized image.

Language codes

SVG files use IETF language tags to specify languages. They are often referred to as BCP 47 language tags, but BCP 47 is the combination of IETF RFC 5646 and RFC 4647. The Wikimedia Foundation uses language identifiers that usually match IETF langtags, but there are some differences. For example, the IETF language tag als is for Tosk Albanian, but Wikimedia uses that tag for Alemannisch (which IETF represents as gsw). Simple English is simple in Wikimedia but en-simple in IETF. Please be aware of the distinction and use IETF language tags (not MediaWiki language identifiers) in SVG files.

Click here to show a list of all WikiMedia language codes supported:
List of languages supported on Wikimedia Commons.
Code Language name (in English) Native language name
isvmedžuslovjanskymedžuslovjansky
abrAbronAbron
deGermanDeutsch
basBasaaBasaa
dsbLower Sorbiandolnoserbski
sasSasakSasak
afAfrikaansAfrikaans
absAmbonese Malaybahasa ambon
efiEfikEfịk
alsAlemannicAlemannisch
bclCentral BikolBikol Central
msMalayBahasa Melayu
coCorsicancorsu
se-seNorthern Sami (Sweden)davvisámegiella (Ruoŧa bealde)
bsBosnianbosanski
rupAromanianarmãneashti
frpArpitanarpetan
astAsturianasturianu
caCatalancatalà
baxBamunBamum
roa-rupAromanianarmãneashti
bkcBakaBaka
brhBrahuiBráhuí
dagDagbanidagbanli
smnInari Samianarâškielâ
en-usAmerican EnglishAmerican English
mhMarshalleseEbon
kajJjuJju
naNauruDorerin Naoero
seNorthern Samidavvisámegiella
se-fiNorthern Sami (Finland)davvisámegiella (Suoma bealde)
bkhBakokoBakoko
tumTumbukachiTumbuka
seiSeriCmique Itom
ksfBafiaBafia
hoc-latnHo (Latin script)Ho
smaSouthern Samiåarjelsaemien
bmBambarabamanankan
en-caCanadian EnglishCanadian English
lktLakotaLakȟótiyapi
csCzechčeština
muiMusiBaso Palembang
de-formalGerman (formal address)Deutsch (Sie-Form)
cebCebuanoCebuano
sjePite Samibidumsámegiella
ayAymaraAymar aru
nan-latn-tailoMinnan (Tâi-lô)Bân-lâm-gí (Tâi-lô)
agqAghemAghem
akAkanAkan
etEstonianeesti
chChamorroChamoru
cyWelshCymraeg
aigAntiguan and Barbudan Creole EnglishAanteegan an' Baabyuudan
bdrWest Coast BajauBajau Sama
nyNyanjaChi-Chewa
atjAtikamekwAtikamekw
etuEjaghamEjagham
btmBatak MandailingBatak Mandailing
daDanishdansk
gorGorontaloBahasa Hulontalo
en-gbBritish EnglishBritish English
idIndonesianBahasa Indonesia
bbc-latnBatak Toba (Latin script)Batak Toba
aceAcehneseAcèh
azAzerbaijaniazərbaycanca
biBislamaBislama
se-noNorthern Sami (Norway)davvisámegiella (Norgga bealde)
cpsCapiznonCapiceño
luaLuba-Luluaciluba
brBretonbrezhoneg
pdcPennsylvania GermanDeitsch
choChoctawChahta anumpa
cbk-zamChavacanoChavacano de Zamboanga
duaDualaDuala
gswAlemannicAlemannisch
map-bmsBanyumasanBasa Banyumasan
banBalineseBasa Bali
anAragonesearagonés
angOld EnglishÆnglisc
aseAmerican Sign LanguageAmerican sign language
chnChinook Jargonchinuk wawa
snShonachiShona
barBavarianBoarisch
gnGuaraniAvañe'ẽ
aaeArbëreshArbërisht
dgaSouthern DagaareDagaare
bjnBanjarBanjar
calCarolinianCarolinian
bfdBafutBafut
bbcBatak TobaBatak Toba
pplNawatNawat
bolBolebòo pìkkà
zh-min-nanMinnanBân-lâm-gú
bugBugineseBasa Ugi
bewBetawiBetawi
nan-latn-pehoejiMinnan (Pe̍h-ōe-jī)Bân-lâm-gí (Pe̍h-ōe-jī)
yuaYucatec Mayamaaya t’aan
nvNavajoDiné bizaad
vmwMakhuwaemakhuwa
eglEmilianEmiliàn
emlEmiliano-Romagnoloemiliàn e rumagnòl
enEnglishEnglish
esSpanishespañol
es-formalSpanish (formal address)español (formal)
es-419Latin American Spanishespañol de América Latina
eoEsperantoEsperanto
extExtremaduranestremeñu
etoEtonEton
euBasqueeuskara
eeEweeʋegbe
ewoEwondoEwondo
wlsWallisianFakaʻuvea
gurFrafrafarefare
fmpFe'Fe'Fe'fe'
hifFiji HindiFiji Hindi
hif-latnFiji Hindi (Latin script)Fiji Hindi
fonFonfɔ̀ngbè
foFaroeseføroyskt
frFrenchfrançais
frcCajun Frenchfrançais cadien
fyWestern FrisianFrysk
ffFulaFulfulde
furFriulianfurlan
gaIrishGaeilge
gaaGaGa
gvManxGaelg
smSamoanGagana Samoa
gagGagauzGagauz
gdScottish GaelicGàidhlig
glGaliciangalego
gyaGbayaGbaya
bbjGhomalaGhomála'
alnGheg AlbanianGegë
gpeGhanaian PidginGhanaian Pidgin
kiKikuyuGĩkũyũ
gom-latnGoan Konkani (Latin script)Gõychi Konknni
guwGungungbe
hak-latnHakka (Latin script)Hak-kâ-ngî (Pha̍k-fa-sṳ)
cnhHakha-ChinHakha Chin
haHausaHausa
hoHiri MotuHiri Motu
hawHawaiianHawaiʻi
hsbUpper Sorbianhornjoserbsce
hrCroatianhrvatski
hrxHunsrikHunsrik
ibbIbibioibibio
iglIgalaIgala
ioIdoIdo
igIgboIgbo
rwKinyarwandaIkinyarwanda
rnRundiikirundi
iloIlokoIlokano
hilHiligaynonIlonggo
iaInterlinguainterlingua
ieInterlingueInterlingue
ikInupiaqIñupiatun
ike-latnEastern Canadian (Latin script)inuktitut
btoRinconada BikolIriga Bicolano
nrSouth NdebeleisiNdebele seSewula
xhXhosaisiXhosa
zuZuluisiZulu
isIcelandicíslenska
itItalianitaliano
isuIsuIsu
ibaIbanJaku Iban
jvJavaneseJawa
smjLule Samijulevsámegiella
jutJutishjysk
rmfFinnish Kalokaalengo tšimb
kbpKabiyeKabɩyɛ
keaKabuverdianukabuverdianu
dtpCentral DusunKadazandusun
klKalaallisutkalaallisut
cakKaqchikelKaqchikel
krKanurikanuri
pamPampangaKapampangan
kaiKarekareKarai-karai
krlKareliankarjal
csbKashubiankaszëbsczi
kerKeraKera
kwCornishkernowek
hkeHundekihunde
krjKinaray-aKinaray-a
kiuKirmanjkiKırmancki
swSwahiliKiswahili
kgKongoKongo
bkmKomKom
avkKotavaKotava
nnzNda'Nda'Nda'nda'
cpx-latnPuxian (Latin script)Pó-sing-gṳ̂ (Báⁿ-uā-ci̍)
sjdKildin Samiкӣллт са̄мь кӣлл
ceChechenнохчийн
beBelarusianбеларуская
nds-nlLow SaxonNedersaksies
niaNiasLi Niha
neNepaliनेपाली
miMāoriMāori
jamJamaican Creole EnglishPatois
rutRutulмыхаӀбишды
frrNorthern FrisianNordfriisk
teTeluguతెలుగు
mwlMirandeseMirandés
tg-cyrlTajik (Cyrillic script)тоҷикӣ
pt-brBrazilian Portugueseportuguês do Brasil
ruq-cyrlMegleno-Romanian (Cyrillic script)Влахесте
nl-informalDutch (informal address)Nederlands (informeel)
vutVuteVute
tayAtayalTayal
fitTornedalen Finnishmeänkieli
niuNiueanNiuē
lozLoziSilozi
tt-latnTatar (Latin script)tatarça
shiTachelhitTaclḥit
gcrGuianan Creolekriyòl gwiyannen
bqzMka'aMka'a
ttTatarтатарча / tatarça
zaZhuangVahcuengh
cdo-latnMindong (Latin script)Mìng-dĕ̤ng-ngṳ̄ (Bàng-uâ-cê)
sh-cyrlSerbo-Croatian (Cyrillic script)српскохрватски (ћирилица)
fjFijianNa Vosa Vakaviti
yrlNheengatuNhẽẽgatú
sgSangoSängö
ksKashmiriکٲشُر
tgTajikтоҷикӣ
osOsseticирон
stSouthern SothoSesotho
ssSwatiSiSwati
stySiberian Tatarсебертатар
mtMalteseMalti
gldNanaiна̄ни
ojbNorthwestern OjibwaOjibwemowin
wlxWaliwaale
mgMalagasyMalagasy
de-atAustrian GermanÖsterreichisches Deutsch
mncManchumanju gisun
kncCentral KanuriYerwa Kanuri
bat-smgSamogitianžemaitėška
ngNdongaOshiwambo
lgGandaLuganda
bgBulgarianбългарски
bpyBishnupriyaবিষ্ণুপ্রিয়া মণিপুরী
mrMarathiमराठी
pihPitcairn-NorfolkNorfuk / Pitkern
orOdiaଓଡ଼ିଆ
kk-latnKazakh (Latin script)qazaqşa (latın)
ady-cyrlAdyghe (Cyrillic script)адыгабзэ
srSerbianсрпски / srpski
truTuroyoṪuroyo
crhCrimean Tatarqırımtatarca
htHaitian CreoleKreyòl ayisyen
sh-latnSerbo-Croatian (Latin script)srpskohrvatski (latinica)
nitSoutheastern Kolamiకొలామి
hu-formalHungarian (formal address)magyar (formal)
crCreeNēhiyawēwin / ᓀᐦᐃᔭᐍᐏᐣ
tlyTalyshtolışi
ndsLow GermanPlattdüütsch
nnhNgiemboonNgiemboon
sqAlbanianshqip
crh-latnCrimean Tatar (Latin script)qırımtatarca (Latin)
lzzLazLazuri
shy-latnShawiya (Latin script)tacawit
shSerbo-Croatiansrpskohrvatski / српскохрватски
kuKurdishkurdî
wesPidgin (Cameroon)Pidgin (Cameroon)
mnwMonဘာသာမန်
be-taraskBelarusian (Taraškievica orthography)беларуская (тарашкевіца)
kumKumykкъумукъ
vepVepsvepsän kel’
sesKoyraboro SenniKoyraboro Senni
nmzNawdmnawdm
tsTsongaXitsonga
rmcCarpathian Romaniromaňi čhib
bhBhojpuriभोजपुरी
tg-latnTajik (Latin script)tojikī
fkvKvenskkvääni
mrjWestern Mariкырык мары
boTibetanབོད་ཡིག
nsoNorthern SothoSesotho sa Leboa
kk-kzKazakh (Kazakhstan)қазақша (Қазақстан)
hywWestern ArmenianԱրեւմտահայերէն
copCopticϯⲙⲉⲧⲣⲉⲙⲛ̀ⲭⲏⲙⲓ
arnMapuchemapudungun
fiFinnishsuomi
hiHindiहिन्दी
roRomanianromână
pntPonticΠοντιακά
toTonganlea faka-Tonga
soSomaliSoomaaliga
noNorwegiannorsk
moMoldovanмолдовеняскэ
tpiTok PisinTok Pisin
siSinhalaසිංහල
mcpMakaMaka
loLaoລາວ
wyaWyandotWyandot
lldLadinLadin
ptPortugueseportuguês
ccpChakma𑄌𑄋𑄴𑄟𑄳𑄦
koiKomi-Permyakперем коми
bnBanglaবাংলা
anpAngikaअंगिका
quQuechuaRuna Simi
cuChurch Slavicсловѣньскъ / ⰔⰎⰑⰂⰡⰐⰠⰔⰍⰟ
kjKuanyamaKwanyama
byvMedumbaMedumba
inhIngushгӀалгӀай
myvErzyaэрзянь
jv-javaJavanese (Javanese script)ꦗꦮ
tnTswanaSetswana
mnMongolianмонгол
nnNorwegian Nynorsknorsk nynorsk
thqKochila Tharuकाेचिला थारु
ljpLampung ApiLampung Api
lnLingalalingála
sylSylhetiꠍꠤꠟꠐꠤ
mkMacedonianмакедонски
nmgKwasioKwasio
kk-trKazakh (Turkey)qazaqşa (Türkïya)
amiAmisPangcah
mhrEastern Mariолык марий
mdfMokshaмокшень
tkTurkmenTürkmençe
nogNogaiногайша
gom-devaGoan Konkani (Devanagari script)गोंयची कोंकणी
qugChimborazo Highland QuichuaRuna shimi
guGujaratiગુજરાતી
huHungarianmagyar
nupNupeNupe
kswS'gaw Karenစှီၤ
kggKusundaगेम्येहाक़ गिपन
skSlovakslovenčina
rmRomanshrumantsch
nrmNormanNouormand
kcgTyapTyap
omOromoOromoo
acfSaint Lucian CreoleKwéyòl Sent Lisi
fiu-vroVõrovõro
nodNorthern Thaiᨣᩤᩴᨾᩮᩬᩥᨦ
kmKhmerភាសាខ្មែរ
szlSilesianślůnski
grcAncient GreekἈρχαία ἑλληνικὴ
bgcHaryanviहरियाणवी
mniManipuriꯃꯤꯇꯩ ꯂꯣꯟ
twTwiTwi
avAvaricавар
sahYakutсаха тыла
rgnRomagnolRumagnôl
zeaZeelandicZeêuws
novNovialNovial
crh-roDobrujan Tatartatarşa
ltgLatgalianlatgaļu
minMinangkabauMinangkabau
dtyDoteliडोटेली
kabKabyleTaqbaylit
yoYorubaYorùbá
ybbYembaYemba
yasNugunuNugunu
voVolapükVolapük
xsySaisiyatsaisiyat
xmfMingrelianმარგალური
newNewariनेपाल भाषा
slSlovenianslovenščina
tlTagalogTagalog
gcfGuadeloupean Creolekréyòl Gwadloup
kbdKabardianадыгэбзэ
napNeapolitanNapulitano
plPolishpolski
mlMalayalamമലയാളം
nlDutchNederlands
lezLezghianлезги
votVoticVaďďa
bfwBondaରେମସାମ୍
nynNyankolerunyankore
zgh-latnStandard Moroccan Tamazight (Latin script)tamaziɣt tanawayt
fatFantimfantse
elGreekΕλληνικά
kaaKara-KalpakQaraqalpaqsha
woWolofWolof
kk-cyrlKazakh (Cyrillic script)қазақша (кирил)
warWarayWinaray
nysNyungarNyunga
vroVõrovõro
vmfMain-FranconianMainfränkisch
shnShanတႆး
madMadureseMadhurâ
diqDimliZazaki
dinDinkaThuɔŋjäŋ
viVietnameseTiếng Việt
ngeNgémbaNgémba
kgeKomeringKumoring
vecVenetianvèneto
veVendaTshivenda
uz-latnUzbek (Latin script)oʻzbekcha
uz-cyrlUzbek (Cyrillic script)ўзбекча
tvuTunenTunen
ukUkrainianукраїнська
ug-latnUyghur (Latin script)Uyghurche
ladLadinoLadino
udmUdmurtудмурт
maiMaithiliमैथिली
tyvTuvinianтыва дыл
tyTahitianreo tahiti
shi-latnTachelhit (Latin script)Taclḥit
mosMossimoore
uzUzbekoʻzbekcha / ўзбекча
ltLithuanianlietuvių
ttjTooroOrutooro
isv-cyrlInterslavic (Cyrillic script)меджусловјанскы
tt-cyrlTatar (Cyrillic script)татарча
bhoBhojpuriभोजपुरी
scoScotsScots
trvTarokoSeediq
trTurkishTürkçe
tpvTanapagTanapag
kjhKhakasхакас
tokToki Ponatoki pona
pmsPiedmontesePiemontèis
thThaiไทย
kriKrioKrio
dzDzongkhaཇོང་ཁ
tcyTuluತುಳು
mrhMaraMara
livLivonianLīvõ kēļ
hzHereroOtsiherero
kkKazakhқазақша
chyCheyenneTsetsêhestâhese
kbd-cyrlKabardian (Cyrillic script)адыгэбзэ
svSwedishsvenska
suSundaneseSunda
ku-latnKurdish (Latin script)kurdî (latînî)
srqSirionómbia cheë
sroCampidanese Sardiniansardu campidanesu
jboLojbanla .lojban.
bxrRussia Buriatбуряад
tddTai Nueaᥖᥭᥰ ᥖᥬᥲ ᥑᥨᥒᥰ
lnsLamnso'Lamnso'
srnSranan TongoSranantongo
sr-elSerbian (Latin script)srpski (latinica)
sr-ecSerbian (Cyrillic script)српски (ћирилица)
pcdPicardPicard
pcmNigerian PidginNaijá
myBurmeseမြန်မာဘာသာ
lvLatvianlatviešu
kyKyrgyzкыргызча
crh-cyrlCrimean Tatar (Cyrillic script)къырымтатарджа (Кирилл)
lbeLakлакку
gucWayuuwayuunaiki
awaAwadhiअवधी
lemNomaandeNomaande
adyAdygheадыгабзэ
de-chSwiss High GermanSchweizer Hochdeutsch
nahNahuatlNāhuatl
rkiArakaneseရခိုင်
annOboloObolo
hyArmenianհայերեն
kvKomiкоми
stqSaterland FrisianSeeltersk
oloLivvi-Karelianlivvinkarjala
lijLigurianLigure
tetTetumtetun
aeb-latnTunisian Arabic (Latin script)Tûnsî
magMagahiमगही
pagPangasinanPangasinan
kshColognianRipoarisch
szySakizayaSakizaya
simpleSimple EnglishSimple English
krcKarachay-Balkarкъарачай-малкъар
mnc-latnManchu (Latin script)manju gisun
mcnMassavùn màsànà
shyShawiyatacawit
lfnLingua Franca NovaLingua Franca Nova
smsSkolt Saminuõrttsääʹmǩiõll
pap-awPapiamento (Aruba)Papiamento
asAssameseঅসমীয়া
tly-cyrlTalysh (Cyrillic script)толыши
vlsWest FlemishWest-Vlams
scnSiciliansicilianu
nlaNgombalaNgombala
osa-latnOsage (Latin script)Wažáže íe
taTamilதமிழ்
sgsSamogitianžemaitėška
isv-latnInterslavic (Latin script)medžuslovjansky
rskPannonian Rusynруски
waWalloonwalon
pflPalatine GermanPälzisch
ruqMegleno-RomanianVlăheşte
saSanskritसंस्कृतम्
laLatinLatina
liLimburgishLimburgs
sdcSassarese SardinianSassaresu
muaMundangMundang
ks-devaKashmiri (Devanagari script)कॉशुर
lusMizoMizo ţawng
gomGoan Konkaniगोंयची कोंकणी / Gõychi Konknni
pdtPlautdietschPlautdietsch
musMuscogeeMvskoke
gju-devaGujari (Devanagari script)गुज्जरी
lmoLombardlombard
be-x-oldBelarusian (Taraškievica orthography)беларуская (тарашкевіца)
rueRusynрусиньскый
kaGeorgianქართული
kusKusaalKʋsaal
sjuUme Samiubmejesámiengiälla
aaAfarQafár af
cvChuvashчӑвашла
fvrFurpoor’íŋ belé’ŋ
baBashkirбашҡортса
paPunjabiਪੰਜਾਬੀ
bagTukiTuki
ruq-latnMegleno-Romanian (Latin script)Vlăheşte
walWolayttawolaytta
ruRussianрусский
roa-taraTarantinotarandíne
xalKalmykхальмг
rmyVlax Romaniromani čhib
nbNorwegian Bokmålnorsk bokmål
papPapiamentoPapiamentu
lbLuxembourgishLëtzebuergesch
yavYangbenYangben
sliLower SilesianSchläsch
hocHo𑢹𑣉𑣉 𑣎𑣋𑣜
rifRiffianTarifit
abAbkhazianаԥсшәа
altSouthern Altaiалтай тил
dlgDolganдолган тыла
rwrMarwari (India)मारवाड़ी
qucKʼicheʼQatzijob\ʼal
bciBaouléwawle
blkPa'Oပအိုဝ်ႏဘာႏသာႏ
yatYambetaYambeta
pwnPaiwanpinayuanan
scSardiniansardu
ocOccitanoccitan
prgPrussianprūsiskan
dsoDesiyaଦେଶିଆ
piPaliपालि
knKannadaಕನ್ನಡ
nyoNyoroOrunyoro
kjpEastern Pwoဖၠုံလိက်
bug-bugiBuginese (Buginese script)ᨅᨔ ᨕᨘᨁᨗ
ban-baliBalinese (Balinese script)ᬩᬲᬩᬮᬶ
satSantaliᱥᱟᱱᱛᱟᱲᱤ
chrCherokeeᏣᎳᎩ
ike-cansEastern Canadian (Aboriginal syllabics)ᐃᓄᒃᑎᑐᑦ
tzmCentral Atlas Tamazightⵜⴰⵎⴰⵣⵉⵖⵜ
iuInuktitutᐃᓄᒃᑎᑐᑦ / inuktitut
gotGothic𐌲𐌿𐍄𐌹𐍃𐌺
zghStandard Moroccan Tamazightⵜⴰⵎⴰⵣⵉⵖⵜ ⵜⴰⵏⴰⵡⴰⵢⵜ
shi-tfngTachelhit (Tifinagh script)ⵜⴰⵛⵍⵃⵉⵜ
tigTigreትግሬ
ko-kpKorean (North Korea)조선말
tiTigrinyaትግርኛ
amAmharicአማርኛ
iiSichuan Yiꆇꉙ
koKorean한국어
jaJapanese日本語
ryuOkinawan沖縄口
zhChinese中文
zh-cnChinese (China)中文(中国大陆)
zh-sgChinese (Singapore)中文(新加坡)
zh-moChinese (Macau)中文(澳門)
zh-hansSimplified Chinese中文(简体)
zh-hantTraditional Chinese中文(繁體)
zh-twChinese (Taiwan)中文(臺灣)
zh-hkChinese (Hong Kong)中文(香港)
zh-myChinese (Malaysia)中文(马来西亚)
wuu-hantWu (Traditional Han script)吳語(正體)
wuuWu吴语
wuu-hansWu (Simplified Han script)吴语(简体)
hakHakka Chinese客家語 / Hak-kâ-ngî
hak-hantHakka (Traditional Han script)客家語(繁體)
hak-hansHakka (Simplified Han script)客家语(简体)
lzhLiterary Chinese文言
zh-classicalLiterary Chinese文言
hsnXiang湘語
yueCantonese粵語
yue-hansCantonese (Simplified Han script)粵语(简体)
zh-yueCantonese粵語
yue-hantCantonese (Traditional Han script)粵語(繁體)
cpxPuxian莆仙語 / Pó-sing-gṳ̂
cpx-hantPuxian (Traditional Han script)莆仙語(繁體)
cpx-hansPuxian (Simplified Han script)莆仙语(简体)
gan-hantGan (Traditional Han script)贛語(繁體)
ganGan贛語
gan-hansGan (Simplified Han script)赣语(简体)
nan-haniMinnan (Han script)閩南語
nanMinnan閩南語 / Bân-lâm-gí
nan-hantMinnan (Traditional Han script)閩南語(傳統漢字)
cdoMindong閩東語 / Mìng-dĕ̤ng-ngṳ̄
cdo-hantMindong (Traditional Han script)閩東語(傳統漢字)
mnc-mongManchu (Mongolian script)ᠮᠠᠨᠵᡠ ᡤᡳᠰᡠᠨ
yiYiddishייִדיש
heHebrewעברית
ug-arabUyghur (Arabic script)ئۇيغۇرچە
ugUyghurئۇيغۇرچە / Uyghurche
urUrduاردو
aryMoroccan Arabicالدارجة
arArabicالعربية
bqiBakhtiariبختیاری
ms-arabMalay (Jawi script)بهاس ملايو
psPashtoپښتو
pnbWestern Punjabiپنجابی
aeb-arabTunisian Arabic (Arabic script)تونسي
azbSouth Azerbaijaniتۆرکجه
aebTunisian Arabicتونسي / Tûnsî
arqAlgerian Arabicجازايرية
bccSouthern Balochiجهلسری بلوچی
bgnWestern Balochiروچ کپتین بلوچی
skrSaraikiسرائیکی
skr-arabSaraiki (Arabic script)سرائیکی
sdSindhiسنڌي
apcLevantine Arabicشامي
acmIraqi Arabicعراقي
faPersianفارسی
kk-cnKazakh (China)قازاقشا (جۇنگو)
kk-arabKazakh (Arabic script)قازاقشا (تٴوتە)
ku-arabKurdish (Arabic script)کوردی (عەرەبی)
ks-arabKashmiri (Arabic script)کٲشُر
khwKhowarکھوار
ckbCentral Kurdishکوردی
sdhSouthern Kurdishکوردی خوارگ
gju-arabGujari (Arabic script)گوجری
glkGilakiگیلکی
otaOttoman Turkishلسان عثمانى
lrcNorthern Luriلۊری شومالی
luzSouthern Luriلئری دوٙمینی
lkiLakiلەکی
mznMazanderaniمازِرونی
arzEgyptian Arabicمصرى
hnoNorthern Hindkoہندکو
arcAramaicܐܪܡܝܐ
dvDivehiދިވެހިބަސް
nqoN’Koߒߞߏ

There are currently 538 supported languages (plus the language tag zxx denoting the absence of any linguistic content).

Note
SVG systemLanguage codes must be valid BCP 47 language tags (code differences).

Using numbers instead of labels

An example of an image with few labels.

On images with few labels, an alternative to either many translated files, or a multilingual SVG file, is to have only one file with numeric labels in it, and a table below, with different translations, and there is thus a single image that can be used for all languages. File:Robal.png or File:Insect anatomy diagram.svg is a good example.

If you think this image will be better with numbers instead of translated text, you can change {{Translate}} template to {{Convert to international}} or make numbers yourself.

For instance, File:ISS configuration sep-2006 en.svg has English labels, and a version with numeric labels File:ISS configuration sep-2006 numbers.svg was created by replacing the labels in the English version. But it's still not fully internationalized, because title and date are still written in the image in English.

Placing labels outside the image

Some images allow text to be placed around its periphery, as in the following example. Optionally add leading lines where appropriate. A table with explicit dimensions aids layout.

Rankine (°Ra)
Kelvin (K)
Fahrenheit (°F)
Celsius (°C)
Réaumur (°Ré)
Rømer (°Rø)
Newton (°N)
Delisle (°D)
Absolute zero Lowest recorded surface temperature on Earth[5] Fahrenheit's ice/water/salt mixture Melting point of ice (at standard pressure) Average surface temperature on Earth (15 °C) Average human body temperature (37 °C) Highest recorded surface temperature on Earth[6] Boiling point of water (at standard pressure)  

Support this template

You don't have to translate this part; it should be enough if this information is here in English. Users who do not yet have a version in their language will find it here, I guess.

You can support this template by translating this help page into your language and saving it as a sub-page. The template consists of three parts. For example, for the German template they are:

The template page should contain the template itself and the quick info text translated from the English template.

The help page (this page) in your language should be saved under the subject that you would use in your language, like "Learn more" (which I selected for English).

The language link template is the same for every version of this template. It contains all the links to existing language versions. Please add your language there and there, if you have created a new translation.

Thank you for your support!

See also

Notes

  1. You can specify multiple languages separated by a comma, in case multiple languages happen to express something the same way. See MDN page for systemLanguage.
  2. http://commons.wikimedia.org/w/index.php?title=Commons:Graphic_Lab/Illustration_workshop&diff=prev&oldid=1077344410
  3. The i makes the language code case-insensitive.
  4. Starting in November 2018, MediaWiki tries to use the wiki's language rather than always use "en" when the file transclusion does not specify a lang parameter. Consequently, the German Wikipedia (https://de.wikipedia.org) will behave as if |lang=de were specified when systemLanguage="de" attributes are present in the SVG file.
  5. The Coldest Inhabited Places on Earth; researches of the Vostok Station recorded the coldest known temperature on Earth on July 21st 1983: −89.2 °C (−128.6 °F).
  6. World: Highest Temperature archive copy at the Wayback Machine; an Italian weather station in al 'Aziziyah (Libya) measured a temperature of 58 °C (136.4 °F) on September 13th 1922. "Although this record has gained general acceptance as the world's highest temperature recorded under standard conditions, the validity of the extreme has been questioned."
Category:Scalable Vector Graphics Category:Commons internationalization Category:Commons image resources
Category:Commons image resources Category:Commons internationalization Category:Pages using RFC magic links Category:Scalable Vector Graphics