π€
Global Version Website Development with GPT & Copilot
When developing a website, you might focus solely on your native language, but for a SaaS service with global sales potential, something feels lacking. However,...
hhlee
2024-10-29
π£
Why Video Editors Choose VideoStoo Over Premiere
EduPlus is the educational media arm of ET Edu, a part of the Electronic Times Media Group, established in December 2018 with the goal of nurturing key talents ...
Junwoo
2024-10-24
ποΈ
[Update] Launch of AI Image Generation Feature
We have introduced a new feature that allows you to generate and use AI images directly from the library.No need for complex scene description prompts—AI images...
Junwoo
2024-10-18
π
The Ultimate inVideo AI Alternative for Content Marketers
Hello, in this age of AI-powered video editing tools flooding the market, have you ever wondered which tool to choose as a content marketer?In this post, we wil...
Junwoo
2024-09-26
π£
Engaging Students with VideoStew: Real-Life Examples and Practical Guide
Digital Transformation of Education Using AIIn today's educational landscape, digital transformation is no longer optional but a necessity.Especially with the i...
Junwoo
2024-09-04
π
Short-Form Content Strategy for Media Companies: 3 Key Tips for Running a Successful YouTube Channel
Recently, traditional newspapers and online news outlets have been paying attention to short-form content. This is a strategic move to adapt to the changing tre...
Junwoo
2024-08-28
ποΈ
[Product Update] Improved Performance for Reading Numbers and Units in TTS
The functionality has been improved so that all AI voices in Korean can properly pronounce numbers and units.If some sentences are not read correctly, you can c...
Junwoo
2024-08-27
π€
UX Details to Make All TTS Engines Properly Read Korean
VideoStew offers a variety of AI voices. From Google Wavenet, Amazon Polly, KT AI Voice, Naver Clova, Azure, to ElevenLabs...As a result, a natural issue arises...
Junwoo
2024-08-27
When developing a website, you might focus solely on your native language, but for a SaaS service with global sales potential, something feels lacking. However, aiming for a grand global launch can be more demanding than expected. Our team has been tackling this challenge with our unique DIY approach as outlined below.
User Message Handling
Drawbacks of Variable Processing Method
Typical i18n libraries handle multiple languages as follows: they create a key for each message and display the corresponding message in the user's language. At first glance, this seems like the most logical method.
This method represents the simplest form of running a multilingual version. As the business grows, it has the advantage of allowing flexible addition of various languages. However, when the business hasn't reached a suitable level of growth and the work is being done by a small development team, transitional issues arise, such as:
While these are minor chores, they result in the wastage of already limited development resources when developing the front end that interacts with user messages.
Embedding Language Messages in Code
To minimize these inconveniences, the Videostew team is developing multilingual versions at the speed of a single native language version. Instead, we are limiting the multilingual version to only "English." This approach might not be sustainable as the market expands, but it's extremely useful in the initial global phase for appealing to the "English"-speaking user base.
At VideostewTeam, we register and use a global helper called d(irect)trans on both the backend and frontend. The implementation of this code is quite simple. It takes a Korean message, which is your native language, as the first parameter and a global English message as the second parameter.
The part where messages are exposed to users can be simply created as shown below.
While it may seem like you still have to translate into English when coding, thatβs not the case if you use it with Copilot. Copilot, or tools like Cursor AI, reference the helper functions you frequently use or the definitions in open tabs, so they understand the usage of frequently used helpers very well.
As shown below, when you input Korean into dtrans('.., it can infer that the translated English message goes into the second parameter, allowing you to create a global version while coding in the editor.
< Type in Korean, and the auto-translated English is added >
This approach overcomes all the drawbacks of developing a formal global version mentioned above.
As mentioned earlier, this method is aimed at quickly implementing a global version without much effort. It is not suitable for creating more sophisticated translations or multiple language versions. As the service grows, the language system should be changed.
Automatic Translation of Guides & Blogs
Besides user messages in code, our service utilizes a multitude of messages and texts. Fixed pages like landing pages or terms can be translated once and that's it, but for dynamically created and updated content like guides or blogs, manually keeping track can be quite a hassle.
In response, at Videostew, we register posts in our native Korean and then, after a certain period, estimate the modified parts and use a GPT model on the backend to translate them into English automatically. While there are various API services for translation, using LLM for translation offers the following advantages:
When it comes to practical application, it's impossible to translate entire texts each time for large guides (almost book-length). Therefore, we generate hash keys based on content per paragraph and track only the modified paragraphs for automatic translation.
< Hash values for modifying only the changed paragraphs >
This type of call (which we are not currently using) could potentially allow for cheaper bulk translations using GPT's bulk call discounts.
Customer Support Response
To provide a perfect service experience, we don't use external chatbots but have our own. It's not exactly a chatbot; we use a modified version of our real-time comment-capable bulletin board. If a user's information is not in their native language, it automatically attaches the original text in their native language. When we reply in our native language, it's translated back into the user's language and delivered.
< Questions in languages other than your native tongue? We've got automatic translations for that! >
This reduces delays caused by translations and allows us to provide seamless global services.
Wrapping Up
Many services are already integrating GPT into their development and operations. For small teams like Videostew aiming for global reach, I hope this blog provides a few helpful hints.