Skip to content

An easy generation Android i18ns string call Gradle plugin.

License

Notifications You must be signed in to change notification settings

BetterAndroid/FlexiLocale

Repository files navigation

Flexi Locale

GitHub license GitHub release Telegram Telegram QQ

LOGO

An easy generation Android i18ns string call Gradle plugin.

English | 简体中文

LOGO BetterAndroid

This project belongs to the above-mentioned organization, click the link above to follow this organization and discover more good projects.

What's this

This is a Gradle plugin for automatically generating i18ns string calling code functions for Android projects.

In Android projects, to use i18ns string, you need to define them in strings.xml and then call them using context.getString(R.string.xxx), which is very cumbersome and inflexible.

That's why this project was born.

With this plugin, you now only need to instantiate the AppLocale class generated by the plugin once, and then you can use it anywhere.

Traditional Style

val appName = context.getString(R.string.app_name)

Modern Style

val locale by lazy { AppLocale.attach(context) }
val appName = locale.appName

If you are still using Java, the writing method remains the same.

var locale = AppLocale.attach(context);
var appName = locale.getAppName();

Compatibility

The theory supports not very old Gradle, the recommended version is 7.x.x and above.

Android projects containing Kotlin plugins are supported, other types of projects are not supported yet.

Build Script Language

  • Kotlin DSL

It is recommended to use this language as the build script language first, which is also the language currently recommended by Gradle.

  • Groovy DSL

Some functions may be incompatible, support will be gradually dropped in the future, and some functions may become unavailable.

Get Started

Changelog

Promotion

Hey, please stay! 👋

Here are related projects such as Android development tools, UI design, Gradle plugins, Xposed Modules and practical software.

If the project below can help you, please give me a star!

All projects are free, open source, and follow the corresponding open source license agreement.

Star History

Star History Chart

License

Apache License Version 2.0

Copyright (C) 2019-2024 HighCapable

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

    https://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.

Copyright © 2019-2024 HighCapable