#Add Multilingual Support

961 messages · Page 1 of 1 (latest)

foggy thunder
#

By adding multilingual support, we can make the app more accessible, reach a broader audience, and make it easier to grow internationally. It also makes it easier to collaborate with contributors who speak other languages.

Acknowledgements

  • Bulgarian: Nikola123
  • Japanese: Aotumuri & daimyo_panda2
  • French: cldprv
  • Bulgarian - Nikola123
  • Dutch - cldprv, tryout33

How to help?
#1352553113612980224 message

template

Translated news.

News for @Nikola123, who is not the system creator but the owner of the translation site.
It would be easier if I could directly edit the translation JSON myself — mainly to add new keys when they’re added to the code.
I will inform you the key to use for translation.

Git commit link:

Added key

  • Nothing

Deleted keys

  • Nothing

Merged keys

  • Nothing

My comments

Nothing

🎉 This translation project called MLS is open to everyone! Mention me if you need help!

⚠️ If you have translated other languages, please PR to Aotumuri/openfrontio mls. If your PR is merged with the previous version of the translation key addition, it may cause errors.⚠️

lone plank
#

I can help translate the game into bulgarian

foggy thunder
# lone plank I can help translate the game into bulgarian

Thank you so much!
It would be really helpful if you could create a Bulgarian translation JSON file based on the existing ones (like en.json).
https://github.com/openfrontio/OpenFrontIO/pull/305/files#diff-39f74dddd50c9b3dd137874cd090e21cbd717bd82c44302e94337bb42c24c495
You can copy the structure and translate the values.

Just to note: multilingual support hasn’t been officially approved yet by the core developers, so there’s still a chance it might not be fully adopted. But having the translations ready would be great in any case!

Let me know if you have any questions or need help getting started!

#

Likely to be rejected ;w;
#🔧┃development message

barren wren
#

Would probably be appropriate to do it when the game is complete. Too many changes in the alpha stages, so we have to constantly update the translations

foggy thunder
lone plank
foggy thunder
#

like this

lone plank
#

@foggy thunder Besides the json file, what else do i need to change for the bulgarian language to be implemented?

lone plank
#

Nvm, i figured it out

foggy thunder
#

Due to the use of Shadow DOM in some components, replacing text dynamically takes a bit more time.
However, I’m currently working on connecting other modal to the translation system as well.
Please take a look at the following fork!

https://github.com/Aotumuri/OpenFrontIO/tree/mls

GitHub

Online browser-based RTS game. Contribute to Aotumuri/OpenFrontIO development by creating an account on GitHub.

foggy thunder
# lone plank https://github.com/openfrontio/OpenFrontIO/pull/314

Thank you so much for the Bulgarian translation!
For now, I plan to apply data-i18n only to the non-game parts of the interface.
One of the other developers mentioned that there are still many changes happening in-game during the alpha stage,
so I thought it’d be better to wait before localizing those parts.
I’m planning to submit a PR for the non-game areas soon, so I really appreciate your continued support.

foggy thunder
#

The structure of the difficulty levels in the JSON file has been changed.
The "difficulty" object is no longer in its previous location.

Apologies to anyone who was working on this — please note the update!

Here is the new structure:

  "Relaxed": "Relaxed",
  "Balanced": "Balanced",
  "Intense": "Intense",
  "Impossible": "Impossible"
}```
foggy thunder
#

https://github.com/openfrontio/OpenFrontIO/pull/316

If you notice any duplicate entries or have suggestions about improving the structure of the JSON, please let me know!

Also, options are currently separated into categories—do you think it would be better to unify them?

GitHub

This PR adds full translation support for all out-of-game UI elements,
including the start screen, public/private lobby modals, and other pre-game interfaces.
All static text has been externalized ...

lone plank
#

I followed up with a new commit on my PR, only adding the updated json file

foggy thunder
lone plank
#

Could you test if the bg.json file works in your latest PR?

foggy thunder
foggy thunder
lone plank
#

I forgot to replace the file with the one with the "MENA" translation, here it is

foggy thunder
#

-# Currently looking for someone who can create a beautiful language selection UI

lone plank
#

All of the changes were migrated to openfront.dev, including the translations, but it doesn't seem to be working there

foggy thunder
lone plank
foggy thunder
#

It might be that lang.js isn’t being loaded properly.

foggy thunder
lone plank
foggy thunder
#

;w;

tough chasm
#

I could add French language \

#

next week

foggy thunder
#

Hey, if it’s not too much trouble—
Could you ask in this channel about the issue on openfront.dev?
I can’t join it myself due to permission restrictions, but I’d really like to let the admins know and figure out how we should handle it.

Appreciate your help a lot as always!

#

no

foggy thunder
foggy thunder
#

The place where lang.js was supposed to be was somehow replaced by a duplicated index.html file.
#🔧┃development message

#

You can get the js file with this

[...performance.getEntriesByType("resource")]
  .find(r => r.name.includes("bb3e3a6058a8034ea5ac.js"))?.name```
lone plank
#

Isn't this what we want in the index.html?

foggy thunder
lone plank
#

Yeah, that's pretty odd

foggy thunder
#

It would be easier if I could chat directly to the development channel. How can I get the role?

lone plank
foggy thunder
#

joke

lone plank
foggy thunder
#

-# There are so many border disputes for some reason, so I guess making one would be pretty much impossible… wtf jp...

foggy thunder
#

@stable prawn
#🔧┃development message
Understood, I will make it with ts.

stable prawn
#

Idk if it will works but try it

foggy thunder
#

well...

#

It seems quite difficult.
I will do my best though.

stable prawn
#

oh

#

ya

#

typescript XD

lone plank
#

For me it's working perfectly with typescript

#

const langSelector = document.getElementById("lang-selector") as HTMLInputElement | null;
if (langSelector) {
langSelector.value = userLang;
}

document
.getElementById("lang-selector")
.addEventListener("change", function (event) {
const target = event.target as HTMLSelectElement;
changeLanguage(target.value);
});

stable prawn
#

yeah weird

lone plank
#

<script src="lang.ts"></script> - index.html

stable prawn
#

I don't see anything that could cause an issue

lone plank
#

@foggy thunder

foggy thunder
#

Oh thank you!

#

Can i get the ts file?

lone plank
#

When you make the change from lang.js to lang.ts, could you also add bulgarian so i can remove it from my PR? I think that's the best way to make sure nothing breaks between PR's. Mine will only add bg.json and the line of code for bulgarian into index.html.

foggy thunder
#

It doesn’t seem to work on my environment… I wonder why.

lone plank
foggy thunder
#

I pasted it into ChatGPT, and it said that the latest version of lang.js(lang.ts) is using window. and that’s causing an error.

foggy thunder
#

idk, but the chatgpt fix gave me an error.

lone plank
foggy thunder
#

I hate this
Refused to execute script from 'http://localhost:9000/039c079….ts' because its MIME type ('video/mp2t') is not executable.

#

I tried many things but gave up. I think I will write directly in <script>.

lone plank
foggy thunder
#

ok

lone plank
#

Thanks very much!

foggy thunder
#

yes

#

it worked with "npm run dev"

#

I wish it will work in openfront.dev

foggy thunder
#

If the same issue happens again, I’ll deal with it then. But I don’t think it will happen.

lone plank
#

Ok, i updated my PR so it only adds bg.json

#

