on
[iOS, NodeJS] 구글 번역으로 글로벌 서비스 만들기 (3)
[iOS, NodeJS] 구글 번역으로 글로벌 서비스 만들기 (3)
3. NodeJS 설치 및 다중 번역하기
https://nodejs.org/ko/download/
위 링크에서 노드를 다운받고 설치해주세요.
https://github.com/winkitee/multi-google-translate.git
https://github.com/winkitee/multi-google-translate/archive/refs/heads/main.zip
제가 만든 코드를 다운 받고 압축을 풀어주세요.
{ "name": "multi-google-translate", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "start": "GOOGLE_APPLICATION_CREDENTIALS=\"[YOUR_KEY_PATH]\" node --experimental-json-modules index.mjs" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "@google-cloud/translate": "^6.3.1", "node-fetch": "^3.0.0" } }
[YOUR_KEY_PATH] 부분을 이전글에서 받았던 구글 서비스 계정의 비공개 키 위치로 변경합니다.
ex) /Users/winkitee/Dev/programs/multi-google-translate/keys/my-project-312611-cac06a70229e.json
en.text를 번역하고 싶은 데이터로 변경하고 targets에 변환하고 싶은 언어 코드들을 입력합니다.
import googleTranslate from "@google-cloud/translate" import { translateXcodeLocalizable, jsonGenerateTranslatedFile } from "./generator.mjs" const { Translate } = googleTranslate.v2 const translate = new Translate() export async function translateText(text, target) { let [translations] = await translate.translate(text, target) translations = Array.isArray(translations) ? translations : [translations] console.log("Translations:") translations.forEach((translation, i) => { console.log(`${i} => (${target}) ${translation}`) }) return translations } const targets = ["en", "de", "fr", "es", "id", "it", "ru", "vi", "ja", "zh-CN", "zh-TW"] translateXcodeLocalizable("./en.text", targets, translateText) // jsonGenerateTranslatedFile('./en.json', targets, translateText) // async function sentence() { // for (const target of targets) { // await translateText(` // Fixed a bug. // `, target) // } // } // sentence()
JSON으로도 변환이 필요하신 분을 위해서 아래 메소드도 만들어봤습니다.
필요하신 메소드를 사용해주세요.
$npm run start
/* No comment provided by engineer. */ "카메라" = "カメラ"; /* No comment provided by engineer. */ "프라이버시 잠금" = "プライバシーロック"; /* No comment provided by engineer. */ "프로젝트" = "プロジェクト"; /* 프로젝트 잠금 해제 */ "프로젝트 보기" = "プロジェクトを見る"; /* No comment provided by engineer. */ "프로젝트 삭제" = "プロジェクトの削除"; /* No comment provided by engineer. */ "프로젝트 설정" = "プロジェクト設定"; /* No comment provided by engineer. */ "프로젝트 수정" = "プロジェクトの修正"; /* No comment provided by engineer. */ "프로젝트 순서" = "プロジェクトの順序"; /* No comment provided by engineer. */ "프로젝트 잠금" = "プロジェクトのロック"; /* No comment provided by engineer. */ "프로젝트 잠금 제거" = "プロジェクトロックの削除"; /* No comment provided by engineer. */ "프로젝트 정보 및 통계" = "プロジェクト情報と統計";
이런 식으로 구글 번역이 완료된 파일들이 만들어집니다.
기존의 xcode의 Localizable 파일들에 복붙하면 대충대충 글로벌 서비스 완성입니다!!
현지화 대충 종료
구글 번역으로 현지화를 진행하고 싶은 분들께 조금이라도 도움이 되었으면 좋겠습니다.
그럼 이만 글도 대충 정리하겠습니다.
마지막으로 앱 소개를 조금 해드리겠습니다.
나쁜 습관을 고치고 좋은 습관을 만들고 싶으시다면 이용해보세요. 어떤 행동이 지속적으로 반복이 되어야 습관이 만들어집니다. 처음에 습관은 사람이 만들고 나중에는 습관이 사람을 만든다고 해요. 행동을 하고 기록하는 것이 좋은 습관을 형성하는데 상당한 도움을 줄 수 있어요ㅎㅎㅎ
그럼 구글 번역한 앱도 글로벌에서 대박나시길 기원합니다.
from http://loycord.tistory.com/4 by ccl(A) rewrite - 2021-11-30 02:27:20