All Projects → spoqa → Aeiou

spoqa / Aeiou

i18n scripts

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Aeiou

Django Rosetta
Rosetta is a Django application that eases the translation process of your Django projects
Stars: ✭ 806 (+3258.33%)
Mutual labels:  i18n, gettext
stone.js
gettext-like client-side Javascript Internationalization Library
Stars: ✭ 20 (-16.67%)
Mutual labels:  i18n, gettext
Kotsu
✨ Clean, opinionated foundation for new projects — to boldly go where no man has gone before
Stars: ✭ 48 (+100%)
Mutual labels:  i18n, gettext
Tempura
Pure Clojure/Script i18n translations library
Stars: ✭ 211 (+779.17%)
Mutual labels:  i18n, gettext
rubocop-i18n
RuboCop rules for detecting and autocorrecting undecorated strings for i18n (gettext and rails-i18n)
Stars: ✭ 32 (+33.33%)
Mutual labels:  i18n, gettext
alternate
Plug and Phoenix helpers to localize your web app via the URL
Stars: ✭ 26 (+8.33%)
Mutual labels:  i18n, gettext
pH7-Internationalization
🎌 pH7CMS Internationalization (I18N) package 🙊 Get new languages for your pH7CMS website!
Stars: ✭ 17 (-29.17%)
Mutual labels:  i18n, gettext
Ngettext
A cross-platform .NET implementation of the GNU/Gettext library.
Stars: ✭ 172 (+616.67%)
Mutual labels:  i18n, gettext
polib
Pure python library to manipulate, create, modify gettext files (pot, po and mo files).
Stars: ✭ 34 (+41.67%)
Mutual labels:  i18n, gettext
gettext i18n rails js
Extends gettext_i18n_rails making your .PO files available to client side javascript as JSON
Stars: ✭ 28 (+16.67%)
Mutual labels:  i18n, gettext
Weblate
Web based localization tool with tight version control integration.
Stars: ✭ 2,719 (+11229.17%)
Mutual labels:  i18n, gettext
Gotext
Go (Golang) GNU gettext utilities package
Stars: ✭ 292 (+1116.67%)
Mutual labels:  i18n, gettext
Glotpress Wp
🌍 🌎 🌏 GlotPress is a WordPress plugin to let you set up your own collaborative, web-based software translation tool.
Stars: ✭ 205 (+754.17%)
Mutual labels:  i18n, gettext
msgtools
Tools for Developing Diagnostic Messages
Stars: ✭ 18 (-25%)
Mutual labels:  i18n, gettext
Node Gettext
A JavaScript implementation of gettext, a localization framework.
Stars: ✭ 175 (+629.17%)
Mutual labels:  i18n, gettext
rails
Rails translation made _('simple').
Stars: ✭ 65 (+170.83%)
Mutual labels:  i18n, gettext
Gettext Go
🆎 GNU gettext for Go (Imported By Kubernetes)
Stars: ✭ 66 (+175%)
Mutual labels:  i18n, gettext
gettext-extractor
A flexible and powerful Gettext message extractor with support for JavaScript, TypeScript, JSX and HTML.
Stars: ✭ 82 (+241.67%)
Mutual labels:  i18n, gettext
wp-l10n-validator
Gettext localization validator for WordPress
Stars: ✭ 17 (-29.17%)
Mutual labels:  i18n, gettext
Gettext
PHP library to collect and manipulate gettext (.po, .mo, .php, .json, etc)
Stars: ✭ 578 (+2308.33%)
Mutual labels:  i18n, gettext

아에이오우

스포카 프론트엔드 프로젝트에서 사용하는 국제화 스크립트입니다.

아에이오우 튜토리얼

기능

  • js, ts 파일들을 읽고, 그 안에 있는 gettext 함수 호출식을 긁어서 messages.pot 파일을 생성합니다.
  • transifex로 messages.pot파일을 업로드합니다.
  • transifex에서 *.po 파일들을 다운받고, *.mo 파일로 컴파일합니다.
  • 추출한 messages.pot에는 들어있지만 다운받은 *.po 파일에는 들어있지 않은 번역어를 찾아줍니다.

사용법

npm install -g aeiou

# 도움말을 확인합니다.
aeiou --help

# 특정 명령어에 대한 도움말도 확인할 수 있습니다.
aeiou extract --help

# 소스코드에서 번역이 필요한 문구들을 추출합니다.
aeiou extract --srcDir="./src" --outDir="./tmp/translations"
# `./tmp/translations` 경로로 들어가보면 `messages.pot` 파일을 확인할 수 있습니다.

# transifex로 업로드합니다.
# ./tmp/translations 경로에 `messages.pot` 파일이 있어야합니다.
aeiou push \
    --id="dkdlel" --password="qlalfqjsgh" \
    --project="vmfhwprxm" --resource="flthtm" \
    --potDir="./tmp/translations"

# transifex에서 번역 작업 후 번역 파일들을 내려받습니다.
aeiou download \
    --id="dkdlel" --password="qlalfqjsgh" \
    --project="vmfhwprxm" --resource="flthtm" \
    --outDir="./tmp/translations"

# 추출한 `messages.pot` 파일과 내려받은 번역파일을 비교해서 비어있는 번역어가 없는지 검사합니다.
aeiou ensure --locale="ja" --potDir="./src/static/translations"

aeiou 개발하기

  • npm install(yarn)
  • npm run build(yarn build) or npm run dev(yarn dev)
  • .js 파일은 컴파일된 결과입니다. 손으로 고치지 맙시다.
    • vscode의 경우 좌측 파일트리의 .js 파일들이 신경쓰이면
      • 상단 메뉴에서 Code > 기본 설정 > 설정으로 들어갑니다.
      • 우측 상단 드랍다운에서 작업 영역 설정을 클릭합니다.
      • 다음의 내용을 설정에 추가합니다:
        "files.exclude": {
            "**/*.js": true
        }
        

lockfile 업데이트

npm을 사용한 경우 yarn import를 써서 yarn.lock을 업데이트합니다.

yarn을 사용한 경우 다음 방법으로 package-lock.json을 업데이트합니다.

rm package-lock.json
npm shrinkwrap
mv npm-shrinkwrap.json package-lock.json
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].