update translations

This commit is contained in:
HF 2024-03-09 10:41:28 +01:00
parent 77d44e62c7
commit d18e8e807b
18 changed files with 540 additions and 959 deletions

View File

@ -1,5 +1,3 @@
> **Currently pixelplanet is being developed in a another private repository. This development version diverted and is incompatible with the stable version here. Until it is ready, this public repository will be frozen.**
# PixelPlanet.fun
@ -9,7 +7,9 @@ Official repository of [pixelplanet.fun](http://www.pixelplanet.fun).
![videothumb](promotion/videothumb.gif)
> If you want to help us translate pixelplanet.fun, look into [i18n](./i18n)
> Our translations are hosted [on Weblate](https://hosted.weblate.org/projects/pixelplanet), information on how to contribute is available under [i18n](./i18n). We very much appreciate any help.
[![Translation status](https://hosted.weblate.org/widget/pixelplanet/svg-badge.svg)](https://hosted.weblate.org/engage/pixelplanet/)
To the 2nd anniversary of r/space, pixelplanet takes pixelgames to a new level. Place pixels, create pixelart and fight faction wars on pixelplanet.fun.
Pixelplanet is a 65k x 65k large canvas that is a map of the world and can also be seen as 3d globe, you can place pixels where ever you want, build an island, take over another country with a flag or just create pixelart.

View File

@ -1,8 +1,14 @@
# Translations
The easiets way to help translate the game is with weblate. Simply use [hosted.weblate.org/projects/pixelplanet](https://hosted.weblate.org/projects/pixelplanet/). Feel free to ask in the Translation section in [our Discord](https://pixelplanet.fun/guilded) if you need help.
[![Translation status](https://hosted.weblate.org/widget/pixelplanet/open-graph.png)](https://hosted.weblate.org/engage/pixelplanet/)
# Translating Offline
Two translation files for each language are needed, `ssr-[locale].po` and `[locale].pb` (i.e. `ssr-de.po` and `de.po`).
Translation files can be created out of the templates [template.pot](https://git.pixelplanet.fun/ppfun/pixelplanet/raw/branch/master/i18n/template.pot) and [template-ssr.pot](https://git.pixelplanet.fun/ppfun/pixelplanet/raw/branch/master/i18n/template-ssr.pot). They are standard GNU gettext files and can be edited in any ordinary texteditor or po-Editor.
Translation files can be created out of the templates [template.pot](https://git.pixelplanet.fun/ppfun/translations/raw/branch/master/template.pot) and [template-ssr.pot](https://git.pixelplanet.fun/ppfun/translations/raw/branch/master/template-ssr.pot). They are standard GNU gettext files and can be edited in any ordinary texteditor or po-Editor.
All translated languages get an own chat channel that just people who use this language can access.
@ -12,19 +18,24 @@ If a language code differs from the country code of a wanted flag, it can be def
### Create new translation
1. Download poedit [here](https://poedit.net/) and [template.pot](https://git.pixelplanet.fun/ppfun/pixelplanet/raw/branch/master/i18n/template.pot)
1. Download poedit [here](https://poedit.net/) and [template.pot](https://git.pixelplanet.fun/ppfun/translations/raw/branch/master/template.pot)
2. Open it and **Create new Translation** and open the `template.pot`
![start](../promotion/poedit/start.png)
![start](./images/start.png)
3. Select the language you want to translate into
![langsel](../promotion/poedit/langsel.png)
![langsel](./images/langsel.png)
4. Translate all the entries
![translate](../promotion/poedit/translate.png)
![translate](./images/translate.png)
5. Save the translation as `[locale].po` (i.e. `es.po` for spanish)
6. Do the same again, but with [template-ssr.pot](https://git.pixelplanet.fun/ppfun/pixelplanet/raw/branch/master/i18n/template-ssr.pot) and save it as `ssr-[locale].po`
7. Send us the two files on [guilded](https://pixelplanet.fun) or make a pull request
6. Do the same again, but with [template-ssr.pot](https://git.pixelplanet.fun/ppfun/translations/raw/branch/master/template-ssr.pot) and save it as `ssr-[locale].po`
7. Send us the two files on [discord](https://pixelplanet.fun/guilded) or make a pull request
### Update old translation if change is needed
1. Open the .po file with poedit
2. Click on **Catalogue -> Update** from POT file
3. Select the corresponding template.pot file and the translations will update and new entries appear if needed
Translations are Licensed under the terms of the AGPLv3 license.

BIN
i18n/images/langsel.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

BIN
i18n/images/start.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

BIN
i18n/images/translate.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

11
i18n/lccc.json Normal file
View File

@ -0,0 +1,11 @@
{
"be": "by",
"ca": "ct",
"da": "dk",
"fa": "ir",
"hy": "am",
"ka": "ge",
"kk": "kr",
"sl": "si",
"sr": "rs"
}

View File

@ -1,441 +0,0 @@
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100>=3 && n"
"%100<=4 ? 2 : 3);\n"
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.4.2\n"
"Last-Translator: \n"
"Language: sl_SI\n"
#: src/core/ChatProvider.js:287
msgid "You can not send chat messages with proxy"
msgstr "Ne morate pošiljati sporočil za proksiji"
#: src/core/ChatProvider.js:292
msgid "Couldn't send your message, pls log out and back in again."
msgstr ""
"Nismo mogli poslati vašega sporočila, prosim izpišite se ter se vpišite "
"nazaj."
#: src/core/ChatProvider.js:306
#, javascript-format
msgid "You are sending messages too fast, you have to wait ${ waitTime }s :("
msgstr "Sporočila pošiljate prehitro, počakati morate ${ waitTime }s :("
#: src/core/ChatProvider.js:310
msgid "You don't have access to this channel"
msgstr "Nimate dostopa do tega kanala"
#: src/core/ChatProvider.js:326
msgid "Your mail has to be verified in order to chat"
msgstr "Vaš E-naslov mora biti preverjen zato, da lahko klepetate"
#: src/core/ChatProvider.js:331
msgid "You are permanently muted, join our guilded to appeal the mute"
msgstr ""
"Za vedno ste utišani, pridružite se guilded, da se pritožite na utišavo "
#: src/core/ChatProvider.js:336
#, javascript-format
msgid "You are muted for another ${ timeMin } minutes"
msgstr "Utišani ste še ${ timeMin } minut"
#: src/core/ChatProvider.js:338
msgid "You are muted for another ${ muted } seconds"
msgstr "Utišani ste še ${ muted } sekund"
#: src/core/ChatProvider.js:346
msgid "Ow no! Spam protection decided to mute you"
msgstr "Oh ne! Obramba proti spamu vas je utišala"
#: src/core/ChatProvider.js:357
msgid "You can't send a message this long :("
msgstr "Ne morate poslati tako dolgega sporočila :("
#: src/core/ChatProvider.js:361
msgid "Please use int channel"
msgstr "Prosim uporabite int kanal"
#: src/core/ChatProvider.js:365
msgid "Your country is temporary muted from chat"
msgstr "Vaša država je začasno utišana v klepetu"
#: src/core/ChatProvider.js:373
msgid "Stop flooding."
msgstr "Nehajte poplavljati."
#: src/ssr-components/Globe.jsx:44
msgid "Double click on globe to go back."
msgstr "Kliknite dvakrat na planet, da se vrnete"
#: src/ssr-components/Globe.jsx:45
msgid "Loading..."
msgstr "Nalaganje..."
#: src/ssr-components/Globe.jsx:51
msgid "PixelPlanet.Fun 3DGlobe"
msgstr "PixelPlanet.Fun 3DGlobus"
#: src/ssr-components/Globe.jsx:52
msgid "A 3D globe of our whole map"
msgstr "3D globus našega celega zemljevida"
#: src/ssr-components/Main.jsx:73
msgid "PixelPlanet.fun"
msgstr "PixelPlanet.fun"
#: src/ssr-components/Main.jsx:75
msgid "Place color pixels on an map styled canvas with other players online"
msgstr ""
"Postavite barvne piksle na kanvas v obliki zemljevida z drugimi igralci na "
"spletu"
#: src/routes/reset_password.js:58
msgid "You sent an empty password or invalid data :("
msgstr "Poslali ste prazno geslo ali pa nepravilne podatke :("
#: src/routes/reset_password.js:70
msgid "This password-reset link isn't valid anymore :("
msgstr "Ta povezava za ponastavitev gesla ni več veljavna :("
#: src/routes/reset_password.js:81
msgid "Your passwords do not match :("
msgstr "Vaši gesli se ne ujemata :("
#: src/routes/reset_password.js:96
msgid "User doesn't exist in our database :("
msgstr "Uporabnik ne obstaja v naši podatkovni bazi :("
#: src/routes/reset_password.js:108
msgid "Password successfully changed."
msgstr "Geslo je bilo uspešno spremenjeno."
#: src/routes/reset_password.js:127
msgid "Invalid url :( Please check your mail again."
msgstr "Neveljavna povezava :( Prosim ponovno preverite vaš E-naslov."
#: src/routes/reset_password.js:140
msgid ""
"This passwort reset link is wrong or already expired, please request a new "
"one (Note: you can use those links just once)"
msgstr ""
"Ta povezava za ponastavitev gesla je napačna ali pa je že pretečena, prosim "
"povprašajte za novo (Komentar: te povezave lahko uporabite le enkrat)"
#: src/core/mail.js:65
#, javascript-format
msgid ""
"We already sent you a verification mail, you can request another one in "
"${ minLeft } minutes."
msgstr ""
"Že smo vam poslali potrditveno E-poštno sporočilo, ponovno ga lahko naročite "
"čez ${ minLeft } minut."
#: src/core/mail.js:75
msgid "Welcome ${ name } to PixelPlanet, please verify your mail"
msgstr "${ name } dobrodošel na PixelPlanetu, prosim potrdite vaš E-naslov"
#: src/core/mail.js:77
#, javascript-format
msgid "Hello ${ name }"
msgstr "Pozdravljen ${ name }"
#: src/core/mail.js:78
msgid ""
"welcome to our little community of pixelplacers, to use your account, you "
"have to verify your mail. You can do that here: "
msgstr ""
"dobrodošli v naši majhni skupnosti postavljavcev pixlov, da lahko "
"uporabljate vaš profil, morate preveriti vaš E-naslov. To lahko storite "
"tukaj:"
#: src/core/mail.js:78
msgid "Click to Verify"
msgstr "Kliknite, da Preverite"
#: src/core/mail.js:78 src/core/mail.js:128
msgid "Or by copying following url:"
msgstr "Ali pa tako, da kopirate naslednji naslov:"
#: src/core/mail.js:79
msgid ""
"Have fun and don't hesitate to contact us if you encounter any problems :)"
msgstr ""
"Imejte se lepo in ne bojte se nas kontaktirati če pridete, do kakšnih "
"težav :)"
#: src/core/mail.js:80 src/core/mail.js:130
msgid "Thanks"
msgstr "Hvala"
#: src/core/mail.js:98
msgid ""
"We already sent you a mail with instructions. Please wait before requesting "
"another mail."
msgstr ""
"Že smo vam poslali E-pošto z navodili. Prosim počakajte preden povprašate za "
"novo sporočilo."
#: src/core/mail.js:106
msgid "Couldn't find this mail in our database"
msgstr "Nismo mogli najti e-naslova v naši podatkovni bazi"
#: src/core/mail.js:125
msgid "You forgot your password for PixelPlanet? Get a new one here"
msgstr "Ste pozabili geslo za PixelPlanet? Pridobite novega tukaj"
#: src/core/mail.js:127
msgid "Hello"
msgstr "Pozdravljeni"
#: src/core/mail.js:128
msgid ""
"You requested to get a new password. You can change your password within the "
"next 30min here: "
msgstr ""
"Povprašali ste za novo geslo. Geslo lahko spremenite tukaj v naslednjih 30-"
"tih minutah:"
#: src/core/mail.js:128 src/ssr-components/PasswordReset.jsx:19
#: src/ssr-components/PasswordReset.jsx:28
msgid "Reset Password"
msgstr "Resetirajte Geslo"
#: src/core/mail.js:129
#, javascript-format
msgid ""
"If you did not request this mail, please just ignore it (the ip that "
"requested this mail was ${ ip })."
msgstr ""
"Če niste povprašali za to sporočilo, jo prosim ignorirajte (ip naslov, ki je "
"povprašal za to sporočilo je ${ ip })."
#: src/ssr-components/PasswordReset.jsx:21
#: src/ssr-components/RedirectionPage.jsx:15
msgid "Click here"
msgstr "Kliknite tukaj,"
#: src/ssr-components/PasswordReset.jsx:22
msgid "to go back to pixelplanet"
msgstr "da se vrnete na pixel planet"
#: src/ssr-components/PasswordReset.jsx:29
#, javascript-format
msgid "Hello ${ name }, you can set your new password here:"
msgstr "Pozdravljeni ${ name }, vaše novo geslo lahko vpišite tukaj:"
#: src/ssr-components/PasswordReset.jsx:33
msgid "New Password"
msgstr "Novo Geslo"
#: src/ssr-components/PasswordReset.jsx:41
msgid "Confirm New Password"
msgstr "Potrdite Novo Geslo"
#: src/ssr-components/PasswordReset.jsx:47
msgid "Submit"
msgstr "Oddajte"
#: src/ssr-components/PasswordReset.jsx:52
msgid "PixelPlanet.fun Password Reset"
msgstr "PixelPlanet.fun Ponastavitev Gesla"
#: src/ssr-components/PasswordReset.jsx:53
msgid "Reset your password here"
msgstr "Resetirajte vaše geslo tukaj"
#: src/utils/validation.js:18
msgid "Email can't be empty."
msgstr "E-naslov ne sme biti prazen."
#: src/utils/validation.js:19
msgid "Email should be at least 5 characters long."
msgstr "E-naslov mora vsebovati vsaj 5 znakov."
#: src/utils/validation.js:20
msgid "Email can't be longer than 40 characters."
msgstr "E-naslov ne sme biti daljši od 40 znakov."
#: src/utils/validation.js:21
msgid "Email should at least contain a dot"
msgstr "E-naslov mora vsebovati vsaj eno piko"
#: src/utils/validation.js:23
msgid "Email should contain a @"
msgstr "E-naslov mora vsebovati @"
#: src/utils/validation.js:30
msgid "Name can't be empty."
msgstr "Ime ne sme biti prazno."
#: src/utils/validation.js:31
msgid "Name must be at least 4 characters long"
msgstr "Ime mora biti vsaj 4 znake dolgo"
#: src/utils/validation.js:32
msgid "Name must be shorter than 26 characters"
msgstr "Ime mora biti krajše od 26 znakov"
#: src/utils/validation.js:39
msgid "Name contains invalid character like @, /, \\ or #"
msgstr "Ime ne sme vsebovati znake kot so @, /, \\ ali #"
#: src/utils/validation.js:54
msgid "No password given."
msgstr "Geslo ni podano."
#: src/utils/validation.js:57
msgid "Password must be at least 6 characters long."
msgstr "Geslo mora vsebovati vsaj 6 znakov."
#: src/utils/validation.js:60
msgid "Password must be shorter than 60 characters."
msgstr "Geslo mora biti krajše od 60 znakov."
#: src/routes/api/captcha.js:22
msgid "No captcha text given"
msgstr "Niste vnesli besedila za captcho"
#: src/routes/api/captcha.js:36
msgid "You took too long, try again."
msgstr "Potrebovali ste preveč časa poizkušajte ponovno."
#: src/routes/api/captcha.js:42
msgid "You failed your captcha"
msgstr "Ni vam uspelo narediti captcho"
#: src/routes/api/captcha.js:48
msgid "Unknown Captcha Error"
msgstr "Neznana Napaka Captche"
#: src/routes/api/captcha.js:55
msgid "Server error occured"
msgstr "Zgodila se je napaka v strežniku"
#: src/routes/api/auth/register.js:31
msgid "E-Mail already in use."
msgstr "E-Naslov je že v uporabi."
#: src/routes/api/auth/register.js:33
msgid "Username already in use."
msgstr "Uporabniško ime je že v uporabi"
#: src/routes/api/auth/register.js:61
msgid "Failed to create new user :("
msgstr "Ni nam uspelo ustvariti novega uporabnika :("
#: src/routes/api/auth/register.js:77
msgid "Failed to establish session after register :("
msgstr "Ni nam uspelo ustvariti seje po registraciji :("
#: src/routes/api/auth/verify.js:25 src/routes/api/auth/verify.js:32
msgid "Mail verification"
msgstr "Potrjevanje E-naslova"
#: src/routes/api/auth/verify.js:26
msgid "You are now verified :)"
msgstr "Potrjeni ste :)"
#: src/routes/api/auth/verify.js:32
msgid ""
"Your mail verification code is invalid or already expired :(, please request "
"a new one."
msgstr ""
"Vaša koda za preverjanje E-naslova je neveljavna ali pa je že potekla :(, "
"prosim povprašajte za novo."
#: src/routes/api/auth/logout.js:13
msgid "You are not even logged in."
msgstr "Niste vpisani."
#: src/routes/api/auth/change_mail.js:41
#: src/routes/api/auth/change_passwd.js:37
#: src/routes/api/auth/delete_account.js:38
msgid "You are not authenticated."
msgstr "Niste preverjeni."
#: src/routes/api/auth/change_mail.js:50
#: src/routes/api/auth/change_passwd.js:46
#: src/routes/api/auth/delete_account.js:48
msgid "Incorrect password!"
msgstr "Nepravilno geslo!"
#: src/ssr-components/RedirectionPage.jsx:20
msgid "You will be automatically redirected after 15s"
msgstr "Po 15s boste samodejno preusmerjeni"
#: src/ssr-components/RedirectionPage.jsx:21
#, javascript-format
msgid "Or ${ clickHere } to go back to pixelplanet"
msgstr "Ali ${ clickHere }, da se vrnete na pixelplanet"
#: src/ssr-components/RedirectionPage.jsx:25
msgid "PixelPlanet.fun Accounts"
msgstr "PixelPlanet.fun Profili"
#: src/canvasesDesc.js:19
msgid "Earth"
msgstr "Zemlja"
#: src/canvasesDesc.js:20
msgid "Moon"
msgstr "Luna"
#: src/canvasesDesc.js:21
msgid "3D Canvas"
msgstr "3D Kanvas"
#: src/canvasesDesc.js:22
msgid "Coronavirus"
msgstr "Koronavirus"
#: src/canvasesDesc.js:23
msgid "PixelZone"
msgstr "PixelCona"
#: src/canvasesDesc.js:24
msgid "PixelCanvas"
msgstr "PixelKanvas"
#: src/canvasesDesc.js:25
msgid "1bit"
msgstr "1bit"
#: src/canvasesDesc.js:28
msgid "Our main canvas, a huge map of the world. Place everywhere you like"
msgstr ""
"Naš glavni kanvas, ogromen zemljevid sveta. Postavljajte kjer koli hočete"
#: src/canvasesDesc.js:29
msgid ""
"Moon canvas. Safe space for art. No flags or large text (unless part of art) "
"or art larger than 1.5k x 1.5k pixels."
msgstr ""
"Luna kanvas. Varen kraj za slike. Brez zastav ali velikih besedil (razen če "
"so del umetnin) ali slik večjih od 1.5k x 1.5k pikslov."
#: src/canvasesDesc.js:30
msgid "Place Voxels on a 3D canvas with others"
msgstr "Postavljajte kvadratke na 3D kanvasu z drugimi"
#: src/canvasesDesc.js:31
msgid "Special canvas to spread awareness of SARS-CoV2"
msgstr "Poseben kanvas za širjenje zavedanja za SARS-CoV2"
#: src/canvasesDesc.js:32
msgid "Mirror of PixelZone"
msgstr "Zrcalo PixelCone"
#: src/canvasesDesc.js:33
msgid "Mirror of PixelCanvas"
msgstr "Zrcalo PixelKanvasa"
#: src/canvasesDesc.js:34
msgid "Black and White canvas"
msgstr "Črn in Bel kanvas"

View File

@ -3,7 +3,7 @@ msgstr ""
"Content-Type: text/plain; charset=utf-8\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
#: src/core/ChatProvider.js:434
#: src/core/ChatProvider.js:435
msgid "You can not send chat messages with proxy"
msgstr ""
@ -106,11 +106,11 @@ msgstr ""
msgid "PixelPlanet.Fun PopUp"
msgstr ""
#: src/ssr/Main.jsx:65
#: src/ssr/Main.jsx:62
msgid "PixelPlanet.Fun"
msgstr ""
#: src/ssr/Main.jsx:66
#: src/ssr/Main.jsx:63
msgid "Place color pixels on an map styled canvas with other players online"
msgstr ""

File diff suppressed because it is too large Load Diff