[iOS] 도도부현의 텍스트 자원을 쉽게 만들었습니다.

8964 단어 LinuxVSCodeiOS
도도부현의 텍스트 자원을 만드는 것이 번거롭기 때문에
  • R.Swift 등을 사용하지 않고 enum을 사용하여 텍스트 가져오기

  • VScode 플러그인를 사용하여 텍스트 변환
  • linux를 사용한 paste명령수평결합
  • 그럼 가볍게 대응하겠습니다.
    (또 조사 대응 2시간, 보도 1시간

    소스 코드


    Prefecture.swift
    enum Prefecture: Int {
        case hokkaido
        case aomori
        case iwate
        case miyagi
        case akita
        case yamagata
        case fukushima
        case ibaraki
        case tochigi
        case gunma
        case saitama
        case chiba
        case tokyo
        case kanagawa
        case niigata
        case toyama
        case ishikawa
        case fukui
        case yamanashi
        case nagano
        case gifu
        case shizuoka
        case aichi
        case mie
        case shiga
        case kyoto
        case osaka
        case hyogo
        case nara
        case wakayama
        case tottori
        case shimane
        case okayama
        case hiroshima
        case yamaguchi
        case tokushima
        case kagawa
        case ehime
        case kochi
        case fukuoka
        case saga
        case nagasaki
        case kumamoto
        case oita
        case miyazaki
        case kagoshima
        case okinawa
    
        var localizedString: String {
            let string = String(describing: self)
            let upperFirstLetterString = string.prefix(1).uppercased() + string.dropFirst()
    
            return NSLocalizedString(upperFirstLetterString,
                                     tableName: "Prefecture",
                                     bundle: Bundle.main,
                                     value: "",
                                     comment: "")
        }
    }
    
    

    1. 자원 파일 만들기


    소스 코드의tableName과 일치하는 파일을 만들었습니다.

    2. enum 사례 목록 복사


    이런 느낌.
    prefecture-en.txt
    case hokkaido
    case aomori
    case iwate
    case miyagi
    case akita
    ...
    
    결과를 적절한 이름의 텍스트 파일로 저장하십시오.
    ex) prefecture-en.txt

    3. 케이스 제거

    find: "case "
    replace: ""
    
    모두 바꾸기
    prefecture-en.txt
    hokkaido
    aomori
    iwate
    miyagi
    akita
    yamagata
    ...
    

    4. 이니셜 대체


    change-case VSCode 플러그인이 사용됩니다.
    변환할 모든 문자열을 선택하고 Prefecture.strings + cmd + shift 에서 선택pprefecture-en.txt
    Hokkaido
    Aomori
    Iwate
    Miyagi
    Akita
    ...
    

    5. 번역


    일람표에 따라 구글로 번역하다.
    prefecture-ja.txt
    北海道
    青森
    岩手県
    宮城県
    秋田
    ...
    
    번역 결과를 적절한 이름의 텍스트 파일로 저장
    ex) prefecture-ja.txt

    6.linux 명령 수평 연결


    참고는 여기 있습니다.
    paste
     paste -d "=" prefecture-en.txt prefecture-ja.txt
    
    out
    Hokkaido=北海道
    Aomori=青森
    Iwate=岩手県
    ...
    

    7. 교체


    이전 출력을 Change Case UpperFirst 로 복사하고 정규 표현식을 곱합니다.
    find: (.*)=(.*)
    replace: "$1" = "$2";
    
    동적 관찰을 할 때의 축심점.
    Prefecture.strings
    "Hokkaido" = "北海道";
    "Aomori" = "青森";
    "Iwate" = "岩手";
    "Miyagi" = "宮城県";
    "Akita" = "秋田";
    ...
    

    테스트


    GREEEEEEN!

    완성!


    번역 정밀도에 있어서 수정해야 할 부분이 있기 때문에 수정할 수밖에 없다.
    swift4.2에서 사용할 수 있다Prefecture.strings, 더 좋다.
    셸, 정규 표현식, 텍스트 편집기 기능을 사용하여 iOS 개발을 쉽게 하려면()

    최종 품목


    Prefecture.strings
    "Hokkaido" = "北海道";
    "Aomori" = "青森";
    "Iwate" = "岩手";
    "Miyagi" = "宮城";
    "Akita" = "秋田";
    "Yamagata" = "山形";
    "Fukushima" = "福島";
    "Ibaraki" = "茨城県";
    "Tochigi" = "栃木";
    "Gunma" = "群馬";
    "Saitama" = "埼玉";
    "Chiba" = "千葉";
    "Tokyo" = "東京";
    "Kanagawa" = "神奈川";
    "Niigata" = "新潟";
    "Toyama" = "富山";
    "Ishikawa" = "石川";
    "Fukui" = "福井市";
    "Yamanashi" = "山梨";
    "Nagano" = "長野";
    "Gifu" = "岐阜";
    "Shizuoka" = "静岡";
    "Aichi" = "愛知県";
    "Mie" = "三重";
    "Shiga" = "滋賀";
    "Kyoto" = "京都";
    "Osaka" = "大阪";
    "Hyogo" = "兵庫";
    "Nara" = "奈良";
    "Wakayama" = "和歌山";
    "Tottori" = "鳥取";
    "Shimane" = "島根";
    "Okayama" = "岡山";
    "Hiroshima" = "広島";
    "Yamaguchi" = "山口";
    "Tokushima" = "徳島";
    "Kagawa" = "香川";
    "Ehime" = "愛媛";
    "Kochi" = "高知";
    "Fukuoka" = "福岡";
    "Saga" = "佐賀";
    "Nagasaki" = "長崎";
    "Kumamoto" = "熊本市";
    "Oita" = "大分";
    "Miyazaki" = "宮崎";
    "Kagoshima" = "鹿児島";
    "Okinawa" = "沖縄";
    

    좋은 웹페이지 즐겨찾기