GithubHelp home page GithubHelp logo

b123400 / xliffie Goto Github PK

View Code? Open in Web Editor NEW
63.0 7.0 15.0 4.03 MB

A localization assistance for iOS / Mac app.

Home Page: https://itunes.apple.com/us/app/xliffie/id961651406

License: GNU General Public License v3.0

Objective-C 94.46% Makefile 0.36% Ruby 0.12% Rich Text Format 4.92% C 0.11% Shell 0.03%

xliffie's Introduction

Xliffie is a mac application for translating XLIFF files.

It's on App Store, but you can build it yourself if you don't want to pay.

How to build

  1. Get dependencies with cocoapods
  2. Rename APIKeys.sample.h to APIKeys.h, fill in your google translate / bing translate API keys.
  3. Build with Xcode

Screenshots

Format checking: Xliffie understands printf format string.

Search with regular expression

Open multiple files and switch between base langauges

Use Google/Bing translate to help your localization

xliffie's People

Contributors

b123400 avatar harrisong avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

xliffie's Issues

Xliffie adds an incorrect, empty type association for .xcloc and .xliff, causing other apps to fail to recognize the file types

The info plist specifies empty type identifiers for the .xcloc and .xliff file types, causing the UTI for those types to become a dynamic one when the app is installed.

xliffie-info-documents-screenshot

Below is an example of correct info plist entries (this is from our app).
Note the LSItemContentTypes and UTImportedTypeDeclarations. Without UTImportedTypeDeclarations, you re-declare the UTIs as your own.

	<key>CFBundleDocumentTypes</key>
	<array>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>xliff</string>
			</array>
			<key>CFBundleTypeMIMETypes</key>
			<array/>
			<key>CFBundleTypeName</key>
			<string>XLIFF</string>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
			<key>LSHandlerRank</key>
			<string>Default</string>
			<key>LSItemContentTypes</key>
			<array>
				<string>org.oasis-open.xliff</string>
			</array>
			<key>LSTypeIsPackage</key>
			<integer>0</integer>
			<key>NSDocumentClass</key>
			<string>$(PRODUCT_MODULE_NAME).DocumentClassNameHere</string>
		</dict>
                <dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>xcloc</string>
			</array>
			<key>CFBundleTypeName</key>
			<string>Xcode Localization Catalog</string>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
			<key>LSHandlerRank</key>
			<string>Default</string>
			<key>LSItemContentTypes</key>
			<array>
				<string>com.apple.xcode.xcloc</string>
			</array>
			<key>LSTypeIsPackage</key>
			<integer>0</integer>
			<key>NSDocumentClass</key>
			<string>$(PRODUCT_MODULE_NAME).DocumentClassNameHere</string>
		</dict>
	</array>
	<key>UTImportedTypeDeclarations</key>
	<array>
		<dict>
			<key>UTTypeConformsTo</key>
			<array>
				<string>public.xml</string>
			</array>
			<key>UTTypeDescription</key>
			<string>XML Localization Interchange File Format</string>
			<key>UTTypeIdentifier</key>
			<string>org.oasis-open.xliff</string>
			<key>UTTypeReferenceURL</key>
			<string>http://docs.oasis-open.org/xliff/xliff-core/xliff-core.html</string>
			<key>UTTypeTagSpecification</key>
			<dict>
				<key>public.filename-extension</key>
				<array>
					<string>xliff</string>
				</array>
			</dict>
		</dict>
		<dict>
			<key>UTTypeConformsTo</key>
			<array>
				<string>public.directory</string>
			</array>
			<key>UTTypeDescription</key>
			<string>Xcode Localization Catalog</string>
			<key>UTTypeIdentifier</key>
			<string>com.apple.xcode.xcloc</string>
			<key>UTTypeTagSpecification</key>
			<dict>
				<key>public.filename-extension</key>
				<array>
					<string>xcloc</string>
				</array>
			</dict>
		</dict>
	</array>

Filter by untranslated

Hi,

It would be nice to have filters for untranslated strings and translations with warnings which can be turned on/off in combination or separately.

Best regards,
Najdan Tomić

Failed to download 'BRLocaleMap'

'pod update' seems cannot download BRLocaleMap

any idea how to solve this problem?
Thanks

Pre-downloading: `BRLocaleMap` from `[email protected]:b123400/BRLocaleMap.git`, submodules `true`

[!] Error installing BRLocaleMap
[!] Failed to download 'BRLocaleMap'.

AppStore version crashes at startup.

The AppStore version crashes at startup. I emailed the crashlog with the stack trace.

I was eventually able to get this repo built and running after I messed around with the pod file and made a local podspec for FGTranslator. It isn't perfect but it works now.

Support .xcloc format

Xliffie should support Xcode's localisation format.

The old version of Xcode outputs .xliff files by their locale name in the same directory, something like /MyApp/de.xliff /MyApp/ja.xliff.

To support this folder structure, Xliffie has the following behaviours:

  1. You can open the outer directory (/MyApp in the above example), instead of just individual files. All the .xliff files inside the folder (recursively) will be opened.
  2. It associates multiple .xliff files into a single window if they are in the same directory
    • This allows user to "translate between target languages". For example:
      • /MyApp/de.xliff is en -> de
      • /MyApp/ja.xliff is en -> ja.
      • The translator can edit the files with de -> ja or ja -> de.

Combining both behaviours, you can expect when you open a folder with Xliffie, all the .xliff will be opened within a single window, and the translations are associated.


In the new version of Xcode, the output folder structure is changed:
desktop 2018-12-29 16-36-03

This issue is about:

  • Support opening the .xcloc folders, the behaviour should be the same as opening the inner .xliff file.
    • Double click on the folder should open Xliffie
  • Associate multiple .xcloc folders to the same window, just like how xliff files are associated
  • The app should still be able to support the old folder structure

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.