Now for it all to work, they would need to accept your latest PR and my PR. All should work without problems when on openfront.dev

lone plank
#

Bulgarian*

foggy thunder
#

()

#

mb

foggy thunder
#

How to Help with Translations

If you’d like to help translate the game into other languages, here’s how you can contribute:

Step 1: Fork the Repository

Go to the OpenFrontIO GitHub repo, and click “Fork” to create your own copy.
-# or my fork repo

Step 2: Navigate to the Language Files

Translation files are located in:

/resources/lang/

Each file corresponds to a language, like en.json (English), ja.json (Japanese), fr.json (French), etc.

Step 3: Translate!

Open the language file you’d like to help with and translate the values on the right-hand side. For example:

"main": {
  "title": "OpenFront (ALPHA)",
  "join_discord": "Join the Discord!",
  "create_lobby": "Create Lobby"
}

Change the text values while keeping the keys the same.

Also, be sure to add your language to the <select> dropdown:

  <option value="en">English</option>
  <option value="bg">Български</option>
  <option value="ja">日本語</option>
  <option value="fr">Français</option>
</select>```

## Step 4: Test and Submit a Pull Request

After translating, push your changes to your forked repo and create a Pull Request to the original project.

> Before submitting your PR, please check that it works locally with your language by running:
> ```npm run dev```

Need Help?

If you’re unsure about a phrase or need help with GitHub, feel free to ask in the this channel on Discord!

**Please do not add a language you don’t understand and would need Google Translate to work with. In other words, only help add languages you can actually use.**
stable prawn
#

Thank you

#

Will do

foggy thunder
#

Acknowledgements

  • Bulgarian: Nikola123
  • Japanese: Aotumuri & daimyo_panda2
  • French: cldprv
#

The current PR hasn’t been merged yet, so for now, it’s probably safer to fork from my repo.

lone plank
#

Hello, i think it would be a lot easier for the translators if we use the popular translating platform "Crowdin". It is used to translate games like Minecraft into other languages and it's pretty easy to use. I created a Crowdin page for the game and uploaded the en.json file. It automatically gets the strings for the json file and is pretty easy to use. I configured it to be able to export the exact format of json files that the game needs to support a new language. Personally, i think it would be easier to do the translations instead of manually editing a txt file.

#

Do you think this is a good idea?

tough chasm
#

Shouldn't the drop-down list be in alphabetical order?

lone plank
#

I updated my PR with a bit more accurate Bulgarian translation

foggy thunder
#
    "iceland": "Iceland",

added this.

foggy thunder
foggy thunder
worn maple
lone plank
#

But i made you a proofreader so you can approve translations on all languages

heavy peak
#

Hello, would it be possible to correct the map names:
1 - MENA -> Moyen-Orient et Afrique du Nord / MOAN (especially for the joke of this acronym).
2 - Iceland -> Islande.
Iceland is misspelled in French in the dev version.
Thank you.

foggy thunder
lone plank
heavy peak
#

Thank 🙂

neon junco
#

I'm on the crowdin as VariableVince. Want to do some small fixes to the current Dutch translations on dev. Can i upload the JSON somehow or you @lone plank, since the current translations aren't on crowdinn yet?

lone plank
neon junco
lone plank
lone plank
foggy thunder
#

I am no longer wanted in this multilingualisation project. .w. ;w;

#

For now, the goal is to complete the translation of index.html.
Think about translations in the game once the development versions (alpha and beta) are finished.

lone plank
foggy thunder
#

Maybe some keys will be added to the json and I'll mention you when I add them. Please add them to crowndit then! @lone plank

foggy thunder
lone plank
#

Translation is a big project

foggy thunder
#

we can get a dedicated roll of translators! Just kidding.

neon junco
lone plank
#

So does "Radial menu"

neon junco
#

No that's there (help_modal.radial_title)

lone plank
lone plank
#

@foggy thunder when translating into japanese on the crowdin page, could you approve the translations(green checkmark) so that we can primerely use approved ones(you can also enable automatic approval when translating)

#

@tough chasm I made you a proofreader for french

tough chasm
#

I could also for Dutch, if needed

lone plank
#

Did you do the original dutch translations?

tough chasm
lone plank
#

Ok, i'll also add you for dutch then 😄

#

Btw, try to keep all punctoation like exclamation marks, commas and dots

#

Don't remove them from the translation

neon junco
neon junco
#

@lone plank @tough chasm Have set Dutch to auto-approve but am not proofreader (or whatever role is needed) so cannot approve them. Do you want to approve the Dutch translations or can i?

lone plank
#

Done

neon junco
#

Done approving Dutch. Maybe in future could add Dutch (BE) and Dutch (NL) or other localizations of the language as there are small differences or other words used. Also there are some English words incorporated into Dutch which may or may not be known to the reader (like 'leaderbord' or 'spawn'). Tried to find a balance and also preserving @tough chasm's original translations, who had already done most of the heavy lifting 🙂

meager basin
#

Added a 🇩🇪 translation in crowdin. 🙂

#

Never heard of it before, very nice to work with!

subtle rock
#

yo hello

#

i want to add Georgian translation 🇬🇪

tough chasm
tough chasm
#

(That's my opinion)

lone plank
subtle rock
neon junco
lone plank
#

I added a new Pangaea string

lone plank
#

Also added a string for the enemy info panel

lone plank
#

I made a PR to update the Bulgarian and Dutch translations.

#

The two new strings with keys "help_modal.info_enemy_panel" and "map.pangaea" don't seem to be working. The translation for "Radial menu" also exists but it doesn't work for some reason. But it doesn't hurt to add them to the json file for when they work 🙂

foggy thunder
#

fixed radial menu

#

and radial title was fixed : )

lone plank
foggy thunder
#

I changed bg en fr ja and nl

lone plank
foggy thunder
#

There will also be more translation keys around tomorrow or the next day or two.

lone plank
#

Done, all changes have been made to crowdin!

#

Evan already merged my PR

foggy thunder
lone plank
#

If you want you can change them, we'll add the new structure in the next PRs

foggy thunder
#

I have to create an empty commit because there are no changes.

lone plank
#

Wait, no, the NL translations are changed

foggy thunder
#

Where?

lone plank
#

Another person helped make the NL translations better in Crowdin

foggy thunder
#

Um. Is it a bug in VScode that we can't detect the change on our side?

lone plank
#

Evan accepted my PR before you updated the fork

#

Then the content is the same

foggy thunder
#

Ah, I saw the latest commit uniformly and fixed it, so it's not a problem.

#

I guess the translator should commit to something dedicated to eliminate confusion...

#

Like saving it in someone's PR, adding to it, and then merging it into openfrontio when it accumulates.

foggy thunder
#

Translated news.

News for @lone plank , who is not the system creator but the owner of the translation site.
It would be easier if I could directly edit the translation JSON myself — mainly to add new keys when they’re added to the code.
I will inform you the key to use for translation.

Git commit link: https://github.com/Aotumuri/OpenFrontIO_/commit/c1a1ae58db9a2a98e47a598796e3249c78133be3

Added key

  • "game_starting_modal"
  • "title"
  • "desc"

Deleted keys

  • Nothing

Merged keys

  • Nothing

My comments

I'll make some small changes in places that don't seem to change much.
It's not that hard to create a translation.
Embedding the keys into the code is hard, though.

Basically, my translation PR (mls) is left open. Probably.

Japanese and English are supported, so please help us with other languages.

🎉 This translation project called MLS is open to everyone! Mention me if you need help!

⚠️ If you have translated other languages, please PR to Aotumuri/openfrontio mls. If your PR is merged with the previous version of the translation key addition, it may cause errors.⚠️

Acknowledgements

  • Bulgarian🇧🇬: Nikola123
  • Japanese🇯🇵: Aotumuri & daimyo_panda2
  • French🇫🇷: cldprv
  • Dutch🇩🇪 : cldprv, tryout33
  • Russian🇷🇺: Rulfam
    If you’ve helped with translations and would like to be added here, feel free to mention me!
lone plank
foggy thunder
lone plank
#

I added the new keys

foggy thunder
lone plank
foggy thunder
#

🌐 Help Translate OpenFront! 🌍

OpenFront now supports multilingual translations through the MLS (Multi-Language Support) project on GitHub.

We're looking for contributors to help translate the game into more languages!
If you speak a language that isn’t fully translated yet — your help is welcome.
Even small contributions (just a few words!) can make a big difference.

📚 Currently supported: English🇺🇸🇬🇧, Japanese🇯🇵, French🇫🇷, Dutch🇩🇪, Bulgarian🇧🇬
More are in progress — maybe yours could be next?

🔗 GitHub Repo: https://github.com/Aotumuri/OpenFrontIO_/tree/mls
💬 Questions? Ask here: https://discord.com/channels/1284581928254701718/1352553113612980224

*Let’s make OpenFront accessible to players around the world 🌏 *
-# ※ This is a community-run, unofficial project.
(This ad follows all server rules and is OpenFront-related.)

GitHub

Online browser-based RTS game. Contribute to Aotumuri/OpenFrontIO_ development by creating an account on GitHub.

lone plank
#

For now, is it more ideal to run the translations through Crowdin or directly edit the json?

#

From now, I'll merge the next PRs into the MLS project, instead of merging directly into the main github. I think this'll remove the potential confusion between PRs.

foggy thunder
#

⚠️ Warning

When running npm run dev
delete all files in static/lang.
The cache will leave old json files and cause bugs.

foggy thunder
foggy thunder
foggy thunder
#

Translated news.

News for @lone plank , who is not the system creator but the owner of the translation site.
It would be easier if I could directly edit the translation JSON myself — mainly to add new keys when they’re added to the code.
I will inform you the key to use for translation.

Git commit link: https://github.com/openfrontio/OpenFrontIO/pull/346/commits/f8dcfee81302e9f496b635c2b5f95a412672bfb3

Added key

  • lang
  • en
  • native
  • svg (For flags.)

Added new json file!

index.json (A file that is just a collection of file names.)

Deleted keys

  • Nothing

Merged keys

  • Nothing

My comments

The current language selection button is terrible, so this is a change to make it better.
Please add it to the other languages~!

🎉 This translation project called MLS is open to everyone! Mention me if you need help!

⚠️ If you have translated other languages, please PR to Aotumuri/openfrontio mls. If your PR is merged with the previous version of the translation key addition, it may cause errors.⚠️

lone plank
foggy thunder
lone plank
foggy thunder
#

.w.

foggy thunder
#

I am doing everything wrong. I'm starting to feel like I'm getting other languages wrong too.

lone plank
foggy thunder
#

I have created a debug mode.
You can select debug mode by pressing the language selection button while pressing the D key.
Now check the json key.

lone plank
#

I was just going to write, could you give me permissions to commit to MLS, as the codespace says that i cannon push them?

foggy thunder
#

are you Duwibi?

#

in git hub

lone plank
#

Yes

foggy thunder
lone plank
#

I updated the Bulgarian translation

#

Ok, there are 5 new strings ready for translation in Crowdin

#

Updated Acknowledgements
Bulgarian🇧🇬: Nikola123 & NewHappyRabbit
Japanese🇯🇵: Aotumuri & daimyo_panda2
French🇫🇷: cldprv
Dutch🇳🇱 : cldprv & tryout33

meager basin
#

I've recently added the 🇩🇪 translation in crowdin, someone from #🔧┃development (I can't post there) has now added one in Github.
Just for your info.

Do people who change something in crowdin have to do anything except that (export, create a branch, ...)?

lone plank
lone plank
#

I don't know, what should we do about the german translation? There's one translation ready on crowdin and one from a different person already on github. I think it would be better for it to be on crowdin so we can quickly and without problems add new strings. I could transfer the new translation onto crowdin but please tell me what you think about this 😄

meager basin
#

Feel free to overwrite mine on crowding. Then people can look into improvements there. blobSalute

lone plank
#

We'll see. For now I'll let it be as it is

neon junco
#

@lone plank Have made some final corrections for Dutch on crowdin and added translations for the new strings. Could you merge it in MLS again?

#

@foggy thunder @lone plank Noticed de.json (de / Deutsch / German, not to be confused with nl / Nederlands / Dutch hehe) on MLS doesn't contain the new lang keys yet. And isn't added to index.json yet. Possibly because of the above conflict between the two versions on MLS and crowdin but just pointing it out

lone plank
#

@lofty abyss Thank you very much for the russian translations!

lone plank
#

We also have a Crowdin german file, which we haven't used as there already is a german translation

foggy thunder
#

@lone plank @worn maple @tough chasm @neon junco

Please put your Discord username so you can be contacted if a bug or regression is found:

Please give us permission to put your name on the PR.

lofty abyss
foggy thunder
#

Acknowledgements

  • Bulgarian🇧🇬: Nikola123 NewHappyRabbit
  • Japanese🇯🇵: Aotumuri & daimyo_panda2
  • French🇫🇷: cldprv
  • Dutch🇳🇱 : cldprv, tryout33
  • Russian🇷🇺: Rulfam
foggy thunder
lone plank
lone plank
lone plank
foggy thunder
lofty abyss
foggy thunder
#

Sadly I am only responsible for creating the system. Please ask him for authorization.

foggy thunder
#

.w.
I called the translation project MLS — does anyone have an issue with that?

foggy thunder
#

Hmmm. I've recruited translators from other servers, but only Japanese get a large number. Is it because I am Japanese?

tough chasm
foggy thunder
#

As a change of subject, I will write a statement about tomorrow or so outlining how to participate so that anyone can join.

#

Including the use of crowdinn.

tough chasm
foggy thunder
#

At least I should know how to use that thing. It's hard.

tough chasm
#

They don't speak Dutch in Deutschland. They speak Dutch in North Belgium and the netherlands

tough chasm
foggy thunder
#

I fixed
Acknowledgements

  • Bulgarian🇧🇬: Nikola123 NewHappyRabbit
  • Japanese🇯🇵: Aotumuri & daimyo_panda2
  • French🇫🇷: cldprv
  • Dutch🇳🇱 : cldprv, tryout33
  • Russian🇷🇺: Rulfam
#

-# Funny, I studied German before but I don't seem to remember any of it.
-# I started the translation project out of respect for each country.

#

I often make these types of mistakes, so please point them out when you find them.
thank you....

lone plank
#

@tough chasm Could you translate French on Crowdin? (If you want i could transfer the old strings myself but there are a couple of new ones that are ready for translation)

warped elk
tough chasm
#

I will see when

lone plank
tough chasm
lone plank
tough chasm
#

I hope so

tough chasm
lone plank
#

Ok, i uploaded the old file. Could you please check if everything is alright?

lone plank
#

@foggy thunder I'm trying to run "npm run dev" when on the MLS-PACK but it's giving me an error

foggy thunder
#

same

#

dev
cross-env GAME_ENV=dev concurrently "npm run start:client" "npm run start:server-dev"

sh: cross-env: command not found

#

um

lone plank
#

for me it says something for the index.html in static

foggy thunder
#

I'd love to go over the details, but I'm already sleepy.
I will try to fix it tomorrow morning, as I am likely to create a new bug even if I do it now. Sorry.

foggy thunder
tough chasm
lone plank
lone plank
tough chasm
#

yeah

tough chasm
#

I think that will work

#

Cause I had the same problem first time.

#

Did you also run npm install?

lone plank
#

It's a bug in the code

tough chasm
#

Then try run-script

lone plank
#

Same error

#

I'll just add the two new languages

#

And update Dutch

foggy thunder
#

I just found out that some files in the mls-pack may be corrupted. I will fix it tomorrow.

lone plank
#

@lofty abyss I added the Russian and Ukrainian translations to the latest version of MLS

#

Acknowledgements

  • Bulgarian🇧🇬: Nikola123 & NewHappyRabbit
  • Japanese🇯🇵: Aotumuri & daimyo_panda2
  • French🇫🇷: cldprv
  • Dutch🇳🇱 : cldprv, tryout33
  • Russian🇷🇺: Rulfam
  • Ukrainian🇺🇦: Rulfam
lofty abyss
lone plank
#

I don't think it's that big of a change in translation but personally in Bulgarian i didn't translate it as "Гибрелтар"

lofty abyss
#

I know, "Gateway to the Atlantic" just isn't an expression that is used widely (or, not in the sources I could find it in), so I substituted it with a more familiar term.

lone plank
void cliff
#

hello

void cliff
#

I'll send the link here, maybe it'll help

#

about 8

#

we have:
Korean, Finnish, Portuguese, Spanish, German, French and Polish

lone plank
#

We haven't yet began translating the game itself, only the main menu as the game itself is rapidly changing

void cliff
#

Yeah, the fast changes are somewhat of a problem, this is not so old, last update was day 05/03 if I remember

#

But, 3 weeks ago is a lot compared to the fast changes of OpenFront

lone plank
void cliff
#

You have Crowdin premium?

lone plank
void cliff
#

Nice, you went further than I did, did you talk to Evan?

lone plank
#

You can also find the older translations we did on the openfront.dev website

void cliff
#

It's important to talk with him, there were at least 3 translation projects that tried and failed

#

Most of which, were from no devs, so nothing IN the github, that's probably why he didn't want, you know

lone plank
#

Well, this one is already on github 🙂

#

All of the code is done by @foggy thunder

#

I'm only helping with maintaining the translations

void cliff
void cliff
lone plank
void cliff
lone plank
void cliff
#

About the old sheet, some of the people that helped translate aren't as active in the server anymore, do you want me to just copy and paste the translations into Crowdin?

lone plank
#

(Spanish already has a translation, just not on Crowdin)

void cliff
#

People could pick it up where it was left, that would be faster. Maybe fix the sheets so some people can look it up? No wanting to throw their work away

lone plank
void cliff
#

Hey Nikola, could you change Portuguese to Brazilian Portuguese? Even Portugal speaks pt-BR

lone plank
#

Btw you can look at the website for context of the strings

void cliff
#

Who is going to review the translations?

lone plank
lone plank
void cliff
#

Is it possible to rename them :)

lone plank
void cliff
#

:( Okay

#

Is it possible to copy a language?

lone plank
#

I can transfer the files but i think copy paste would be faster

void cliff
#

okay

lone plank
#

I made you a proofreader for Brazilian Porteguese

lofty abyss
#

Localizing the game feels like a speedrun now

lone plank
# void cliff okay

Should i undo your 50 translations into Portuguese(if they're not accurate for the language)

void cliff
lone plank
void cliff
lone plank
lone plank
#

@shrewd echo Is it ok if i overwrite the current german translation on Crowdin with your translation(so the new strings can be translated when they're out)

shrewd echo
#

uhm yeah sure

#

you could compare the two and see which one is better

lone plank
shrewd echo
#

(for each translation)

shrewd echo
lone plank
#

If you could go and look at the translation in Crowdin, it would be really appreciated 🙂

shrewd echo
#

idk joe_shrug

#

i dont have an account and kinda dont wanna create one

lone plank
meager basin
shrewd echo
#

oh joe_shrug

lone plank
#

Personally, i think that the translation that's on Crowdin right now is better

#

Ok, i approved all of the strings on Crowdin and switched a couple with Pilkey's translation

meager basin
lone plank
meager basin
#

yeah, it makes sense, was my oversight RooDerp

lone plank
void cliff
#

I'll finish Portuguese tomorrow, and review it

foggy thunder
#

🌐 Help Translate OpenFront! 🌍

OpenFront now supports multilingual translations through the MLS (Multi-Language Support) project on GitHub.

We're looking for contributors to help translate the game into more languages!
If you speak a language that isn’t fully translated yet — your help is welcome.
Even small contributions (just a few words!) can make a big difference.

📚 Currently supported: English🇺🇸🇬🇧, Japanese🇯🇵, French🇫🇷, Dutch🇳🇱 , Bulgarian🇧🇬
More are in progress — maybe yours could be next?

🔗 GitHub Repo: https://github.com/Aotumuri/OpenFrontIO_/tree/mls
💬 Questions? Ask here: https://discord.com/channels/1284581928254701718/1352553113612980224

*Let’s make OpenFront accessible to players around the world 🌏 *
-# ※ This is a community-run, unofficial project.
(This ad follows all server rules and is OpenFront-related.)

GitHub

Online browser-based RTS game. Contribute to Aotumuri/OpenFrontIO_ development by creating an account on GitHub.

neon junco
topaz shell
#

I would do Korean or Russian but I'm too lazy

shrewd echo
#

That's a massive pr damn

foggy thunder
#

Translated news.

News for @lone plank , who is not the system creator but the owner of the translation site.
It would be easier if I could directly edit the translation JSON myself — mainly to add new keys when they’re added to the code.
I will inform you the key to use for translation.

Git commit link: look at owner's commit, team

Added key

  • host_modal
  • mode
  • mode

ffa
team

Deleted keys

  • Nothing

Merged keys

  • Nothing

My comments

TEAM MODE!!!!!!!!!!!

🎉 This translation project called MLS is open to everyone! Mention me if you need help!

⚠️ If you have translated other languages, please PR to Aotumuri/openfrontio mls. If your PR is merged with the previous version of the translation key addition, it may cause errors.⚠️

shrewd echo
#

Wait why can't I just merge into openfront->main tho CC_Cat_Calvo

lone plank
#

For it the contributors are jacks0n and Pilkey

lone plank
lone plank
#

I added the new strings to Crowdin

lone plank
#

I also updated the bg.json file on mls-pack

#

For some reason my updated bg.json file isn't passing the pettier check. Maybe because it's flagging almost the whole file deleted and uploaded again.(I don't know why this is but maybe it's because I'm uploading from my phone)

lofty abyss
foggy thunder
lone plank
#

I updated Russian and Ukrainian

foggy thunder
#

At this point, the MLS-PACK is closed to merge main.
Rest assured that the new commits will be merged into the next version of MLS-PACK.

lone plank
#

The ones that are in the game and haven't been 100% translated are: German, French, Dutch and Spanish

foggy thunder
#

I'll make it in the next version so that if something is in the game and hasn't been translated, there will be a warning...
.w.
Maybe.

#

If I have enough time to make it, I'll do it

lone plank
#

There already is some Spanish in the game. Another guy has translated about 50% on Crowdin. The translations are simular so i don't think it would be as bad to overwrite them

foggy thunder
# lone plank There already is some Spanish in the game. Another guy has translated about 50% ...

I think we’ll continue to need translations going forward.
However, this space feels too small for doing translation work efficiently.

Someone suggested that we set up a Discord server where we can:

  • Quickly check new translation keys
  • See how to participate in various languages
  • .w. <- This is a face, but isn't it cute?

What do you think about that?

I’m fine either way, but if it makes things easier, I think it’s a good idea.

lone plank
foggy thunder
#

Yeah, I think I’ll ask the staff and see what they say.

lofty abyss
#

why not just ask for a separate category?

lone plank
rustic marsh
meager basin
rustic marsh
#

great, thanks

foggy thunder
foggy thunder
foggy thunder
#

NEW UI !

#

I think this is very good!

#

Added sort!

foggy thunder
#

MLS-PACK v1 patch notes!
This PR refactors and improves the language selection experience:
• Centralizes all language-related logic in LangSelector.ts & LanguageModal.ts
• Redesigns the language selection UI for better UX across devices
• Adds new translations and supports more languages
Changes .w.
• Language selection is now handled entirely inside LangSelector.ts & LanguageModal.ts
• Prevents background scrolling when open
• Highlights the current language at the top
• Always shows English second
• Shows browser language third (if different from current)
• All other languages are sorted alphabetically by English name
• Debug option is shown at the end when pressing D
• The language list is scrollable when it exceeds screen height

Supported Languages
["en", "ja", "fr", "bg", "nl", "ru", "ua", "de"]

Added Translation Keys

"lang": {
  "en": "English",
  "native": "English",
  "svg": "xx"
},
"map": {
  "map": "Map"
},
"game_starting_modal": {
  "title": "Game is Starting...",
  "desc": "Preparing for the lobby to start. Please wait."
},
"difficulty": {
  "difficulty": "Difficulty"
}
foggy thunder
#

🌐 Help Translate OpenFront! 🌍

OpenFront now supports multilingual translations through the MLS (Multi-Language Support) project on GitHub.

We're looking for contributors to help translate the game into more languages!
If you speak a language that isn’t fully translated yet — your help is welcome.
Even small contributions (just a few words!) can make a big difference.

📚 Currently supported: English 🇺🇸🇬🇧, Japanese 🇯🇵, French 🇫🇷, Dutch 🇳🇱, Bulgarian 🇧🇬, Russian 🇷🇺, Ukrainian 🇺🇦, German 🇩🇪

More are in progress — maybe yours could be next?

🔗 GitHub Repo: https://github.com/Aotumuri/OpenFrontIO_/tree/mls
💬 Questions? Ask here: https://discord.com/channels/1284581928254701718/1352553113612980224

*Let’s make OpenFront accessible to players around the world 🌏 *
-# ※ This is a community-run, unofficial project.
(This ad follows all server rules and is OpenFront-related.)

neon junco
# lone plank The ones that are in the game and haven't been 100% translated are: German, Fren...

The new keys were translated to German by @shrewd echo / PilkeySEK (I think that's you at least) here: https://github.com/openfrontio/OpenFrontIO/pull/364/files

GitHub

Please complete the following:

I have added screenshots for all UI updates
I confirm I have thoroughly tested these changes and take full responsibility for any bugs introduced
I understand tha...

neon junco
#

Added the Dutch ones on crowdin and one other change

meager basin
#

Info: saw that Evan opened a PR that changes how the languages are loaded.

lone plank
foggy thunder
foggy thunder
wet terrace
lone plank
lone plank
wet terrace
#

Yeah, I just saw that too, nice 🙂

#

I may contribute as well when I have time

void cliff
foggy thunder
#

MLS-PACK has still not been merged. ;w;

pine sage
#

@foggy thunder filled polish to 100% on crowdin

foggy thunder
#

nice

lone plank
#

@void cliff You're also a proofreader for Brazilian Portuguese

foggy thunder
foggy thunder
warped elk
#

About 50% done it says

lone plank
#

Thank you for the contribution! There already is an existing spanish translation that isn't done using Crowdin. I'll send the file for the existing translation so you can help yourself with the already done translations(you can copy them if you think they're more accurate) 😄

foggy thunder
#

NEW KEY

lang{
"lang_code": "en" <- new!
}

shrewd echo
#

huh?

neon junco
neon junco
foggy thunder
shrewd echo
#

Every day I work on the code I'm realising that we need so many more translations joe_whatt

foggy thunder
shrewd echo
lone plank
#

I added the new key

foggy thunder
#

bg,
de,
en,
es,
fr,
ja,
nl,
pl,
ru,
uk,

lone plank
shrewd echo
#

nah wth is that skulll

lone plank
#

When MLS is ready, probably tell Evan in development so it gets merged before the whole update gets pushed to the main site.

lone plank
#

There are two new map strings that need translation @foggy thunder

#

I added the two new strings to Crowdin: map.japan and map.twoseas

lone plank
#

I added a new string for the new "Known World" map

neon junco
lone plank
#

I imported the existing translations for Japanese and Spanish onto Crowdin

lone plank
#

@tough chasm Could you translate the remaining strings in French on Crowdin(and look at the translated ones and approve them)? (If you have spare time)

tough chasm
lone plank
foggy thunder
lone plank
#

When Polish and French get their newest translations done, I'll make a PR to update the jsons

lone plank
tardy bear
lone plank
tardy bear
#

"Darmowe dla wszystkich" literally means free of charge for everyone

#

Interesting

lone plank
lone plank
tardy bear
lone plank
lone plank
tardy bear
#

Yeah

lone plank
#

That would actually be a good translation also in bulgarian - "всеки срещу всеки"

tardy bear
#

Sounds good aswell

lone plank
tardy bear
#

Cheers

lone plank
tardy bear
neon junco
# tardy bear Każdy przeciwko każdemu

That's what i used in Dutch as well 'Iedereen tegen iedereen' / Everyone against everyone. It's the best non-direct translation imo. Did add '(FFA)' for anyone already familiar with the term Free for all and confused by a new term

#

Last night, outside of crowdin, an Esperanto translation was added. And English text for Instructions was changed. And Spanish got some changes

#

#🔗︱github message

#

#🔗︱github message

#

#🔗︱github message

lone plank
#

Yeah, ik, the esperanto translation isn't something that can be used at the moment but it doesn't hurt to leave it in the files. I'll update the English text on Crowdin right now but I'll delete the existing translations for these keys

neon junco
#

Can you see the history of changes? Not all of the EN source text was changed. So part of the existing translations might be handy to use again

#

Also like someone suggested before. Maybe a separate channel #translations in category Development is needed for better visibility? What would @rain robin think of that?

lone plank
pine sage
neon junco
lone plank
pine sage
#

i see that not everything is added to polish in dev yea?

neon junco
lone plank
lone plank
#

Ok, I updated the strings

#

Please translate them when you have time

neon junco
lone plank
#

I also added the "Open emote menu" string

neon junco
#

Hm.. "You can control Warships by attack-clicking on them and then attack-clicking the new area you want them to move to." How to translate attack-clicking. And why? A single left mouse click is enough. Attack-click could be a double-click, which doesn't work. Or a shift+left click which does work but why if one click is enough.

#

For now i'll just keep it as 'a click'

lone plank
#

I have an idea for the translations channel - I think the best option would be to have a hidden channel in development and the people who have the translator role have access to it. The second option would be to make a different server but I think the first one is more ideal

neon junco
#

Agree on the first one!

neon junco
# neon junco Hm.. "You can control Warships by attack-clicking on them and then attack-clicki...

Oh wait it's about Left click being set to Attack or being set to Opens menu. If it opens menu, then you need to Shift+left click to attack or move the warship. So i'll just put that in the Dutch translation like "You can control Warships by clicking (or shift+click if left-click is set to open menu) on them and then clicking the new area you want them to move to.". Seems clearer than "attack-click"

#

Noticed something else. Keys in Instructions aren't translated. Space+left click is shown in every language, for example. We need translatable keys for those too or not?

lone plank
#

I think not, as it isn't really very easy to translate those(it will become a mess)

lofty abyss
#

It's not hard, it's just that people know the English names of keys anyway, so there isn't much point.

neon junco
#

Yeah that's the case with many English terms anyway. Why a need for translation then. It's about the level of English language competence and keeping it as simple as possible imho (also for younger kids or those who simply don't know English well)

lofty abyss
#

We could add translations for mouse buttons and the space bar and mix them using string concatenation, but a more approachable solution would be adding pictograms for keys, like [ _ ] for Space, (#| ) for LMB, etc.

lone plank
lofty abyss
#

Then it is better to use pictograms

lone plank
neon junco
lofty abyss
#

It is how big companies explain controls in games anyway

neon junco
#

True. Or just the word with the symbol behind them in these Instructions, and only the symbol elsewhere.

lone plank
#

Btw I'm making the pngs rn

lofty abyss
#

I have added the new translations and revised some other ones. The strings are left unapproved on purpose, so you can see what exactly has changed.

lone plank
#

@glad socket I've added Esperanto to the Crowding page of the project, could I transfer your done translations so they can continue being translated? Thank you very much for your contributions! 😄

foggy thunder
lone plank
# glad socket Yes ofc

Ok, I imported it. Please ping me with your Crowdin username so I can make you a proofreader for the language if you join the project 😄

#

Nvm, I found you

#

Alright, I made you a proofreader

glad socket
foggy thunder
#

I updated the language modal to match the style of the other modals.
@lone plank @neon junco

#

A flashy rainbow-colored debug button

lone plank
#

New key available for translation on Crowdin

foggy thunder
#

new key is here!
select_lang.title!

#

There are a lot of PR lmao

lone plank
# glad socket Great thanks

I'll make a PR to update the language when all strings are approved and ready. Thanks once again for your help!

#

I also made you a proofreader for french if you want to help approve the strings there.

foggy thunder
glad socket
glad socket
#

Esperanto 100%. Can't wait to see it in-game

tardy bear
lone plank
glad socket
lone plank
glad socket
#

I stated on Duolingo (I have a nearly 3 years streak), and I try practicing it online. I bought a french-esperanto dictionnary which helps me a lot

#

At the beginning I learned it just as a fun thing to do but now it's more a political stance

#

I'm tired of the english defaultism in international relations

lone plank
#

What do you use it for(aside from translating country attack web game)?

glad socket
#

I contribute to the esperanto wikipedia

#

And I tried to create a news account in esperanto

#

But I don't really have time fot that

#

So it's just a side thing

#

I saw that the game could be translated so i've done it but my life doesn't revolve around the langage

lone plank
#

In my opinion, it's more useful to learn a language that is actually used and you can talk to people using it(I also tried learning toki pona which is even more useless as it has a couple thousand speakers)

lofty abyss
#

I demand justice for Esperanto, its grammatical rules make much more sense than the English do

lofty abyss
lone plank
#

My expectations were also not high but I think it's pretty cool to be able to speak it

glad socket
lone plank
glad socket
glad socket
#

We could try to make a tokipona translation of OpenFront, it would be fun (a bit exausting nevertheless) 😆

lone plank
#

I know not a lot but enough German and I want to learn Russian because it's very very used(that wouldn't be very hard in my opinion as I already know a slavic language on a native level)

lone plank
lofty abyss
lone plank
#

I think it's because it's a language that's pretty far from Bulgarian in terms of dictionary

lofty abyss
#

It just boils down to the spelling

lone plank
glad socket
#

Polish is a nightmare to me when I want to learn about polish cinema, where are the vowels ?

lofty abyss
#

As a Ukrainian, it becomes very easy to comprehend it once you learn the grammar

foggy thunder
#

@lone plank

lone plank
foggy thunder
#

@hearty lance

hearty lance
#

I don't understand what "when left click is set to open menu" means in English

lone plank
hearty lance
#

There's so much more than I thought! 😄

hearty lance
#

Done. Just need to double check for spelling and consistency errors, but that'll have to wait until after I sleep.

#

Is there a way to mass save the translations or do I really have to go 1 by 1?

neon junco
#

You can select all (check all checkboxes at once) and then Save

lone plank
hearty lance
#

Tis done

lone plank
#

Hello, Tofi_133 recently translated 100% of Portuguese. Does anyone have any idea what his user is on discord and if he's in the server?

hearty lance
#

I don't want thanks. Give me my money!

hearty lance
#

I'm rich bitch!

lone plank
pure sand
#

ill take the money 💀

neon junco
#

@lone plank someone offered to translate to Italian. @regal spear i think it was

regal spear
#

Yes, let me know what I have to do

lone plank
# regal spear Yes, let me know what I have to do

If you want to help translate Italian you just need to go to https://crowdin.com/project/openfrontio , make an account on Crowdin if you don't have one, pick Italian and translate the strings. If you want I can also give you the proofreader role for Italian to be able to approve the translated strings. Please note: Any contributions are voluntarily made.

hearty lance
foggy thunder
#

I’ve left MLS unattended for too long.
Once I’m done with the custom flag creation, I’ll come back to it.

tired trench
#

Heya @lone plank, could I get proofreader for reviewing the strings on pt-br? Have plenty of experience, I proofread for cataclysm, 0AD, darkwood and kenshi. Can send proof of work if needed

lone plank
regal spear
regal spear
#

what about this free for all? what game mode is?

foggy thunder
#

On the first line, write the English name of your language.
On the second line, write the name of your language in your own language.

foggy thunder
#

It refers to the normal mode of the actual game (not the team mode).
Please write the equivalent term in your language. .w.

foggy thunder
regal spear
foggy thunder
#

Thank you!

foggy thunder
regal spear
#

perfect! keep me updated

glad socket
#

I may have made a mistake when adding esperanto on github last week

#

Do crowdin automatically updates github ?

lone plank
#

I'll upload all translations to the MLS pack when I have some time

glad socket
#

Ok be aware that crowdin is the most up-to-date, I corrected mistakes when I rechecked everything

lone plank
void cliff
#

I'm back, how is the project going?

lone plank
void cliff
lone plank
#

But I think it should be better to keep the strings basic(most of the people that are translating have played the game)

lone plank
#

I was just looking at the latest PR that says it adds Arabic and Swedish. I decided to check the translations just to see if all was accurate. I think it would be cleaner if all translation runs through Crowdin and it would assure that there aren't any mistakes. Anyways, no need for the Arabic and Swedish translations to have "Free Palestine" and "Moha and Nour were here".

lone plank
#

@subtle parrot @clever willow

void cliff
#

Is there a big difference between:
Rate and Ratio
Terrain and Land

lone plank
void cliff
#

🇧🇷joe_happy

#

Brazilian Portuguese - 100%

subtle parrot
#

done

#

and we tested it

#

and made sure that the Arabic fonts looks like it should

lone plank
# subtle parrot done

Hello, I looked over the translations once again and can confirm that the Swedish is well translated(at least there aren't any unwanted translations in there). However, in the arabic translation the "Long live free Palestine" part is still left untouched. If it was unintentional, please translate the string like it should be. @subtle parrot @clever willow

subtle parrot
#

one moment

lone plank
# subtle parrot Ah must have missed it

And btw, the title should not be translated in any language except English 🙂 . Can I upload your translations onto Crowdin for easier updating of the langauges in the future?(and easier integration) Thank you very much for your help!

torpid ruin
subtle parrot
torpid ruin
#

i can help in arabic guys if u need help

torpid ruin
lone plank
subtle parrot
subtle parrot
tiny minnow
#

Hello! My name is Meow. I’m not very good at English, so I’m using a translator — please forgive me.

I’ve been helping with the development of the code behind the scenes for MLS, mainly doing debugging and similar tasks.
Since I heard that Aotumuri won’t be able to participate in MLS for a while, I’d like to help set up the translation-related side of things during that time.

This is a suggestion regarding the translator role on this server, as mentioned by Nikola123.
I think it would be good to have two types of translator roles.

For example, give a Translator role to Aotumuri and Nikola123, with permission to mention others when a translation key changes.
That way, they can easily notify other translators of updates.
Other translators could have a different role, such as Proofreader or Translation Contributor.

I hope this all makes sense!
Thank you!
@lone plank
@foggy thunder

shrewd echo
#

The problem is that it's not possible to make people be able to mention certain roles, its either

  • everyone can mention the role
  • noone can (unless they have @.everyone perms)
#

I say you guys should make a MLS discord server where you can organize better

winter gulch
#

I can help translate the game into Persian

foggy thunder
lone plank
shrewd echo
#

prooobably yeah

lone plank
lone plank
shrewd echo
#

joe_shrug transfer ownership feature exists

lone plank
shrewd echo
#

i say you can make it right now, im sure aotumuri is fine with it @foggy thunder

void cliff
#

meow meow meows?

lone plank
#

We can ping the people with the translator role here when new strings are added or old ones updated

lone plank
#

All proofreaders, please join the server

foggy thunder
#

This server is for sharing updates about new keys and information related to MLS!

#

.w.

tough chasm
#

Was I pinged?

lone plank
#

For the new server

lone plank
foggy thunder
#

.w.

#

I'll do mls today

lone plank
foggy thunder
#

oh

lone plank
#

It's almost done, just finishing up a flag

foggy thunder
#

Ah, I forgot. We can’t change the MLS specs right now. One of the currently submitted PRs would conflict with it, so we have to wait a bit longer..

#

:/

lone plank
lone plank
neon junco
foggy thunder
#

.w.
i like bugs!
...
:/

hearty lance
#

Have you taken away my ability to save all and approve the translations?

foggy thunder
hearty lance
#

I don't want to

#

I don't need more server clutter

foggy thunder
#

Or plz tell me your name

#

in the site

#

I'll give you permission

hearty lance
#

Vekser

foggy thunder
hearty lance
#

I'm doing the serbo-croatian

foggy thunder
#

ok

hearty lance
#

Was it there the whole time and I was just halucinating?

hearty lance
#

Doesn't matter. It works now

#

gg

foggy thunder
#

Maybe you were looking at an old project?

hearty lance
#

Nah

#

I think I was just tripping

#

Haven't slept

stable prawn
regal spear
stable prawn
#

Quanto tempo che non vedo un italiano qua

regal spear
#

Ho anche lavorato alla mappa Italiana

stable prawn
#

Io non sono un it proprio

#

La mia mama è it

#

Io sono canadese

#

Sono in alto adige da 1 anno

regal spear
stable prawn
#

Grazie

foggy thunder
foggy thunder
#

.w.

foggy thunder
#

bump

tiny minnow
#

bump~

neon junco
#

B

#

U

#

M

#

P

foggy thunder
#

Thanks!

glad socket
#

bump

neon junco
cold nest
#

sheesh almost 1k messages

foggy thunder
foggy thunder
#

@tiny minnow

tiny minnow
foggy thunder
#

?

#

is this good?

tiny minnow
#

Translator?

foggy thunder
#

yes

tiny minnow
#

bad icon

foggy thunder
#

;w;

#

Thank you for helping me 🍫

lone plank
#

Just testing

foggy thunder
#

.w. ?

#

?add-translator Nikola123

glad garnetBOT
#

dynoSuccess Added role Translator to turnovo

foggy thunder
#

ummmmmm

#

?remove-translator Nikola123

glad garnetBOT
#

dynoSuccess Removed role Translator from turnovo

lone plank
#

?add-translator Nikola123

foggy thunder
#

why...

#

hey can you do ?remove-translator Nikola123?

#

now

lone plank
#

?remove-translator Nikola123

glad garnetBOT
#

dynoSuccess Removed role Translator from turnovo

lone plank
#

?add-translator Nikola123

foggy thunder
#

whyyyyyyyy

foggy thunder
lone plank
#

?add-translator Nikola123

glad garnetBOT
#

dynoSuccess Added role Translator to turnovo

lone plank
#

Yesss

#

?add-OG Nikola123

#

Ok, it's fixed

#

very good

#

?add-translator NewHappyRabbit

glad garnetBOT
#

dynoSuccess Added role Translator to newhappyrabbit

lone plank
#

?add-translator tryout33

glad garnetBOT
#

dynoSuccess Added role Translator to tryout33

foggy thunder
#

If you’d like to test it, please use @tiny minnow .
I feel like I’ll get in trouble if we assign it to too many people at once, so thank you for your understanding.

lone plank
#

?add-translator meow02952

glad garnetBOT
#

dynoSuccess Added role Translator to meow02952

lone plank
foggy thunder
#

ok

lone plank
#

?add-translator jacks0n

glad garnetBOT
#

dynoSuccess Added role Translator to jacks0nx

lone plank
#

We'll assign it to the rest of the translators later

#

The remaining players we need to assign it to are: daimyo_panda2, gx21, 6uzm4n(he isn't in the discord tho), rinkydinkyampersand, toyatak

foggy thunder
#

About -2^31 people would not be a problem.

lone plank
#

?add-translator daimyo_panda2

glad garnetBOT
#

dynoSuccess Added role Translator to daimyo_panda2

lone plank
#

?add-translator gx21

glad garnetBOT
#

dynoSuccess Added role Translator to gx21

lone plank
#

?add-translator rinkydinkyampersand

glad garnetBOT
#

dynoSuccess Added role Translator to rinkydinkyampersand

lone plank
#

?add-translator toyatak

glad garnetBOT
#

dynoSuccess Added role Translator to toyatak

lone plank
#

This is all I think

foggy thunder
#

Thank you

foggy thunder
lone plank
#

Only person who has the role and hasn't gotten their language in the game yet is N0ur but that isn't a problem at all

lone plank
foggy thunder
#

oh

#

.w.

lone plank
#

@slow sparrow are you 6uzm4n on github?

#

?add-translator moldworm

glad garnetBOT
#

dynoSuccess Added role Translator to moldworm

slow sparrow
#

Yup that's me!

lone plank
neon junco
#

?remove-translator [NATO] meow

glad garnetBOT
#

dynoInfo No changes were made

neon junco
#

?add-translator [NATO] meow

glad garnetBOT
#

dynoSuccess Added role Translator to bread89888

neon junco
#

?remove-translator [NATO] meow

glad garnetBOT
#

dynoSuccess Removed role Translator from bread89888

neon junco
#

?remove-translator "[NATO] meow"

glad garnetBOT
#

dynoError I couldn't find that user

neon junco
#

?remove-translator meow02952

glad garnetBOT
#

dynoSuccess Removed role Translator from meow02952

neon junco
#

?add-translator meow02952

glad garnetBOT
#

dynoSuccess Added role Translator to meow02952

neon junco
#

That was my testing spree

shrewd echo
#

if you rlly dont wanna use a mention

#

although @silent should work

#

shush this is silent msg @neon junco did you get a ping?

lofty abyss
#

@lofty abyss

neon junco
#

@pilkey test

#

nice

neon junco
#

or do i not understand what you mean?

shrewd echo
#

idk

#

anyways

neon junco
#

@shrewd echo

shrewd echo
neon junco
#

ig the brackets or a space in the user name confuse Dyno

shrewd echo
#

i guess

#

maybe because there is no second person named Nikola123

#

doesnt really matter either way

#

why am i debating this

#

such a time waste ong fr

neon junco
#

details matter joe_salute41

lone plank
#

Just use username instead of display name

shrewd echo
#

Yep

neon junco
foggy thunder
#

bump!

tiny minnow
#

bump~

glad socket
#

bump

foggy thunder
#

@oblique arch
hi

#

is this you?

neon junco
foggy thunder
#

?add-translator @rapid meadow

glad garnetBOT
#

dynoSuccess Added role Translator to gafunuko

foggy thunder
#

🍫 !

rapid meadow
#

🍫 !

foggy thunder
#

bump~

tiny minnow
#

bump

neon junco
#

?add-translator erinthegirl

glad garnetBOT
#

dynoSuccess Added role Translator to erinthegirl

neon junco
#

?add-translator goblinon

glad garnetBOT
#

dynoSuccess Added role Translator to goblinon

neon junco
#

?add-translator xaelor

glad garnetBOT
#

dynoSuccess Added role Translator to xaeloricek

neon junco
#

?add-translator lollosean

glad garnetBOT
#

dynoSuccess Added role Translator to lollosean

neon junco
#

?add-translator .extraextra

glad garnetBOT
#

dynoSuccess Added role Translator to .extraextra

shrewd echo
lone plank
#

?add-translator N0ur

glad garnetBOT
#

dynoSuccess Removed role Translator from call_me_n0ur

lone plank
#

?add-translator Moha

glad garnetBOT
#

dynoSuccess Added role Translator to hemo0

shrewd echo
lone plank
#

?add-translator N0ur

glad garnetBOT
#

dynoSuccess Added role Translator to call_me_n0ur

neon junco
tiny minnow
#

bump

lone plank
neon junco
lone plank
#

?add-translator evilmossad

glad garnetBOT
#

dynoSuccess Added role Translator to evilmossad

foggy thunder
lone plank
#

?add-translator toldinsound

glad garnetBOT
#

dynoSuccess Added role Translator to toldinsound

lone plank
#

?add-translator tanepro193

glad garnetBOT
#

dynoSuccess Added role Translator to tanepro193

lone plank
#

?add-translator jinyoon

glad garnetBOT
#

dynoError I couldn't find that user

lone plank
#

?add-translator niclaswk

glad garnetBOT
#

dynoSuccess Added role Translator to niclaswk

lone plank
#

?add-translator yumika8269

glad garnetBOT
#

dynoSuccess Added role Translator to yumika8269

lone plank
lone plank
glad garnetBOT
#

dynoSuccess Added role Translator to cur.ie

lone plank
glad garnetBOT
#

dynoSuccess Added role Translator to ap.ms

lone plank
#

?add-translator MotivatedMonkey

glad garnetBOT
#

dynoSuccess Added role Translator to motivatedmonkey

lone plank
#

?add-translator syntax4711

glad garnetBOT
#

dynoSuccess Added role Translator to syntax4711

lone plank
#

?add-translator grassified

glad garnetBOT
#

dynoSuccess Added role Translator to grassified

lone plank
#

?add-translator perdiccasmkd

#

@shrewd echo I think dyno is broken

#

I got it to work in the international channel

shrewd echo
#

?ping

glad garnetBOT
#

Pong! 231ms

cold nest
#

?ping

glad garnetBOT
#

Pong! 477ms

lone plank
#

?add-translator nobodyiran

glad garnetBOT
#

dynoSuccess Added role Translator to nobodyiran

lone plank
#

?add-translator pantelispantelidis

glad garnetBOT
#

dynoError I couldn't find that user

lone plank
neon junco
lone plank
neon junco
neon junco
# lone plank Somewhere over in march

Think some days after you. Should i ask @shrewd echo if she can look up when i joined?

(and then post an invite to the translation server again to cover this up a bit 😅 )

lone plank
lone plank
#

?add-translator .tnb

glad garnetBOT
#

dynoSuccess Added role Translator to .tnb

lone plank
#

?add-translator Zjefken

glad garnetBOT
#

dynoSuccess Added role Translator to zjefken

foggy thunder
#

?add-translator aki__san__

glad garnetBOT
#

dynoSuccess Added role Translator to aki__san__

foggy thunder
#

?add-translator kaywb

glad garnetBOT
#

dynoSuccess Added role Translator to kaywb

lone plank
#

?add-translator tronsar.

glad garnetBOT
#

dynoSuccess Added role Translator to tronsar.

lone plank
#

?add-translator ramon.o

glad garnetBOT
#

dynoSuccess Added role Translator to ramon.o

foggy thunder
#

?add-translator originaloha_42073

glad garnetBOT
#

dynoSuccess Added role Translator to originaloha_42073

lone plank
#

?add-translator steephillmusic

glad garnetBOT
#

dynoSuccess Added role Translator to steephillmusic

lone plank
#

?add-translator jinyoon

glad garnetBOT
#

dynoSuccess Added role Translator to jinyoon

lone plank
#

?remove-translator steephillmusic

glad garnetBOT
#

dynoSuccess Removed role Translator from steephillmusic

lone plank
#

?add-translator steephillmusic

glad garnetBOT
#

dynoSuccess Added role Translator to steephillmusic

lone plank
#

?add-translator barbarian_matt

glad garnetBOT
#

dynoSuccess Added role Translator to barbarian_matt

lone plank
#

?add-translator eiwalis

glad garnetBOT
#

dynoSuccess Added role Translator to eiwalis