π€
Developing a Global Version Website with GPT & Copilot
When developing a website, it's tempting to focus solely on the native language, but for SaaS services with global potential, that approach can feel a bit limit...
hhlee
2024-10-29
π€
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
π€
Practical GPT Utilization for Startup Marketers (We said GPT, but we only used Claude π
)
Hello, this is Jun from VideoStew.Lately, I've been writing a lot of behind-the-scenes posts. In this post, I will summarize how I, as a non-developer at a star...
Junwoo
2024-07-22
π€
VideoStew: Turn Your Message into a Video, Just as You Imagined
Hello, this is Jun from VideoStew. Today, I'd like to talk about how we created VideoStew and why we made it this way. In a sense, you could call it our brandin...
Junwoo
2024-07-15
π€
The Struggles of a SaaS Startup with Viral Marketing through Open Chat
Getting StartedMost startups don't have a lot of money. Especially when it comes to marketing budgets! (Or they tend to be extra frugal.) Maybe that's why free ...
Junwoo
2023-12-01
π€
DIY Battery Replacement for the New MacBook: A Retrospective
The haunting aspect of owning a Mac is the bone-chilling repair costs when it breaks down. That's why my team and I have been doing our own Mac repairs for quit...
hhlee
2022-08-05
When developing a website, it's tempting to focus solely on the native language, but for SaaS services with global potential, that approach can feel a bit limiting. However, aiming for global reach from the get-go can be quite overwhelming and resource-intensive. Our team has devised a method that allows us to develop in our native language while still supporting global users without breaking a sweat.
Complete Translation Within the Editor
Drawbacks of the Variable Handling Method
Standard i18n libraries often handle multilingual support in the following way: they create keys for each message and provide translations for each user language. This seems like the most logical approach at first glance.
This method represents the simplest form of running a multilingual version. It offers the advantage of being able to flexibly add more languages as the business grows. However, for smaller teams or when the business is not yet fully scaled, this approach can lead to transitional issues, such as:
These might seem like trivial tasks, but when you're developing the front-end that interfaces directly with user messages, these processes can drain already scarce development resources.
Embedding Language-Specific Messages in Code
To minimize these inconveniences, our Videostew team is developing the multilingual version at the same pace as the single-language native version. For now, we're limiting the multilingual version to just "English." While this approach may not be sustainable as the market expands, it's extremely useful during the initial global phase to appeal to the "English"-speaking user base.
At Videostew Team, we register and use a global helper called directTrans in both the backend and frontend. The implementation of this code is quite simple. It takes a Korean message as the first parameter, and an English message as the second parameter.
To display messages to users, itβs as simple as writing the following code:
You might think, "Donβt I have to translate to English while coding anyway?" But, with tools like Copilot or Cursor AI, that's not the case. These tools refer to the helper functions or patterns you frequently use in open tabs, so they understand how to apply commonly used helpers like the one above very well.
When you input dtrans('.. with Korean, it infers the translated English message in the second parameter, allowing you to create a global version while coding in the editor.
< Just type in Korean, and the translated English is automatically added >
Using this method, you can overcome all the drawbacks of the traditional way of developing a global version.
As mentioned earlier, this method aims to implement a global version quickly without much effort. Itβs not suitable for creating more sophisticated translations or multiple language versions. As the service grows, the language system needs to be updated.
Asynchronous Translation of User Guides
Beyond the user messages included in the code, our service employs numerous messages and texts. For fixed pages like landing pages or terms of service, translating them once is sufficient. However, for dynamic content such as guides or blogs that are constantly being created and updated, manual tracking becomes a challenging task.
At Videostew, we address this by registering guides in our native Korean, and after a set period, automatically detecting and translating the modified sections into English using the GPT model in the backend. While there are various API services for translation, using LLM offers the following advantages:
In practice, for large guides (almost book-length), it's impossible to translate the entire content every time there's a modification. Thus, we create hash keys based on each paragraph's content and automatically translate only the changed paragraphs.
< Hash values for editing only changing paragraphs >
This call type could be more cost-effective for bulk translations using GPT's bulk call discounts, though we currently don't utilize this option.
Customer Support Handling
To ensure a perfectly consistent customer experience and real-time user information integration, we have developed our own chatbot. When a user's information is in a language other than their native one, we automatically attach the native language to the original message. If we respond in the native language, it's then translated back into the user's language for delivery.
< Questions not in your native language are automatically translated >
This helps reduce delays caused by translations and allows us to provide seamless global service.
Conclusion
It seems that many services are already integrating GPT into their development and operations. For small teams like Videostew, using AI tools like GPT can efficiently make global services possible.