All Projects → imGurpreetSK → Stringer

imGurpreetSK / Stringer

Licence: apache-2.0
Generate Android & iOS localized strings from a csv.

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Stringer

Androidlocalizeplugin
🌏 Android localization plugin. support multiple languages, no need to apply for key.
Stars: ✭ 352 (+486.67%)
Mutual labels:  strings
Glue
Glue strings to data in R. Small, fast, dependency free interpreted string literals.
Stars: ✭ 512 (+753.33%)
Mutual labels:  strings
Cracking The Coding Interview
Solutions for Cracking the Coding Interview - 6th Edition
Stars: ✭ 35 (-41.67%)
Mutual labels:  strings
Cracking The Coding Interview
📚 C++ and Python solutions with automated tests for Cracking the Coding Interview 6th Edition.
Stars: ✭ 396 (+560%)
Mutual labels:  strings
Sweep
Fast and powerful Swift string scanning made simple
Stars: ✭ 485 (+708.33%)
Mutual labels:  strings
Chr
🔤 Lightweight R package for manipulating [string] characters
Stars: ✭ 18 (-70%)
Mutual labels:  strings
Data Structures Algorithms
My implementation of 85+ popular data structures and algorithms and interview questions in Python 3 and C++
Stars: ✭ 273 (+355%)
Mutual labels:  strings
Cello
A string library
Stars: ✭ 54 (-10%)
Mutual labels:  strings
Twine
String manipulation, leveled up!
Stars: ✭ 496 (+726.67%)
Mutual labels:  strings
Coding Ninjas Java Solutions
This will have solutions to all the problems that are included in Coding Ninja's 2020 Java Course. Star the repo if you like it.
Stars: ✭ 32 (-46.67%)
Mutual labels:  strings
Stringz
A lightweight and powerful editor for localizing iOS, macOS, tvOS, and watchOS applications.
Stars: ✭ 440 (+633.33%)
Mutual labels:  strings
Stringsifter
A machine learning tool that ranks strings based on their relevance for malware analysis.
Stars: ✭ 469 (+681.67%)
Mutual labels:  strings
Frosty
serialize native Nim types to strings, streams, or sockets ⛄
Stars: ✭ 25 (-58.33%)
Mutual labels:  strings
Stringr
A fresh approach to string manipulation in R
Stars: ✭ 397 (+561.67%)
Mutual labels:  strings
Pgo
Go library for PHP community with convenient functions
Stars: ✭ 51 (-15%)
Mutual labels:  strings
Interview Questions In Javascript
A mostly reasonable collection of technical software development interview questions solved in Javascript
Stars: ✭ 3,268 (+5346.67%)
Mutual labels:  strings
Xstrings
Implements string functions widely used in other languages but absent in Go.
Stars: ✭ 888 (+1380%)
Mutual labels:  strings
Simplebolt
🔩 Simple way to use the Bolt database
Stars: ✭ 58 (-3.33%)
Mutual labels:  strings
Golang Combinations
Golang library which provide an algorithm to generate all combinations out of a given string array.
Stars: ✭ 51 (-15%)
Mutual labels:  strings
Mightystring
Making Ruby Strings Powerful
Stars: ✭ 28 (-53.33%)
Mutual labels:  strings

Stringer

Create localised string files for Android and iOS from a single CSV file.

Android Weekly

Why?

As an application grows, maintaining the same product communication gets harder on multiple platforms. Stringer solves this problem by generating platform specific string files from a common CSV file. Currently, the generated files include strings.xml for Android and localizable.strings for iOS.

Working

Run kscript stringer.kt <Path to your csv file>.csv. Files will be generated in a directory named StringerThings on the same path.

See kscript for installation and more information.

OR

  1. Create the csv named mobile-strings.csv and place it in $homeDirectory/Downloads. The resulting file path should be $homeDirectory/Downloads/strings.csv (default path of a downloaded file).
  2. Execute main() function.
  3. The generated files are located in $homeDirectory/Desktop/StringerThings directory.

Features

See sample csv for format.

  1. Templating is supported: Any string between < and > will be replaced with %s for Android and %@ for iOS.
  2. Any line starting with # is treated as comment.
  3. A type and feature can be provided and resource key is generated accordingly for them. Eg: The generated key for no connection, No internet connection found, ERROR, user details will be error_user_details_no_connection.

Note: Ordering matters. CSVs must be ordered as KEY, VALUE, TYPE (optional), FEATURE NAME (optional)

License

Copyright 2019 Gurpreet Singh

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
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].