yellow-dog-man / locale Goto Github PK
View Code? Open in Web Editor NEWLocale files for Resonite
License: MIT License
Locale files for Resonite
License: MIT License
Making this issue since there is no existing issue for Icelandic.
Readme did say to make an issue for any new language. I assume this also applies to existing languages with no existing issue. Boss people me know if I did this in error.
Locale translation request for the Malay language! Any native and/or fluent speaker for this language can contribute.
Currently, the game uses Japanese fonts to display these languages, which makes some characters appear very strange.
Could change the font to
noto-sans-sc (for Simplified Chinese)
noto-sans-tc (for Traditional Chinese)
to resolve this issue?
Requesting Thai to be added to the language list
Skeleton file: #345
I am requesting for the hungarian [hu] language to be added as a translatable language! I'd be more than happy to help volunteering translating this game into Hungarian! ^^
While translating, I've come across these:
"ComponentSelector.CreateCustomType" : "Create Custom Type",
"ComponentSelector.CommonGenericTypes" : "Common Generic Types",
"ComponentSelector.CustomGenericArguments" : "Custom Generic Arguments:",
Looks like the component selector only uses the third one twice, and the first two are not used.
Could someone clarify where the first two lines are used and why the selector uses the same line twice?
Brazilian Portuguese!
"World.Actions.GuestWarning" is empty on /Locale/blob/main/en.json
on current commit (ef9db17).
Translation messages usually are not empty. Is that expected? Or is it a bug?
I noticed that the following keys are missing from en.json
(as well as all other locale json
files):
Inspector.Texture.AlphaGamma
Inspector.Texture.AddAlpha
Inspector.Texture.AdjustAlphaGamma
Labels:
Buttons:
(Note: the key for the "Add Alpha" label is the same for the associated button. Unsure if there should be two unique keys for the label and button)
I am going to go ahead an add those three missing keys to en.json
via a PR.
In which context is Contacts.Unblocked
used in?
Pressing that button will block/unblock the contact or does it simply state they are not blocked?
There are some settings related to lasers, namely Laser Modulation here:
Lines 1106 to 1109 in 1ead0b3
Could someone explain in some detail how these work (or just give a link if it is a known concept/formula)? We don't know how to properly translate these except literally word-for-word, which does not add any understanding to the topic.
I remembered already having translated some strings but there were new entries in en.json that did not have a corresponding translation. At least these keys have two entries:
Settings.DebugSettings.DebugResetAllSimpleSettings
Settings.LegacyFeatureSettings.ConvertLegacySettings
(for commit 04e1194)
In en.json on 449 line
"Account.AgeConfirm": "I am 13 years of age or older",
still has "i'm 13yo" confirmation text
The new setting UI has a new description panel, which contains descriptions of individual settings. I've written the initial descriptions in English here: 25d4e9b#diff-6f6ea5e5e2c2676af6d6cbd64866a01813f39bf2632e0f893970fd774a7d4334
However if you feel there is better way to describe these settings, feel free to reword them - both in English and whatever language you're using! The descriptions do not need to stick to whatever I wrote originally - I was more focused on the mechanical description.
I see that the individual files (per language) in the Missing directory are updated instead.
Formatting guide with examples (the C# version of the library currently doesn't implement all the formatters, but they will be added as needed): https://messageformat.github.io/messageformat/page-guide
This link in the Repository's readme leads to a 404. The correct link would appear to be https://messageformat.github.io/messageformat/ or https://messageformat.github.io/messageformat/guide/
With the new Settings UI update (as of Beta 2024.4.17.1420), the follow keys are missing:
I know what the Channel Name is used to see chat from your Twitch channel, and the other keys are self-explanatory, so I will create the PR and add those keys.
I am requesting a translator badge since I've been working on the French locale (https://github.com/Yellow-Dog-Man/Locale/blob/main/fr.json).
I also translated all the store pages: #418
Resonite userid is U-j4
I'm opening this issue here since this behaviour only happens with the French locale.
For some reason, when using the French locale, the percent symbol (%) on volume meters will not be displayed:
Tested with the last published locale from Beta 2024.1.30.731
and with the version of #187
Is there something I'm missing?
Seems the keys are correct as well.
English:
"Settings.Audio.Master": "Master Volume: {n,number,percent}",
French:
"Settings.Audio.Master": "Volume principal: {n,number,percent}",
I'm currently keep track on the zh-cn translation.I'd like to request for a translator badge for myself and my parther.
My resonite username:modimobeikete
Parther resonite username:WARCRAFT11
When you load an avatar, and notice a blend shape is being driven there is no way (that I know of) to see what is driving that specific blend shape.
Create an avatar, drive the blend using protoflux, and try to find what is driving it without a mod.
A couple of locale related issues I've noticed while testing the German locale:
Regarding the Dashboard:
Contacts.SearchPrompt
and Contacts.WriteMessage
)Dash.Exit.ThankYou
Regarding the official content:
CloudHome.FeaturedPanel.LinkText
For current moment (at commit e8c2eda) in en locale don't contains "Contacts.NoSession" translation key
I noticed that this was missing when user don't have open any worlds (only Userspace world)
Original en.json is missing the key Inventory.CreateDirectory.
Throws System.Globalization.CultureNotFoundException: Culture name zh-ch is not supported.
and replaces the key with ERROR!!! for what appears to be any key with a pluralizer from zh-ch/zh-cn and eo.
12:35:12 PM.308 (136 FPS) Exception formatting message Indicator.OnlineUsersDesktop, Locale Code: eo:
Arguments (1):
users = 78
System.Globalization.CultureNotFoundException: Culture name eo is not supported.
Parameter name: name
at System.Globalization.CultureInfo..ctor (System.String name, System.Boolean useUserOverride, System.Boolean read_only) [0x00073] in <9577ac7a62ef43179789031239ba8798>:0
at System.Globalization.CultureInfo..ctor (System.String name, System.Boolean useUserOverride) [0x00000] in <9577ac7a62ef43179789031239ba8798>:0
at System.Globalization.CultureInfo..ctor (System.String name) [0x00000] in <9577ac7a62ef43179789031239ba8798>:0
at Jeffijoe.MessageFormat.Formatting.Formatters.VariableFormatter.GetCultureInfo (System.String locale) [0x0000e] in <971ecbf758c9449ab5916f93216ec4d6>:0
at Jeffijoe.MessageFormat.Formatting.Formatters.VariableFormatter.Format (System.String locale, Jeffijoe.MessageFormat.Formatting.FormatterRequest request, System.Collections.Generic.IReadOnlyDictionary`2[TKey,TValue] args, System.Object value, Jeffijoe.MessageFormat.IMessageFormatter messageFormatter) [0x0000b] in <971ecbf758c9449ab5916f93216ec4d6>:0
at Jeffijoe.MessageFormat.MessageFormatter.FormatMessage (System.String pattern, System.Collections.Generic.IReadOnlyDictionary`2[TKey,TValue] args, System.Boolean ignoreMissingVariables) [0x00064] in <971ecbf758c9449ab5916f93216ec4d6>:0
at Elements.Assets.LocaleResource.Format (System.String key, System.Collections.Generic.Dictionary`2[TKey,TValue] arguments) [0x00021] in <6de1af748f9f480fac37cefdc1f23158>:0
at FrooxEngine.LocaleResource.Format (System.String key, System.Collections.Generic.Dictionary`2[TKey,TValue] arguments, System.Boolean returnNullIfNotFound) [0x0001b] in <ce0100e13f0347d791340985bd3805a7>:0
at System.Environment.get_StackTrace () [0x00000] in <9577ac7a62ef43179789031239ba8798>:0
at Elements.Core.UniLog.Error (System.String message, System.Boolean stackTrace) [0x00000] in <b69854496e6e4116a13f0e3f1203d8f6>:0
at FrooxEngine.LocaleResource.Format (System.String key, System.Collections.Generic.Dictionary`2[TKey,TValue] arguments, System.Boolean returnNullIfNotFound) [0x00000] in <ce0100e13f0347d791340985bd3805a7>:0
at FrooxEngine.LocaleStringDriver.OnChanges () [0x00000] in <ce0100e13f0347d791340985bd3805a7>:0
at FrooxEngine.ComponentBase`1[C].InternalRunApplyChanges (System.Int32 updateIndex) [0x00000] in <ce0100e13f0347d791340985bd3805a7>:0
at FrooxEngine.UpdateManager.ProcessChange (FrooxEngine.IUpdatable updatable) [0x00000] in <ce0100e13f0347d791340985bd3805a7>:0
at FrooxEngine.UpdateManager.RunQueue[T] (System.Collections.Generic.Queue`1[T] queue, System.Action`1[T] action) [0x00000] in <ce0100e13f0347d791340985bd3805a7>:0
at FrooxEngine.UpdateManager.RunChangeApplications () [0x00000] in <ce0100e13f0347d791340985bd3805a7>:0
at FrooxEngine.World.RefreshStep () [0x00000] in <ce0100e13f0347d791340985bd3805a7>:0
at FrooxEngine.World.Refresh () [0x00000] in <ce0100e13f0347d791340985bd3805a7>:0
at FrooxEngine.WorldManager.UpdateStep () [0x00000] in <ce0100e13f0347d791340985bd3805a7>:0
at FrooxEngine.WorldManager.RunUpdateLoop () [0x00000] in <ce0100e13f0347d791340985bd3805a7>:0
at FrooxEngine.Engine.UpdateStep () [0x00000] in <ce0100e13f0347d791340985bd3805a7>:0
at FrooxEngine.Engine.RunUpdateLoop () [0x00000] in <ce0100e13f0347d791340985bd3805a7>:0
at UnityFrooxEngineRunner.FrooxEngineRunner.UpdateFrooxEngine () [0x00000] in <185573bf634946fbb354ff5215eecec9>:0
at UnityFrooxEngineRunner.FrooxEngineRunner.Update () [0x00000] in <185573bf634946fbb354ff5215eecec9>:0
12:27:44` PM.990 (144 FPS) Exception formatting message Migration.Report.ContactStatus, Locale Code: zh-ch:
Arguments (3):
current = 0
total = 0
hex = #f8f770
System.Globalization.CultureNotFoundException: Culture name zh-ch is not supported.
Parameter name: name
at System.Globalization.CultureInfo..ctor (System.String name, System.Boolean useUserOverride, System.Boolean read_only) [0x00073] in <9577ac7a62ef43179789031239ba8798>:0
at System.Globalization.CultureInfo..ctor (System.String name, System.Boolean useUserOverride) [0x00000] in <9577ac7a62ef43179789031239ba8798>:0
at System.Globalization.CultureInfo..ctor (System.String name) [0x00000] in <9577ac7a62ef43179789031239ba8798>:0
at Jeffijoe.MessageFormat.Formatting.Formatters.VariableFormatter.GetCultureInfo (System.String locale) [0x0000e] in <971ecbf758c9449ab5916f93216ec4d6>:0
at Jeffijoe.MessageFormat.Formatting.Formatters.VariableFormatter.Format (System.String locale, Jeffijoe.MessageFormat.Formatting.FormatterRequest request, System.Collections.Generic.IReadOnlyDictionary`2[TKey,TValue] args, System.Object value, Jeffijoe.MessageFormat.IMessageFormatter messageFormatter) [0x0000b] in <971ecbf758c9449ab5916f93216ec4d6>:0
at Jeffijoe.MessageFormat.MessageFormatter.FormatMessage (System.String pattern, System.Collections.Generic.IReadOnlyDictionary`2[TKey,TValue] args, System.Boolean ignoreMissingVariables) [0x00064] in <971ecbf758c9449ab5916f93216ec4d6>:0
at Elements.Assets.LocaleResource.Format (System.String key, System.Collections.Generic.Dictionary`2[TKey,TValue] arguments) [0x00021] in <6de1af748f9f480fac37cefdc1f23158>:0
at FrooxEngine.LocaleResource.Format (System.String key, System.Collections.Generic.Dictionary`2[TKey,TValue] arguments, System.Boolean returnNullIfNotFound) [0x0001b] in <ce0100e13f0347d791340985bd3805a7>:0
at System.Environment.get_StackTrace () [0x00000] in <9577ac7a62ef43179789031239ba8798>:0
at Elements.Core.UniLog.Error (System.String message, System.Boolean stackTrace) [0x00000] in <b69854496e6e4116a13f0e3f1203d8f6>:0
at FrooxEngine.LocaleResource.Format (System.String key, System.Collections.Generic.Dictionary`2[TKey,TValue] arguments, System.Boolean returnNullIfNotFound) [0x00000] in <ce0100e13f0347d791340985bd3805a7>:0
at FrooxEngine.LocaleStringDriver.OnChanges () [0x00000] in <ce0100e13f0347d791340985bd3805a7>:0
at FrooxEngine.ComponentBase`1[C].InternalRunApplyChanges (System.Int32 updateIndex) [0x00000] in <ce0100e13f0347d791340985bd3805a7>:0
at FrooxEngine.UpdateManager.ProcessChange (FrooxEngine.IUpdatable updatable) [0x00000] in <ce0100e13f0347d791340985bd3805a7>:0
at FrooxEngine.UpdateManager.RunQueue[T] (System.Collections.Generic.Queue`1[T] queue, System.Action`1[T] action) [0x00000] in <ce0100e13f0347d791340985bd3805a7>:0
at FrooxEngine.UpdateManager.RunChangeApplications () [0x00000] in <ce0100e13f0347d791340985bd3805a7>:0
at FrooxEngine.World.RefreshStep () [0x00000] in <ce0100e13f0347d791340985bd3805a7>:0
at FrooxEngine.World.Refresh () [0x00000] in <ce0100e13f0347d791340985bd3805a7>:0
at FrooxEngine.WorldManager.UpdateStep () [0x00000] in <ce0100e13f0347d791340985bd3805a7>:0
at FrooxEngine.WorldManager.RunUpdateLoop () [0x00000] in <ce0100e13f0347d791340985bd3805a7>:0
at FrooxEngine.Engine.UpdateStep () [0x00000] in <ce0100e13f0347d791340985bd3805a7>:0
at FrooxEngine.Engine.RunUpdateLoop () [0x00000] in <ce0100e13f0347d791340985bd3805a7>:0
at UnityFrooxEngineRunner.FrooxEngineRunner.UpdateFrooxEngine () [0x00000] in <185573bf634946fbb354ff5215eecec9>:0
at UnityFrooxEngineRunner.FrooxEngineRunner.Update () [0x00000] in <185573bf634946fbb354ff5215eecec9>:0
Version:
2023.11.7.274
Starting the game from a fresh install and going through the setup, title for language selection as well as default language buttons have missing keys.
Settings.Locale.SelectLanguageHeader & Settings.Locale.DefaultLanguage
English language contributors are also copied to the end of all other languages, unsure if this is intentional.
If there was a json key change in the en.json file all translations are failing their checks as they have (now) unknown keys.
I avoid messing around in other language json files that I can't understand, but that would now be needed to get new translations past the automated Github checks.
I suggest changing the check after PR creation to only include the json files changed in this PR, so that there is no need to delete lines in or edit other languages files just to get your own changes passing.
Of course this leaves language files with now unknown keys in the repository, but that is the same situation as after the key change and before merging in a PR. As I understand it resonite just ignores these lines.
今現在、CloudHomeにあるMain UI Panelにあるは、例えば日付の場合「ddd, MMM DD,yyyy」のようにハードコーディングされています。しかしながら、これは言語によって変えられるようにすべきであると思います。
例えば日本語の場合、「yyyy年 MM月 dd日 ddd曜日」、「tt h時mm分ss秒」など。
Currently, the DateTimeTextDriver in the Main UI Panel of CloudHome is hard-coded as "ddd, MMM DD,yyyy" for dates, but it would be more appropriate if the date and time in this panel could be changed according to language.
For example, "yyyy年 MM月 dd日 ddd曜日" ,"tt h時mm分ss秒"in Japanese, etc.
Should be "UI.VideoPlayer.BroadcastAudio".
I was updating the Store page with the German translation, but it is too long. Currently it's 341 characters, but maximum is 300.
As seen in #109, #113, and now my #115; there's a bit of a doozy with the Polish translations.
There's a few strings where the technical terminology should be discussed to maintain accuracy within correct contexts.
@AdamK2003 has fixed some spelling and grammar issues (#113) which should be merged first while the remaining strings which all three of us translated will need to be agreed upon.
As detailed on the Readme, we make reference to needing to add pluralizers.(https://github.com/YellowDogMan/messageformat.net/blob/master/src/Jeffijoe.MessageFormat/Formatting/Formatters/PluralFormatter.cs)
We haven't open sourced our fork of MessageFormat yet.
I'm opening this issue to let users know:
ServerStatus facet template is missing a LocaleStringDriver, that should drive the text saying "Cloud status" in English with key Indicator.ServerStatus.Status.
Italian missing from languages list
Issue for coordination of Czech locale.
Current locale state: finished full translation and testing on my side
I was made aware by @Psychpsyo that the translated tool names we decided on weren't actually showing in-game. I took that as an opportunity to go through all tools. Here's what I found:
Equip names of all tools aren't using locale strings
Missing loceles on Individual tools:
Dev Tool:
Component Clone Tool:
Glue Tool
Light Tool
Rig Mesh Transfer Tool
Meter Tool
Module Snapping Tool
Multi Tool
@ProbablePrime for general tool locales
@RyuviTheViali for Module Snapping Tool
@Aegis_Wolf for Multitool
To reproduce:
Tested on Beta 2024.4.16.520.
Probably due to: 20d8ca7
Quick question:
The instructions for the Locale files tell us:
Always keep the "Dummy" : "Dummy" entry at the bottom of the file. This way you don't have to remember to remove the comma at the end of the last entry every time
I take the important thing here is that the last line the "messages" section, being a comma-separated, list of stuff, can't have a comma after it (because it's the end of the list), so if you're going to add anything (such as missing lines from the Resonite update), add it before the "Dummy" : "Dummy" line, so you don't have to worry about it.
However, there's some thought that the line has to remain exactly the way it is -- that is, we're not to provide the translation for the word "dummy"; we have to leave the translation as "dummy" in every language. I've checked other files, including ones that do not use a Latin character set, and they all say "Dummy": "Dummy" as the last line.
Are we doing to break something if we provide a translation, or is the important point here that it just can't have a comma after it (if it's the last line of the "messages" section)?
Thank you in advance!
While working on the French locale, I noticed that some stuff, notably storage units, can't be translated.
With the translation key that looks like "Indicator.Storage.Usage": "{storage_used} de {storage_max}<br><size=61.803%>Stockage utilisé</size>",
On this facet, while the text is correct, the direct translation of the unit "GB" in French would be "Go" instead (for "Gigaoctet").
I also think about Finnish which translates "GB" to "Gt" as well.
Some of the new error messages don't show the url:
"Login.MalformedUID.Description": "Try reinstalling, or contact support.",
(and the next three)
but others include it:
"Login.DuplicateAccount.Description": "Please contact support at support.resonite.com",
Which way of addressing people should be used for languages containing formal and informal ways to address a person in this application?
For example German has the more informal "Du" to address singular "You", while the formal way would use "Sie".
(For German) The informal way would usually be preferred in a younger audience and gaming, while professional areas still use the formal way - although this seems to slowly be fading as well now.
Alternatively, an alternate language could also be added to cover both usecases, as some people also would prefer one over the other.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.