Created Contributing (markdown)

JHubi1 2024-08-01 10:31:13 +02:00
parent b81836d377
commit 143f08d399
1 changed files with 50 additions and 0 deletions

50
Contributing.md Normal file

@ -0,0 +1,50 @@
## Multilingual Interface
Ollama App does support multiple languages. Currently available are:
- [x] English (fallback)
- [x] German
- [ ] Chinese (simplified)
- [ ] Italian
- [ ] Turkish
The tick is set if the language is translated with 100%. This might not be up to date, check the project page to get the latest progress.
In case the language you're looking for isn't listed, you can check if the development is in progress on the [Crowdin project page](https://crowdin.com/project/ollama-app). If not, you can always contribute.
## Custom Builds
Now it's going to get interesting. The app is built in a way so you can easily create custom builds. Currently, there are these values that can be customized:
```
// use host or not, if false dialog is shown
const useHost = false;
// host of ollama, must be accessible from the client, without trailing slash, will always be accepted as valid
const fixedHost = "http://example.com:11434";
// use model or not, if false selector is shown
const useModel = false;
// model name as string, must be valid ollama model!
const fixedModel = "gemma";
// recommended models, shown with as star in model selector
const recommendedModels = ["gemma", "llama3"];
// allow opening of settings
const allowSettings = true;
// allow multiple chats
const allowMultipleChats = true;
```
They can be found at the top of `lib/main.dart`. `useHost` and `useModel` decide whether you want `fixedHost` and `fixedModel` to control anything. `fixedHost` and `fixedModel` decide about the value that has to be used. That can be practical in case you try to create an app specific to your instance.
`recommendedModels` is a list of models that will be listed as recommended in the [Model Selector](#model-selector). They are more like personal preferences. If empty, no model will be preferred.
`allowSettings` will disable the settings screen. But it will also disable the welcome dialog at first startup and the ability to rename chats.
`allowMultipleChats` simply removes the `New Chat` option in the [Side Menu](#side-menu). And will load up the only available chat on app startup.
### Actually Building
But how do you create a custom build?
First, follow [the Flutter installation guide](https://docs.flutter.dev/get-started/install) by selecting Android as the first app type. Then follow [these steps](https://docs.flutter.dev/deployment/android#signing-the-app) till you have your custom `key.properties`. Place it into the `android` folder at the root of the project.
Make sure dart is available as a command or added as the default program for `.dart`. Then execute `scripts/build.dart` and wait for it to finish processing. Then go to `build/.output`. There you'll find everything you need, the normal Android app and the experimental Windows build.