Skip to content

Add Translit extension#17114

Merged
raycastbot merged 10 commits intoraycast:mainfrom
tsibog:ext/translit-new
Mar 31, 2025
Merged

Add Translit extension#17114
raycastbot merged 10 commits intoraycast:mainfrom
tsibog:ext/translit-new

Conversation

@tsibog
Copy link
Contributor

@tsibog tsibog commented Feb 16, 2025

Description

An extension that converts Latin characters to Russian Cyrillic using phonetic transliteration rules. Intended for users who need to write in Russian while using a Latin keyboard. Features include:

  • Real-time transliteration as you type
  • Clean, intuitive interface
  • Quick copy to clipboard
  • Standard Russian phonetic transliteration rules

Screencast

Screenshot attached in metadata/1.png shows the extension in action with example translation

Screen.Recording.2025-03-09.at.21.19.20.mov

Checklist

@raycastbot
Copy link
Collaborator

raycastbot commented Feb 16, 2025

Congratulations on your new Raycast extension! 🚀

You can expect an initial review within five business days.

Once the PR is approved and merged, the extension will be available on our Store.

@raycastbot raycastbot added the new extension Label for PRs with new extensions label Feb 16, 2025
@tsibog tsibog changed the title Ext/translit new Add Translit extension Feb 16, 2025
@tsibog
Copy link
Contributor Author

tsibog commented Feb 18, 2025

@greptileai

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR Summary

This PR adds a new Translit extension that enables real-time conversion of Latin characters to Russian Cyrillic using phonetic transliteration rules, with a clean React-based interface and clipboard integration.

  • Author mismatch: README.md credits "tsibog" while package.json lists "daniel_andersson" as author
  • CHANGELOG.md uses hardcoded date "2025-02-16" instead of {PR_MERGE_DATE} placeholder
  • Comprehensive phonetic mapping in src/index.tsx supports multiple Latin variants for each Cyrillic character (e.g., "yu", "ju", "ü" → "ю")
  • Extension properly handles character casing during transliteration using maximal munch algorithm with 3-character lookahead

💡 (2/5) Greptile learns from your feedback when you react with 👍/👎!

8 file(s) reviewed, 3 comment(s)
Edit PR Review Bot Settings | Greptile

tsibog and others added 4 commits February 18, 2025 23:43
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
changed my raycast username
@pernielsentikaer pernielsentikaer self-assigned this Feb 28, 2025
Copy link
Collaborator

@pernielsentikaer pernielsentikaer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your contribution 🔥

It this similar to: https://www.raycast.com/red.avtovo/punto

@tsibog
Copy link
Contributor Author

tsibog commented Mar 9, 2025

Thanks for your contribution 🔥

It this similar to: https://www.raycast.com/red.avtovo/punto

I haven't seen Punto before, and it is similar in its goals, but the UX is a bit different. For some contenxt - I am a russian speaking immigrant that never really learned the cyrillic keyboard layout, so whenever I'd need to write messages in russian I'd go to translit.ru which offers this same functionality and what inspired me to try to make this extension. The Punto extension would be harder to use for me personally, as I presume it is at its best when one knows the cyrillic keyboard layout. I've updated the PR description with a video showcasing the usage of this extension to provide a little more clarity on its functionality.

@tsibog tsibog requested a review from pernielsentikaer March 9, 2025 20:37
@pernielsentikaer
Copy link
Collaborator

@red-avtovo what do you think?

@red-avtovo
Copy link
Contributor

Thanks for tagging me @pernielsentikaer. While I agree that there are some similarities in both extensions, I would say that this is an independent plugin that addresses a different issue.
While Punto helps to convert the typed text 1-to-1 from 1 layout to another, this one phonetically adapts the input to the same sound in another written form while keeping the original input layout.

There are, in fact 2 independent audiences that will use one solution or another, so I would keep it as it is and publish this extension

Copy link
Collaborator

@pernielsentikaer pernielsentikaer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi 👋

Thanks for your contribution 💪

I have now tested your extension, and I have some feedback ready for you:

  • How about creating a preference that allows the user to select whether they want to set paste or copy as the primary action, and then designate the other action as secondary?

I'm looking forward to testing this extension again 🔥

Request a new review when you are ready. Feel free to contact me here or at Slack if you have any questions.

@@ -0,0 +1,8 @@
# Changelog
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# Changelog
# Translit Changelog

{
"name": "index",
"title": "Latin to Cyrillic",
"subtitle": "Phonetic Transliteration",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"subtitle": "Phonetic Transliteration",
"subtitle": "Translit",

@raycastbot
Copy link
Collaborator

This pull request has been automatically marked as stale because it did not have any recent activity.

It will be closed if no further activity occurs in the next 7 days to keep our backlog clean 😊

@raycastbot raycastbot added the status: stalled Stalled due inactivity label Mar 26, 2025
@raycastbot raycastbot removed the status: stalled Stalled due inactivity label Mar 29, 2025
@tsibog
Copy link
Contributor Author

tsibog commented Mar 29, 2025

@greptileai

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR Summary

(updates since last review)

Overall, this PR introduces the Translit extension with real-time phonetic transliteration from Latin to Cyrillic, accompanied by standard configuration and documentation updates.

• In extensions/translit/CHANGELOG.md, update the "Added preferences" entry to use the {PR_MERGE_DATE} placeholder instead of the hardcoded date.
• Code in extensions/translit/src/index.tsx implements a robust maximal munch algorithm for efficient transliteration.
• All configuration files (package.json, .prettierrc, .eslintrc.json, tsconfig.json) adhere to Raycast guidelines.

8 file(s) reviewed, no comment(s)
Edit PR Review Bot Settings | Greptile

Copy link
Collaborator

@pernielsentikaer pernielsentikaer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi 👋

Looks good to me, approved 🔥

@raycastbot raycastbot merged commit 5983072 into raycast:main Mar 31, 2025
2 checks passed
@github-actions
Copy link
Contributor

Published to the Raycast Store:
https://raycast.com/tsibog/translit

@raycastbot
Copy link
Collaborator

🎉 🎉 🎉

We've rewarded your Raycast account with some credits. You will soon be able to exchange them for some swag.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new extension Label for PRs with new extensions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants