Summary

Project website phydemo.app/ray-optics
Instructions for translators

Important instructions

  • Please translate the Main and Simulator components first. Translations of Gallery and Modules will not appear on the website unless Main is largely translated.
  • The syntax [Text](/url) is for links. Only the "Text" part should be translated (e.g. becoming [文字](/url)).
  • The syntax `code` and \(LaTeX\) are for code, and should not be translated (e.g. same as English) except for placeholder and natural language subscripts.
  • If you use machine translation, please do the necessary post-editing before saving, or within three days after first saving.
  • If you have a GitHub account, you need to link it to your translator account (or use GitHub-recognized email) in order to appear as contributors on GitHub. Otherwise, your name/id will only appear on the bottom of the About page.

Adding a new language

  • To create a new language, please contact the maintainer.
  • Due to resource limit, if you want to add a language which is only a small variant of an existing language (e.g. American or British English), or one with little practical use (e.g. Latin), please discuss with the maintainer first.
  • After the language is created, please translate at least 25 strings in the Main component in the next 7 days. Otherwise the language will be removed.

Details

The components are

  • Main: The strings for the home page, about page, and all the "Tools" and "View" descriptions. Most of them are shared between the home page and the simulator.

  • Simulator: The strings which are only for the simulator. Not including the content of the "Tools -> Other -> Import Modules" window.

  • Gallery: The strings for the Gallery page and of all the items in the Gallery. This includes the text in the carousel in the home page and the examples in the module tutorial.

  • Modules: The content of the "Tools -> Other -> Import Modules" window, and the module tutorial page.

    The simulator web app will have the language option as long as the translation starts. But other webpages will be built only if the number of translated string reaches some threshold and/or certain strings are translated. After the translation is updated, the repo (and thus the website) will be updated within a week.

    Some of the strings are in Markdown format. Do not add additional line breaks unless necessary (they will be shown as line breaks on the webpage). For strings that already contains line breaks but not due to new paragraphs or itemize (especially the ones in the gallery data), please make similar line breaks in the target language such that the total width of the text is as closed to the source language as possible, and the breaking points as semantically reasonable as possible. In this case, the number of lines does not need to match that of the source strings.

    The key of the string provides some information about the context of the string. For example, the ambiguous string "Translation" has the key sceneObjs.Handle.transformations.translation, indicating that it appears in the "Transformations" option of the "Handle" object in the scene, and hence means the geometrical translation, not language translation. Another example is the string "Architecture / Alpine" which seems unrelated to optics. But looking at Its key galleryData.seaMirage.architecturealpine, one can see that it appears in the "Sea Mirage" item in the Gallery, thus can look at it in the Gallery webpage to understand its context.

Project maintainers1 User avatar ricktu288
06/13/2026

String statistics

Strings percent Hosted strings Words percent Hosted words Characters percent Hosted characters
Total 28,050 298,350 1,845,625
Source 1,122 11,934 73,825
Translated 42% 11,783 38% 114,861 38% 709,645
Needs editing 1% 154 1% 2,103 1% 13,653
Read-only 0% 0 0% 0 0% 0
Failing checks 1% 65 1% 1,390 1% 8,296
Strings with suggestions 1% 54 1% 697 1% 4,595
Untranslated strings 57% 16,113 60% 181,386 60% 1,122,327

Quick numbers

298 k
Hosted words
28,050
Hosted strings
42%
Translated
4
Components
25
Languages
100
Translations
0
Screenshots
and previous 30 days

Trends of last 30 days

+6%
Hosted words
+100%
+8%
Hosted strings
+100%
+3%
Translated
+38%
+28%
Contributors
+100%
User avatar webhook:github

Repository merged

Repository merged

Original revision: 1caa0612e4f5e02282cd181afbe86cdbbc012d40
New revision: fa89e386dad4b93e35d75135bd2fef7452886db7 06/13/2026
User avatar webhook:github

Repository notification received

GitHub: https://api.github.com/repos/ricktu288/ray-optics, master 06/13/2026
User avatar ricktu288

Changes pushed

Changes pushed 06/13/2026
User avatar ricktu288

Changes pushed

Changes pushed 06/13/2026
User avatar None

Changes pushed

Changes pushed 06/13/2026
User avatar ricktu288

Changes committed

Changes committed 06/13/2026
User avatar ricktu288

Changes committed

Changes committed 06/13/2026
User avatar ricktu288

Changes committed

Changes committed 06/13/2026
User avatar ricktu288

Changes committed

Changes committed 06/13/2026
User avatar ssantos

Translation added

06/10/2026
Browse all project changes